Documentos de Académico
Documentos de Profesional
Documentos de Cultura
4 - Modelos de Desarrollo de SI
4 - Modelos de Desarrollo de SI
Ciclos de Vida
• Los sistemas no responden a las expectativas
de los usuarios.
• Los programas “se caen” con cierta frecuencia.
• Los costos del software son difíciles de prever
y normalmente superan las estimaciones
propuestas con anterioridad.
• La modificación del software es una tarea
difícil y costosa.
Casi siempre se debe aplicar un modelo de ciclo de vida. Según varias
fuentes consultadas se estima que, del total de proyectos software
grandes emprendidos, un 28% fracasan, un 46% caen en severas
modificaciones que lo retrasan y un 26% son totalmente exitosos.
• Así, los modelos por una parte proveen una guía a los ingenieros de
software con el fin de establecer las diversas actividades técnicas en el
proyecto, por otra parte suministran un marco para la administración
del desarrollo y el mantenimiento del software.
Modelo de Cascada
• Este es el más básico de todos los modelos y
ha servido como bloque de construcción para
los demás paradigmas de ciclo de vida. Está
basado en el ciclo convencional de una
ingeniería y su visión es muy simple: el
desarrollo de software se debe realizar
siguiendo una secuencia de fases. Cada etapa
tiene un conjunto de metas bien definidas y
las actividades.
Modelo de Cascada
El arquetipo del ciclo de vida abarca las siguientes actividades:
• Ingeniería y Análisis del Sistema: Debido a que el software es siempre parte de un
sistema mayor, el trabajo comienza estableciendo los requisitos de todos los elementos
del sistema y luego asignando algún subconjunto de estos requisitos al software.
• Análisis de los requisitos del software: el proceso de recopilación de los requisitos se
centra e intensifica especialmente en el software. El analista debe comprender el
ámbito de la información del software así como la función, el rendimiento y las
interfaces requeridas.
• Diseño: el diseño del software se enfoca en cuatro atributos distintos del programa; la
estructura de los datos, la arquitectura del software, el detalle procedimental y la
caracterización de la interfaz. El proceso de diseño traduce los requisitos en una
representación del software con la calidad requerida antes de que comience la
codificación.
• Codificación: el diseño debe traducirse en una forma legible para la maquina.
• Prueba: una vez que se ha generado el código comienza la prueba del programa. La
prueba se centra en la lógica interna del software y en las funciones externas,
realizando pruebas que aseguren que la entrada definida produce los resultados que
realmente se requieren.
• Mantenimiento: el software sufrirá cambios después de que se entrega al cliente. Los
cambios ocurrirán debidos a que se haya encontrado errores, a que el software deba
adaptarse a cambios del entorno externo (sistema operativo o dispositivos periféricos)
o a que el cliente requiera ampliaciones funcionales o del rendimiento.
Modelo de Cascada
• En el modelo vemos una ventaja evidente y radica en su sencillez, ya que sigue los pasos
intuitivos necesarios a la hora de desarrollar el software.
• Tiene una buena aplicación cuando el problema es estable . Este modelo será apropiado para la
migración de una aplicación o a una versión de mantenimiento bien definida.
• Con este modelo se tiene un seguimiento de todas las fases del proyecto y del cumplimiento de
todos los objetivos marcados en cada etapa tanto de costos, fechas de entrega y lo más
importante que pueden comprobar al final de cada etapa si el proyecto cumple todas las
necesidades del usuario.
Pero el modelo se aplica en un contexto, así que debemos atender también a él y saber
que:
• Los proyectos reales raramente siguen el flujo secuencial que propone el modelo. Siempre hay
iteraciones y se crean problemas en la aplicación del paradigma.
• Normalmente, al principio, es difícil para el cliente establecer todos los requisitos
explícitamente. El ciclo de vida clásico lo requiere y tiene dificultades en acomodar posibles
incertidumbres que pueden existir al comienzo de muchos productos.
• El cliente debe tener paciencia. Hasta llegar a las etapas finales del proyecto no estará disponible
una versión operativa del programa. Un error importante que no pueda ser detectado hasta que
el programa esté funcionando,
• A su vez, si el usuario se da cuenta de que falta una tarea, una vez pasada esta etapa, el trabajo
que hay que realizar se retrasa en fechas de entrega y el costo es mayor.
•
Modelo de Prototipos
Este fue el modelo inicial planteado para
organizar el proceso de desarrollo, aunque
antiguo tiene vigencia en algunos proyectos o
como parte de otros modelos, da la medida de
los pasos tradicionales de cualquier modelo:
análisis, diseño, codificación, prueba y
mantenimiento.
Modelo de Prototipos
• El prototipo se construye en poco tiempo, usando
los programas adecuados y no se debe utilizar
muchos recursos.
• El diseño rápido se centra en una representación
de aquellos aspectos del software que serán
visibles para el cliente o el usuario final. Este
diseño conduce a la construcción de un
prototipo, el cual es evaluado por el cliente para
una retroalimentación del software que se
desarrollará.
Modelo de Prototipos: Etapas
• Plan rápido.
• Modelado, diseño rápido
• Construcción del Prototipo
• Desarrollo, entrega y retroalimentación
• Comunicación
• Entrega del desarrollo final
Modelo de Prototipos
• Este modelo es útil cuando el cliente conoce los objetivos generales para
el software, pero no identifica los requisitos detallados de entrada,
procesamiento o salida.
• También ofrece un mejor enfoque cuando el responsable del desarrollo
del software está inseguro de la eficacia de un algoritmo, de la
adaptabilidad de un sistema operativo o de la forma que debería tomar la
interacción humano-máquina.
• Se puede reutilizar el código.