lunes, 18 de abril de 2011

MODELO DE DESARROLLO EVOLUTIVO

Como el modelo de desarrollo incremental, el modelo de desarrollo evolutivo (algunas veces denominado como prototipado evolutivo) construye una serie de grandes versiones sucesivas de un producto. Sin embargo, mientras que la aproximación incremental presupone que el conjunto completo de requerimientos es conocido al comenzar, el modelo evolutivo asume que los requerimientos no son completamente conocidos al inicio del proyecto.

En el modelo evolutivo, los requerimientos son cuidadosamente examinados, y sólo esos que son bien comprendidos son seleccionados para el primer incremento. Los desarrolladores construyen una implementación parcial del sistema que recibe sólo estos requerimientos.

El sistema es entonces desarrollado, los usuarios lo usan, y proveen retroalimentación a los desarrolladores. Basada en esta retroalimentación, la especificación de requerimientos es actualizada, y una segunda versión del producto es desarrollada y desplegada. El proceso se repite indefinidamente.

Note que el desarrollo evolutivo es 100% compatible con el modelo cascada. El desarrollo evolutivo no demanda una forma específica de observar el desarrollo de algún incremento. Así, el modelo cascada puede ser usado para administrar cada esfuerzo de desarrollo. Obviamente, el desarrollo incremental y evolutivo puede ser combinado también.

Todo lo que uno tiene que hacer es construir un subconjunto de requerimientos conocidos (incremental), y comprender al principio que muchos nuevos requerimientos es probable que aparezcan cuando el sistema sea desplegado o desarrollado.

El desarrollo de software en forma evolutiva requiere un especial cuidado en la manipulación de documentos, programas, datos de test, etc. desarrollados para distintas versiones del software. Cada paso debe ser registrado, la documentación debe ser recuperada con facilidad, los cambios deben ser efectuados de una manera controlada.

CICLO DE VIDA DE UN MODELO PROTOTIPADO

Antes de definir y detallar los conceptos más importantes que hacen referencia al diseño conceptual y detallado es importante resaltar que éstos hacen parte de un complejo proceso, que en últimas nos permitirá la implementación de un sistema de información en una compañía, por tanto hay que enmarcarlos dentro de ese proceso.

Dentro del marco teórico que se ha desarrollado en cuanto a diseño de sistemas de información se manejan dos enfoques principalmente: el enfoque de la elaboración de prototipos y el enfoque del ciclo de vida de los sistemas.

Una definición de prototipo, versión operativa preliminar de un sistema de información para fines de demostración y evaluación”. Como su definición lo indica el prototipo es una versión preliminar, el objetivo es mejorarla con el paso del tiempo hasta que se acomode a las necesidades de los usuarios, por medio de un proceso iterativo que consiste en probar y afinar constantemente el prototipo hasta que cumpla su objetivo.

Clases de Prototipos

Cuatro clases de prototipos:

1.       Prototipos de remiendo: Sistema que cumple con sus funciones pero se encuentra remendado o parchado, puede operar pero generalmente es ineficiente.

2.       Modelo a escala no funcional: Son modelos que son construidos a escala, por lo general más pequeños, que permiten evaluar ciertos aspectos de diseño, pero que no son funcionales en la realidad.

3.       Modelo a escala completa: Se trata de un modelo “piloto”. Se trata de un modelo real que servirá como referencia a futuras versiones que de él se hagan. Un ejemplo es el de un sistema de información que una gran cadena de almacenes quiera establecer, éste seguramente será probado en un almacén para que desde allí pueda ser mejorado y luego implementado en otras tiendas.

4.       Modelo con ciertas características esenciales: Es un sistema funcional que incluye algunas características de las que tendrá el sistema final y que se completará a medida que pase el tiempo y las necesidades así lo requieran.

Etapas de la Elaboración de Prototipos

El proceso iterativo se puede resumir en cuatro pasos:

Identificar requerimientos básicos del usuario
Desarrollar prototipo inicial
Usar el prototipo
Revisión y mejora del prototipo