Modelos de Desarrollo de Software: Incremental, Prototipo, Espiral, Romboidal y Pinball
Cada fase comienza cuando ha terminado la anterior. Para pasar de la 1.ª fase a otra es necesario conseguir todos los objetivos de la fase anterior.
Ayuda a prevenir que se sobrepasen la fecha de entrega y los costos.
Al final de cada fase, técnicos y usuarios tienen la oportunidad de revisar el proceso del proyecto.
Modelo incremental
- Se evitan proyectos largos y se entrega “algo de valor” a los usuarios con cierta frecuencia.
- El usuario se involucra más.
- Es difícil evaluar el costo total.
- Es difícil de aplicar a sistemas transaccionales, que tienden a ser integrados y a operar como un todo.
- Cualquier gestor puede experimentar.
- Los errores en los requisitos se detectan tarde.
- El resultado puede ser muy positivo.
Modelo de prototipo
- No modifica el flujo del ciclo de vida.
- Reduce el riesgo de construir productos que no satisfagan las necesidades de los usuarios.
- Reduce costos y aumenta la probabilidad de éxito.
- Exige disponer de las herramientas adecuadas.
- No presenta calidad ni robustez.
- Una vez identificados todos los requisitos mediante el prototipo, se construye el producto de ingeniería.
Modelo en espiral
- Trata de mejorar los ciclos de vida clásicos y los prototipos.
- Permite acomodar otros modelos.
- Incorpora objetivos de calidad y gestión de riesgos.
- Elimina errores y alternativas no atractivas al comienzo.
- Permite iteraciones, vuelta atrás y finalizaciones rápidas.
Cada ciclo empieza identificando:
- Los objetivos de la porción correspondiente.
- Las alternativas.
- Las restricciones.
Cada ciclo se completa con una revisión que incluye todo el ciclo anterior y el plan para el siguiente.
Modelo romboidal
- Amplitud: tamaño del desarrollo.
- Profundidad: nivel de abstracción o detalle.
- Madurez: grado de compleción, corrección y elegancia.
- Alternativas: diferentes soluciones a un mismo problema.
- Alcance: en cuanto a los atributos del sistema, ya que los requisitos cambian a lo largo del tiempo.
Modelo Pinball
- La pelota representa un proyecto completo o un subproyecto.
- El jugador es el equipo de desarrollo.
- Se procede de forma iterativa a encontrar clases y atributos, mensajes e interrelaciones, y a definir colaboraciones, herencia, agregación y subsistemas.
- Por último, se pasa a la programación, prueba e implementación.
- Hay dos estilos a la hora de “jugar”: seguro (tecnologías y métodos probados) y de mayor riesgo (más ventajas).