SlideShare una empresa de Scribd logo
PROBLEMAS EN EL DESARROLLO
DE SOFTWARE
PROBLEMAS EN EL DESARROLLO DE
SOFTWARE
El software distribuye el producto más
importante de nuestro tiempo:
 Manejo de Información
 Datos personales (Transacciones financieras)
 Administración de negocios
Cuando un sistema tiene éxito, la sofisticación y complejidad producen resultados
deslumbrantes, pero también plantean problemas enormes para aquellos que deben
construir sistemas complejos.
PROBLEMAS EN EL DESARROLLO DE
SOFTWARE
• ¿Por qué se requiere tanto tiempo para
terminar el software?
• ¿Por qué son tan altos los costos de
desarrollo?
• ¿Por qué no podemos detectar todos los
errores antes de entregar el software a
nuestros clientes?
• ¿Por qué dedicamos tanto tiempo y
esfuerzo a mantener los programas
existentes?
• ¿Por qué seguimos con dificultades para
medir el avance mientras se desarrolla y
mantiene el software?
1. El software se desarrolla o modifica con
intelecto; no se manufactura en el sentido
clásico.
2. A diferencia del hardware el software no
se “desgasta”.
3. Aunque la industria se mueve hacia la
construcción basada en componentes, la
mayor parte del software se construye
para un uso individualizado.
CARACTERÍSTICAS DEL SOFTWARE QUE
DIFIEREN DEL HARDWARE EN SU
DESARROLLO
LA ESENCIA DE LA SOLUCIÓN
DE PROBLEMAS
En un libro clásico, How to Solve It, escrito antes de que existieran las
computadoras modernas, George Polya [Pol45] describió la esencia de la solución
de problemas y, en consecuencia, la esencia de la práctica de la ingeniería de
software:
1. Entender el problema (comunicación y análisis).
2. Planear la solución (modelado y diseño del software).
3. Ejecutar el plan (generación del código).
4. Examinar la exactitud del resultado (probar y asegurar la calidad).
LA ESENCIA DE LA PRÁCTICA
EN EL PROBLEMA
Entender el problema.
- ¿Quiénes tienen que ver con la solución del
problema? Es decir, ¿quiénes son los
participantes?
- ¿Cuáles son las incógnitas? ¿Cuáles datos,
funciones y características se requieren
para resolver el problema en forma
apropiada?
- ¿Puede fraccionarse el problema? ¿Es
posible representarlo con problemas más
pequeños que sean más fáciles de entender?
- ¿Es posible representar gráficamente el
problema? ¿Puede crearse un modelo de
análisis?
LA ESENCIA DE LA PRÁCTICA
EN EL PROBLEMA
Planear la solución.
- ¿Ha visto antes problemas similares?
¿Hay patrones reconocibles en una
solución
potencial? ¿Hay algún software
existente que implemente los datos,
funciones y características que se
requieren?
- ¿Ha resuelto un problema similar? Si
es así, ¿son reutilizables los
elementos de la solución?
- ¿Pueden definirse problemas más
pequeños? Si así fuera, ¿hay
soluciones evidentes para esto?
LA ESENCIA DE LA PRÁCTICA
EN EL PROBLEMA
Ejecutar el plan.
El diseño que creó sirve como un mapa de
carreteras para el sistema que quiere construir.
Puede haber desviaciones inesperadas y es posible
que descubra un camino mejor a medida que
avanza, pero el “plan” le permitirá proceder sin
que se pierda.
- ¿Se ajusta la solución al plan? ¿El código
fuente puede apegarse al modelo del
diseño?
- ¿Es probable que cada parte componente de
la solución sea correcta? ¿El diseño y
código se han revisado o, mejor aún, se han
hecho pruebas respecto de la corrección
del algoritmo?
LA ESENCIA DE LA PRÁCTICA
EN EL PROBLEMA
Examinar el resultado.
No se puede estar seguro de que la solución sea perfecta,
pero sí de que se ha diseñado un número suficiente de
pruebas para descubrir tantos errores como sea posible.
- ¿Puede probarse cada parte componente de la solución?
¿Se ha implementado una estrategia razonable para
hacer pruebas?
- ¿La solución produce resultados que se apegan a los
datos, funciones y características que se requieren?
¿El software se ha validado contra todos los
requerimientos de los participantes?
LA ESENCIA DE LA PRÁCTICA
EN EL PROBLEMA
LA ESENCIA DE LA PRÁCTICA
EN EL PROBLEMA
GRUPO 5
- Kevin Dominguez
- Johan Lasso
- Fernando Matamoros
- Kleber Cagua
- Kayler Zuñiga
Tomado del libro “Ingeniería del software”
Roger S. Pressman, Ph.D.
University of Connecticut
7ma Edicion
Capitulo 1 (Pag 3 hasta Pag 21)

