2. Este modelo, fue propuesto por Barry Bohem en 1988.
• Es un modelo de proceso de software evolutivo que
acompaña la naturaleza evolutiva de los aspectos
controlados y sistemáticos del ciclo de vida tradicional.
• Proporciona el potencial para el desarrollo rápido de
versiones incrementales del software.
En este modelo, el sistema se desarrolla en una serie de
versiones incrementales.
MODELO ESPIRAL
3. DESARROLLO DE SOFTWARE MEDIANTE
MODELO ESPIRAL
1. Determinar los Objetivos y Alternativas:
• Objetivos: Que necesidad debe cubrir el producto.
• Alternativas: Las diferentes formas de conseguir los objetivos de
forma exitosa, desde diferentes puntos de vista como pueden ser:
Características: experiencia del personal, requisitos
a cumplir, etc.
Formas de gestión del sistema.
Riesgo asumido con cada alternativa.
4. 2. Análisis del riesgo:
• Evaluar las diferentes alternativas que se plantean teniendo en cuenta
los objetivos a conseguir y las restricciones impuestas. Frecuentemente,
este paso identifica las áreas de incertidumbre del proyecto con sus
correspondientes riesgos.
• Si existen riesgos, lo siguiente es la formulación de una estrategia efectiva
en coste (utilizando prototipos, simulación, bancos de prueba,
cuestionario para los usuarios, modelización analítica o combinaciones
de éstas y otras técnicas de resolución de riesgos) para resolver dichos
riesgos.
DESARROLLO DE SOFTWARE MEDIANTE
MODELO ESPIRAL
5. 3. Planeación:
Se definen las tareas requeridas para definir factores críticos del
proyecto como son:
• Recursos
• Tiempo
• Información relacionada con el proyecto.
4. Desarrollar y Probar:
Tareas de la actividad propia y de prueba.
Análisis de alternativas e identificación resolución de riesgos.
Dependiendo del resultado de la evaluación de los riesgos, se elige un
modelo para el desarrollo, el que puede ser cualquiera de los otros
existentes, como formal, evolutivo, cascada, etc.
DESARROLLO DE SOFTWARE MEDIANTE
MODELO ESPIRAL
6. MODELO ESPIRAL
VENTAJAS DESVENTAJAS
Puede adaptarse y aplicarse a lo largo de la vida del
software de computadora.
Es un enfoque realista del desarrollo de sistemas y de
software a gran escala.
Como el software evoluciona, a medida que progresa el
proceso el desarrollador y el cliente comprenden y
reaccionan mejor ante riesgos en cada uno de los niveles
evolutivos.
Permite a quien lo desarrolla aplicar el enfoque de
construcción de prototipos en cualquier etapa de
evolución del producto.
Mantiene el enfoque sistemático de los pasos sugeridos
por el ciclo de vida clásico, pero lo incorpora al marco de
trabajo iterativo que refleja de forma más realista el
mundo real.
Demanda una consideración directa de los riesgos
técnicos en todas las etapas del proyecto, y, si se aplica
adecuadamente, debe reducir los riesgos antes de que se
conviertan en problemáticos.
Puede resultar difícil convencer a grandes clientes
(particularmente en situaciones bajo contrato) de que el
enfoque evolutivo es controlable.
Requiere una considerable habilidad para la evaluación
del riesgo.
No se ha utilizado tanto como los paradigmas lineales
secuenciales o de construcción de prototipos.
Es bastante costoso.
Requiere una cantidad de tiempo superior a otros ciclos
de vida.
Es complicado realizar una planificación global del
proyecto.