Desarrollo evolutivo

La idea es desarrollar una implementacion inicial, tomar comentarios del usuario y refinarla a traves de las diferentes versiones hasta tener un sistema adecuado.

Ventajas

  • satisface las necesidades inmediatas del cliente
  • la especificacion se puede desarrollar de forma creciente
  • bueno para sistemas pequenios y de tamanio medio (hasta 500.000 lineas de codigo)

Desventajas

  • el proceso no es visible, es decir es dificil de medir su progreso pues hay que estar entregando versiones regularmente.
  • a menudo los sistemas tienen una estructura deficiente. Incorporar cambios se vuelve cada vez mas dificil y costoso

Modelo en cascada

Esta claramente dividido en etapas. Cada etapa debe ser totalmente completada para pasar a la siguiente. Las etapas son: definicion de requerimientos, disenio del sistema y del software, implementacion y prueba de unidades, integracion y prueba del sistema, funcionamiento y manteimiento.

Se utiliza cuando los requerimientos estan bien definidos y es dificil que cambien.

Ventajas

  • se generan documentos en cada fase
  • cuadra con otros modelos de procesos de ingenieria

Desventajas

  • puede ser que el sistema no haga realmente lo que los usuarios desean
  • puede llevar a sistemas mal estructurados pues muchos problemas de disenio se resuelven en implementacion
  • hace dificil responder a los cambios en requerimientos del cliente