Más contenido relacionado

La actualidad más candente

Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico maryr_
 
25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software
Camila Arbelaez
 
7. Mantenimiento de Software
7. Mantenimiento de Software7. Mantenimiento de Software
7. Mantenimiento de Software
Mario A Moreno Rocha
 
Requerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesRequerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No Funcionales
Carlos Macallums
 
Arquitectura de software para aplicaciones móviles
Arquitectura de software para aplicaciones móvilesArquitectura de software para aplicaciones móviles
Arquitectura de software para aplicaciones móvilesSergio Castillo Yrizales
 
Requerimientos del software
Requerimientos del software Requerimientos del software
Requerimientos del software
Rosa Virginia Ortega Loaiza
 
IIS Unidad1: Introducción a la Ingeniería de Software
IIS Unidad1: Introducción a la Ingeniería de SoftwareIIS Unidad1: Introducción a la Ingeniería de Software
IIS Unidad1: Introducción a la Ingeniería de Software
Franklin Parrales Bravo
 
Arboles de derivacion
Arboles de derivacionArboles de derivacion
Arboles de derivacionLuis Couoh
 
Principios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwarePrincipios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del software
Jose Patricio Bovet Derpich
 
10.el diseño en el nivel de componentes
10.el diseño en el nivel de componentes10.el diseño en el nivel de componentes
10.el diseño en el nivel de componentes
Ramiro Estigarribia Canese
 
IDR Unidad 2: Elicitación de requerimientos
IDR Unidad 2: Elicitación de requerimientosIDR Unidad 2: Elicitación de requerimientos
IDR Unidad 2: Elicitación de requerimientos
Franklin Parrales Bravo
 
metodología crystal clear
 metodología crystal clear metodología crystal clear
metodología crystal clear
Jason José Martínez García
 
Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi Darthuz Kilates
 
Tabla comparativa- metodologías de desarrollo
Tabla comparativa-  metodologías de desarrolloTabla comparativa-  metodologías de desarrollo
Tabla comparativa- metodologías de desarrolloitsarellano
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftChuyito Alvarado
 
Tópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUITópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUI
José Antonio Sandoval Acosta
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
Cesar Prado
 
Modelamiento de software
Modelamiento de softwareModelamiento de software
Modelamiento de software
sairarcf
 

La actualidad más candente (20)

Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico
 
25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software
 
7. Mantenimiento de Software
7. Mantenimiento de Software7. Mantenimiento de Software
7. Mantenimiento de Software
 
Diagrama de casos de usos
Diagrama de casos de usosDiagrama de casos de usos
Diagrama de casos de usos
 
Requerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesRequerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No Funcionales
 
Arquitectura de software para aplicaciones móviles
Arquitectura de software para aplicaciones móvilesArquitectura de software para aplicaciones móviles
Arquitectura de software para aplicaciones móviles
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
 
Requerimientos del software
Requerimientos del software Requerimientos del software
Requerimientos del software
 
IIS Unidad1: Introducción a la Ingeniería de Software
IIS Unidad1: Introducción a la Ingeniería de SoftwareIIS Unidad1: Introducción a la Ingeniería de Software
IIS Unidad1: Introducción a la Ingeniería de Software
 
Arboles de derivacion
Arboles de derivacionArboles de derivacion
Arboles de derivacion
 
