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).