Los modelos de procesos o ciclos de vida son estructuras generales para la Ingeniería de Software que definen las actividades a realizar para crear un producto. Son una receta que define quién está haciendo qué, cuándo y cómo para alcanzar el objetivo definido.
Estos modelos especifican fases del proceso y un orden de ejecución, por lo que la elección del modelo a usar influye en la gestión del proyecto, según que tipo de Procesos de Control son.
Flujo del Proceso
- Lineal: ejecuta secuencialmente cada paso del proceso. Comunicación ⇒ Planificación ⇒ Modelado ⇒ Construcción ⇒ Despliegue.
- Iterativo: repite actividades antes de pasar a la siguiente.
- Evolutivo: ejecución “circular” que genera incrementos graduales.
- Paralelo: algunas actividades se ejecutan a la par.
Modelos Prescriptivos
Son propuestos para ordenar el caos del desarrollo.
- Modelo en cascada
- Modelo en V
- Modelo Incremental
- Modelo Evolutivo (o Iterativo) por prototipos o espiral
- Modelo Concurrente
Modelos Especializados
Tienden a aplicarse en un enfoque definido muy específicamente.
- Desarrollo Basado en Componentes
- Modelo de Métodos Formales: hace una especificación matemática con pruebas formales para el comportamiento del código. Se usa en sistemas críticos.
- Desarrollo Orientado a Aspectos: los aspectos son mecanismos para localizar la expresión de una preocupación global (según Grundy).