Principios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwarePrincipios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del software
 
10.el diseño en el nivel de componentes
10.el diseño en el nivel de componentes10.el diseño en el nivel de componentes
10.el diseño en el nivel de componentes
 
IDR Unidad 2: Elicitación de requerimientos
IDR Unidad 2: Elicitación de requerimientosIDR Unidad 2: Elicitación de requerimientos
IDR Unidad 2: Elicitación de requerimientos
 
metodología crystal clear
 metodología crystal clear metodología crystal clear
metodología crystal clear
 
Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi
 
Tabla comparativa- metodologías de desarrollo
Tabla comparativa-  metodologías de desarrolloTabla comparativa-  metodologías de desarrollo
Tabla comparativa- metodologías de desarrollo
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
 
Tópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUITópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUI
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
 
Modelamiento de software
Modelamiento de softwareModelamiento de software
Modelamiento de software
 

Similar a Problemas en el desarrollo de software

CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdfCarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
ssuser7ccf16
 
Ingeniería de software
Ingeniería de software Ingeniería de software
Ingeniería de software
Juan camilo Vargas Navarro
 
introducción ingeniería de software
introducción  ingeniería de  softwareintroducción  ingeniería de  software
introducción ingeniería de software
Carlos Anibal Riascos Hurtado
 
Presentacion de ingenieria
Presentacion de ingenieriaPresentacion de ingenieria
Presentacion de ingenieriaAlexander Cruz
 
Diapositivas guia 1 de software.melissa burgos
Diapositivas guia 1 de software.melissa burgosDiapositivas guia 1 de software.melissa burgos
Diapositivas guia 1 de software.melissa burgosMelissa Burgos
 
Pracicas de Ingenieria de Software
Pracicas de Ingenieria de SoftwarePracicas de Ingenieria de Software
Pracicas de Ingenieria de Softwareeeencalada
 
Mariajosehernandezcardenas 233101 9_agosto
Mariajosehernandezcardenas 233101 9_agostoMariajosehernandezcardenas 233101 9_agosto
Mariajosehernandezcardenas 233101 9_agosto
MariaJoshernandezcar
 
Tecnicas en ing.de software
Tecnicas en ing.de softwareTecnicas en ing.de software
Tecnicas en ing.de softwarestephanierivas
 
SeccióN De TéCnicas De IngenieríA De Software(2007)
SeccióN De TéCnicas  De IngenieríA De Software(2007)SeccióN De TéCnicas  De IngenieríA De Software(2007)
SeccióN De TéCnicas De IngenieríA De Software(2007)
denny osael lopez medina
 
Conceptos
ConceptosConceptos
Conceptos
Sonia Elizabeth
 
software
softwaresoftware
software
alkosto
 
Diapositivas-Ing-SW-napa
Diapositivas-Ing-SW-napaDiapositivas-Ing-SW-napa
Diapositivas-Ing-SW-napa
Antonio Navarrete Prieto
 
Trabajo diapositiva Software por Jhonatan Ruiz
Trabajo diapositiva  Software por Jhonatan RuizTrabajo diapositiva  Software por Jhonatan Ruiz
Trabajo diapositiva Software por Jhonatan Ruiz
jhonatanalex
 
Trabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanTrabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatan
jhonatanalex
 
UNIDAD_I.ppt
UNIDAD_I.pptUNIDAD_I.ppt
UNIDAD_I.ppt
GermnAurelioOrtizBal
 
Introducción a la Ingeniria del Software
Introducción a la Ingeniria del SoftwareIntroducción a la Ingeniria del Software
Introducción a la Ingeniria del Software
Edit Lopez Veloz
 
Presentación Sesión 1 Ingeniería del Software.pptx
Presentación Sesión 1 Ingeniería del Software.pptxPresentación Sesión 1 Ingeniería del Software.pptx
Presentación Sesión 1 Ingeniería del Software.pptx
AderMogollonLuna
 

Similar a Problemas en el desarrollo de software (20)

CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdfCarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
 
