Los
evolutivos son modelos iterativos, permiten desarrollar versiones cada
vez más completas y complejas, hasta llegar al objetivo final deseado;
incluso evolucionar más allá, durante la fase de operación. Los modelos “Iterativo Incremental” y “Espiral” (entre otros) son dos de los más conocidos y utilizados del tipo evolutivo.
La
idea detrás de este modelo es el desarrollo de una implantación del
sistema inicial, exponerla a los comentarios del usuario, refinarla en N
versiones hasta que se desarrolle el sistema adecuado.Una
ventaja de este modelo es que se obtiene una rápida realimentación del
usuario, ya que las actividades de especificación, desarrollo y pruebas
se ejecutan en cada iteración.
Existen dos tipos de desarrollo evolutivo:
· Desarrollo
Exploratorio: El objetivo de este enfoque es explorar con el usuario
los requisitos hasta llegar a un sistema final. El desarrollo comienza
con las partes que se tiene más claras. El sistema evoluciona conforme
se añaden nuevas características propuestas por el usuario.
· Enfoque
utilizando prototipos: El objetivo es entender los requisitos del
usuario y trabajar para mejorar la calidad de los requisitos. A
diferencia del desarrollo exploratorio, se comienza por definir los
requisitos que no están claros para el usuario y se utiliza un prototipo
para experimentar con ellos. El prototipo ayuda a terminar de definir
estos requisitos.
VENTAJAS
· La especificación puede desarrollarse de forma creciente.
· Los
usuarios y desarrolladores logran un mejor entendimiento del sistema.
Esto se refleja en una mejora de la calidad del software.
· Es más efectivo que el modelo de cascada, ya que cumple con las necesidades inmediatas del cliente.
DESVENTAJAS
· Proceso
no Visible: Los administradores necesitan entregas para medir el
progreso. Si el sistema se necesita desarrollar rápido, no es efectivo
producir documentos que reflejen cada versión del sistema.
· Sistemas
pobremente estructurados: Los cambios continuos pueden ser
perjudiciales para la estructura del software haciendo costoso el
mantenimiento.
· Se
requieren técnicas y herramientas: Para el rápido desarrollo se
necesitan herramientas que pueden ser incompatibles con otras o que poca
gente sabe utilizar.
No hay comentarios:
Publicar un comentario