Modelos Evolutivos
Los modelos evolutivos son iterativos. Se caracterizan por la forma en
que permiten a los ingenieros del software desarrollar versiones cada vez mas
completas del software.
El software evoluciona con el tiempo. Los requisitos del usuario y del producto suelen cambiar conforme se desarrolla el mismo. Las fechas de mercado y la competencia hacen que no sea posible esperar a poner en el mercado un producto absolutamente completo, por lo que se aconsejable introducir una versión funcional limitada de alguna forma para aliviar las presiones competitivas.
El desarrollo evolutivo consta del desarrollo de una versión inicial que
luego de exponerse se va refinando de acuerdo de los comentarios o nuevos
requerimientos por parte del cliente o del usuario final. Las fases de
especificación, desarrollo y validación se entrelazan en vez de separarse.
Existen dos tipos de desarrollo evolutivo:
1. Desarrollo exploratorio, donde el objetivo del
proceso es trabajar con el cliente para explorar sus requerimientos y entregar
un sistema final. El desarrollo empieza con las partes del sistema que se
comprenden mejor. El sistema evoluciona agregando nuevos atributos propuestos por
el cliente.
2. Prototipos desechables, donde el objetivo del
proceso de desarrollo evolutivo es comprender los requerimientos del cliente y
entonces desarrollar una definición mejorada de los requerimientos para el
sistema. El prototipo se centra en experimentar con los requerimientos del
cliente que no se comprenden del todo.
Desde el punto de vista de desarrollo de sistema el enfoque evolutivo
suele traer más ventajas en comparación con un enfoque en cascada ya que el
sistema se va ajustando a las necesidades del cliente, a la vez que él mismo
entiende mejor sus propios requerimientos. Sin embargo el enfoque evolutivo
desde una perspectiva de ingeniería y gestión suele tener dos grandes
problemas:
1. El proceso no es visible. Los administradores
tienen que hacer entregas regulares para medir el progreso. Si los sistemas se
desarrollan rápidamente, no es rentable producir documentos que reflejen cada
versión del sistema.
2. A menudo los sistemas tienen una estructura deficiente. Los
cambios continuos tienden a corromper la estructura del software. Incorporar
cambios en él se convierte cada vez más en una tarea difícil y costosa.
Aunque supone grandes ventajas el desarrollo evolutivo solo es
recomendado para sistemas pequeños y medianos. En los sistemas grandes, los
constantes cambios en el desarrollo solo dificultan la estabilidad y la
integración de los avances de los distintos grupos de trabajo que puedan
existir. La mayoría de las empresas que desarrollan grandes sistemas usan un
modelo mixto que usa las mayores fortalezas de los enfoques evolutivos y de
cascada.
Link:http://cuartomodelo.blogspot.com/
No hay comentarios:
Publicar un comentario