Ingeniería de software
Ingeniería de software Ingeniería de software
Ingeniería de software
 
introducción ingeniería de software
introducción  ingeniería de  softwareintroducción  ingeniería de  software
introducción ingeniería de software
 
Presentacion de ingenieria
Presentacion de ingenieriaPresentacion de ingenieria
Presentacion de ingenieria
 
Diapositivas guia 1 de software.melissa burgos
Diapositivas guia 1 de software.melissa burgosDiapositivas guia 1 de software.melissa burgos
Diapositivas guia 1 de software.melissa burgos
 
Pracicas de Ingenieria de Software
Pracicas de Ingenieria de SoftwarePracicas de Ingenieria de Software
Pracicas de Ingenieria de Software
 
Mariajosehernandezcardenas 233101 9_agosto
Mariajosehernandezcardenas 233101 9_agostoMariajosehernandezcardenas 233101 9_agosto
Mariajosehernandezcardenas 233101 9_agosto
 
Diapoesatx
DiapoesatxDiapoesatx
Diapoesatx
 
Diapox
DiapoxDiapox
Diapox
 
Diapox
DiapoxDiapox
Diapox
 
Tecnicas en ing.de software
Tecnicas en ing.de softwareTecnicas en ing.de software
Tecnicas en ing.de software
 
SeccióN De TéCnicas De IngenieríA De Software(2007)
SeccióN De TéCnicas  De IngenieríA De Software(2007)SeccióN De TéCnicas  De IngenieríA De Software(2007)
SeccióN De TéCnicas De IngenieríA De Software(2007)
 
Conceptos
ConceptosConceptos
Conceptos
 
software
softwaresoftware
software
 
Diapositivas-Ing-SW-napa
Diapositivas-Ing-SW-napaDiapositivas-Ing-SW-napa
Diapositivas-Ing-SW-napa
 
Trabajo diapositiva Software por Jhonatan Ruiz
Trabajo diapositiva  Software por Jhonatan RuizTrabajo diapositiva  Software por Jhonatan Ruiz
Trabajo diapositiva Software por Jhonatan Ruiz
 
Trabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanTrabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatan
 
UNIDAD_I.ppt
UNIDAD_I.pptUNIDAD_I.ppt
UNIDAD_I.ppt
 
Introducción a la Ingeniria del Software
Introducción a la Ingeniria del SoftwareIntroducción a la Ingeniria del Software
Introducción a la Ingeniria del Software
 
Presentación Sesión 1 Ingeniería del Software.pptx
Presentación Sesión 1 Ingeniería del Software.pptxPresentación Sesión 1 Ingeniería del Software.pptx
Presentación Sesión 1 Ingeniería del Software.pptx
 

Último

CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
nicromante2000
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
Ecaresoft Inc.
 
trabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxtrabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docx
lasocharfuelan123
 
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA  DE TRABAJO DE CREACION DE TABLAS EN WORDFICHA  DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
RobertSotilLujn
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
juanorejuela499
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
juanjosebarreiro704
 
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
cuentauniversidad34
 
Los desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsLos desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMs
Federico Toledo
 
infografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de softwareinfografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de software
oscartorres960914
 

Último (10)

CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 
trabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxtrabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docx
 
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA  DE TRABAJO DE CREACION DE TABLAS EN WORDFICHA  DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
 
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
 
Los desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsLos desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMs
 
infografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de softwareinfografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de software
 

