jueves, 10 de diciembre de 2015

MODELO EVOLUTIVO

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 Nuevas versiones hasta que se desarrolle el sistema adecuado.Una ventaja de este modelo es que se obtiene una rápida re alimentació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 des arrolladores 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