Ciclos de Vida
Introducción a la Ingeniería de Software
Dirección de Cátedra:
• Ing. Marcelo Dalceggio
Docentes:
• Ing. Oscar Schivo
Ayudantes:
• Ing. Marcelo Klein
• Ing. Diego Mansilla
• Ing. Silvia Montesanto
• Ing. Marcelo Zucchelli
1 Concepto
2 Modelos Existentes
3 Selección
4 Preguntas
– Su importancia:
• Existen muchos modelos de Ciclos de Vida pero la elección
del correcto nos puede ayudar a poner mas énfasis en:
– Mejorar la velocidad de desarrollo
– Mejorar la calidad
– Mejorar el seguimiento y control del proyecto
– Disminuir el riesgo
– Mejorar la relación con el cliente
• La peor opción es NO seleccionar un ciclo de vida !
• Cascada
• Flujo secuencial entre las fases
Análisis
Análisis
• Cada etapa tiene una entrada y
una salida
Diseño
Diseño
• Para comenzar con una etapa,
se debe haber finalizado la
Codificación anterior.
Codificación
• Es un modelo rígido, poco
Prueba flexible.
Prueba
• Sirvió de base para el resto de
Despliegue
Despliegue
los modelos de ciclo de vida.
• Es costoso volver a una etapa
anterior para corrección de
* Propuesto por Winston Royce en 1970 errores.
• Incremental
• Es un modelo ideal cuando el
usuario necesita entregas rápidas,
antes de que esté terminado todo
A A A
el proyecto.
A A A
• Hay dos enfoques:
D
D
D
D
D
D
• Realizar lo principal de cada parte del
sistema. En otra iteracción lo que
C
C
C
C
C
C sigue.
• Hacer una parte del sistema completa
P
P
P
P
P
P y luego en las otras iteracciones, las
otras partes.
Versión 1 Versión 2 Versión 3 • Una desventaja es no poder
Iteracción 1 Iteracción 2 Iteracción 3 identificar correctamente las
dependencias entre módulos que
no son claramente visibles al
comienzo del proyecto.
• Prototipos
• Este modelo permite completar
las especificación de
requerimientos, cuando esta es
Requerimientos
Requerimientos
Incompletos
Requerimientos
Requerimientos
Completos
incompleta al comienzo del
Incompletos Completos
proyecto.
• El objetivo es lograr un
Selección del Desarrollo del Evaluación del
Selección del
Prototipo
Prototipo
Desarrollo del
Prototipo
Prototipo
Evaluación del
Prototipo
Prototipo
producto intermedio, antes de
realizar el producto final, para
Subciclo del Prototipado conocer mediante el prototipo
como responderán las
funcionalidades previstas para
el producto final.
• Generalmente utilizado en
proyectos con grandes
innovaciones.
• Espiral
• El modelo consiste en una serie
de ciclos repetitivos orientados
a la gestión de los riesgos.
• Riesgos relacionados con
incertidumbres de los
requerimientos
proporcionados al principio
del proyecto.
• A medida que el ciclo se
cumple (avance del espiral) se
van obteniendo prototipos
sucesivos menor nivel de
incertidumbres (riesgos).
* Diseñado por Boehm en 1988
– Tener en cuenta:
• El overhead en temas de planning & tracking que pueden
tener algunos modelos.
• Las habilidades que se requieren (en algunos casos más y en
otras menos) para administrarlos.
• Lectura Obligatoria
– Rapid Development, Capitulo 7 : Life Cycle Planning
Steve McConnell, Microsoft Press