Problemas en el desarrollo de software

  • 1. PROBLEMAS EN EL DESARROLLO DE SOFTWARE
  • 2. PROBLEMAS EN EL DESARROLLO DE SOFTWARE El software distribuye el producto más importante de nuestro tiempo:  Manejo de Información  Datos personales (Transacciones financieras)  Administración de negocios Cuando un sistema tiene éxito, la sofisticación y complejidad producen resultados deslumbrantes, pero también plantean problemas enormes para aquellos que deben construir sistemas complejos.
  • 3. PROBLEMAS EN EL DESARROLLO DE SOFTWARE • ¿Por qué se requiere tanto tiempo para terminar el software? • ¿Por qué son tan altos los costos de desarrollo? • ¿Por qué no podemos detectar todos los errores antes de entregar el software a nuestros clientes? • ¿Por qué dedicamos tanto tiempo y esfuerzo a mantener los programas existentes? • ¿Por qué seguimos con dificultades para medir el avance mientras se desarrolla y mantiene el software?
  • 4. 1. El software se desarrolla o modifica con intelecto; no se manufactura en el sentido clásico. 2. A diferencia del hardware el software no se “desgasta”. 3. Aunque la industria se mueve hacia la construcción basada en componentes, la mayor parte del software se construye para un uso individualizado. CARACTERÍSTICAS DEL SOFTWARE QUE DIFIEREN DEL HARDWARE EN SU DESARROLLO
  • 5. LA ESENCIA DE LA SOLUCIÓN DE PROBLEMAS En un libro clásico, How to Solve It, escrito antes de que existieran las computadoras modernas, George Polya [Pol45] describió la esencia de la solución de problemas y, en consecuencia, la esencia de la práctica de la ingeniería de software: 1. Entender el problema (comunicación y análisis). 2. Planear la solución (modelado y diseño del software). 3. Ejecutar el plan (generación del código). 4. Examinar la exactitud del resultado (probar y asegurar la calidad).
  • 6. LA ESENCIA DE LA PRÁCTICA EN EL PROBLEMA
  • 7. Entender el problema. - ¿Quiénes tienen que ver con la solución del problema? Es decir, ¿quiénes son los participantes? - ¿Cuáles son las incógnitas? ¿Cuáles datos, funciones y características se requieren para resolver el problema en forma apropiada? - ¿Puede fraccionarse el problema? ¿Es posible representarlo con problemas más pequeños que sean más fáciles de entender? - ¿Es posible representar gráficamente el problema? ¿Puede crearse un modelo de análisis? LA ESENCIA DE LA PRÁCTICA EN EL PROBLEMA
  • 8. Planear la solución. - ¿Ha visto antes problemas similares? ¿Hay patrones reconocibles en una solución potencial? ¿Hay algún software existente que implemente los datos, funciones y características que se requieren? - ¿Ha resuelto un problema similar? Si es así, ¿son reutilizables los elementos de la solución? - ¿Pueden definirse problemas más pequeños? Si así fuera, ¿hay soluciones evidentes para esto? LA ESENCIA DE LA PRÁCTICA EN EL PROBLEMA
  • 9. Ejecutar el plan. El diseño que creó sirve como un mapa de carreteras para el sistema que quiere construir. Puede haber desviaciones inesperadas y es posible que descubra un camino mejor a medida que avanza, pero el “plan” le permitirá proceder sin que se pierda. - ¿Se ajusta la solución al plan? ¿El código fuente puede apegarse al modelo del diseño? - ¿Es probable que cada parte componente de la solución sea correcta? ¿El diseño y código se han revisado o, mejor aún, se han hecho pruebas respecto de la corrección del algoritmo? LA ESENCIA DE LA PRÁCTICA EN EL PROBLEMA
  • 10. Examinar el resultado. No se puede estar seguro de que la solución sea perfecta, pero sí de que se ha diseñado un número suficiente de pruebas para descubrir tantos errores como sea posible. - ¿Puede probarse cada parte componente de la solución? ¿Se ha implementado una estrategia razonable para hacer pruebas? - ¿La solución produce resultados que se apegan a los datos, funciones y características que se requieren? ¿El software se ha validado contra todos los requerimientos de los participantes? LA ESENCIA DE LA PRÁCTICA EN EL PROBLEMA
  • 11. LA ESENCIA DE LA PRÁCTICA EN EL PROBLEMA
  • 12. GRUPO 5 - Kevin Dominguez - Johan Lasso - Fernando Matamoros - Kleber Cagua - Kayler Zuñiga Tomado del libro “Ingeniería del software” Roger S. Pressman, Ph.D. University of Connecticut 7ma Edicion Capitulo 1 (Pag 3 hasta Pag 21)