Вы находитесь на странице: 1из 8

Taller de ingeniería de Software

Trabajo n°1 – Método Evolutivo

Taller de ingeniería de Software


Trabajo N°1 - Modelo Evolutivo

Alumnos

Fabiola Muñoz

Alvaro Martinez

Jose Marchant

Benjamín Galaz

Profesor

Felipe Radwell

Santiago de Chile, 12 de abril de 2020

1
Taller de ingeniería de Software
Trabajo n°1 – Método Evolutivo

Contenido
INTRODUCCION..................................................................................................................................4
MODELO EVOLUTIVO.........................................................................................................................5
CONCLUSIÓN......................................................................................................................................8
REFERENCIAS......................................................................................................................................9

2
Taller de ingeniería de Software
Trabajo n°1 – Método Evolutivo

INTRODUCCION
El desarrollo de software aplicando una metodología tradicional de ciclo de vida, nace de la
necesidad de desarrollar sistemas de negocio a gran escala en un mundo con un crecimiento
exponencial de grandes empresas y conglomerados en la década de los 60. Esto permitió
implementar sistemas de información de forma estructurada y metódica, lo en ese momento
resultó útil dado que el desarrollo de software necesitaba formalizarse y tener un modelo estándar
sobre el cual trabajar. Esto se mantuvo prácticamente sin variaciones (con apariciones puntuales
de algunas en los años 80 que surgen de instituciones académicas) hasta los años 90-2000, donde
irrumpen una serie de nuevas metodologías que presentan diferencias significativas con los
modelos de trabajo existentes, que implican nuevas formas de pensar el desarrollo de software,
con el objetivo de buscar soluciones a los problemas que se repiten con frecuencia en los
desarrollos hasta la fecha (retrasos, altos costos, entre otros), y en la búsqueda de una mayor
satisfacción del usuario con el producto que está recibiendo. Entre estos nuevos modelos, aparece
el modelo evolutivo, el que este documento tratará de explicar, mostrando tanto sus aspectos
positivos como negativos, y en qué casos se recomienda aplicar dadas sus características.

3
Taller de ingeniería de Software
Trabajo n°1 – Método Evolutivo

MODELO EVOLUTIVO
El modelo evolutivo consta del desarrollo de una versión inicial, el que luego de exponerse va
mejorando de acuerdo con las observaciones, fallas o nuevos requerimientos que realice el cliente
o del usuario final.

Sus fases, a diferencia de otros métodos constan de solo 3 etapas, las cuales pueden entrelazarse
en algunos momentos del desarrollo. Las fases son:

 Especificación
 Desarrollo
 Validación

Existen dos tipos de desarrollo evolutivo:

 Desarrollo exploratorio, tiene como objetivo trabajar con el cliente en los requerimiento y
necesidades para la entrega de un sistema final. Por ende, el desarrollo inicia con las
partes que están mejor identificadas y definidas, a las cuales se le van agregando nuevas
funcionalidades mediante se vaya realizando un mejor entendimiento de los demás
requerimientos.

 Prototipos desechables, tiene como objetivo comprender los requerimientos y


necesidades entregadas por el cliente, desarrollarla y entregarla al usuario. De lo
comentarios, observaciones y/o errores se obtiene nuevo conocimiento para hacer una
nueva versión del sistema para nuevamente entregarlo al usuario. Este tipo de desarrollo
se centra en experimentar con los requerimientos del cliente, los cuales aún no se
comprenden del todo.

A simple vista, el modelo evolutivo tiene una serie de ventajas respecto a enfoques como cascada,
debido a que el sistema se va ajustando a las necesidades que van surgiendo de la experiencia que
el cliente tiene con las entregas realizadas y a la vez hacerlo ver que sus requerimientos pueden
estar incompletos al momento inicial de definirlos.

Como hemos ya mencionado, el modelo evolutivo, permite desarrollar versiones cada vez más
complejas a nivel de negocio y completas a nivel de requerimiento hasta llegar al sistema final.
Este comienza con una implementación inicial, la cual, al ser expuesta a comentarios del cliente y
el usuario, tendrá que afinarse una serie de veces (versión) hasta llegar al sistema más adecuando
para el cliente. Esto se logra gracias a la ventaja de tener una rápida retroalimentación del usuario,
ya que tiene la posibilidad de comenzar a trabajar con el sistema al poco tiempo de haber
comenzado el desarrollo.

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.

4
Taller de ingeniería de Software
Trabajo n°1 – Método Evolutivo

 Es más efectivo que el modelo de cascada, ya que cumple con las necesidades inmediatas
del cliente.

DESVENTAJAS

 Proceso no visible: El cliente necesita 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.

Los modelos “Iterativo Incremental” y “Espiral” (entre otros) son dos de los más conocidos y
utilizados del tipo evolutivo.

Modelo Iterativo Incremental: En este modelo, el proyecto se planifica en diversos bloques


temporales (en el caso de Scrum de un mes natural o hasta de dos semanas, si así se necesita)
llamados iteraciones. Las iteraciones se pueden entender como mini proyectos: en todas las
iteraciones se repite un proceso de trabajo similar (de ahí el nombre “iterativo”) para proporcionar
un resultado completo sobre producto final, de manera que el cliente pueda obtener los
beneficios del proyecto de forma incremental. Para ello, cada requisito se debe completar en una
única iteración: el equipo debe realizar todas las tareas necesarias para completarlo (incluyendo
pruebas y documentación) y que esté preparado para ser entregado al cliente con el mínimo
esfuerzo necesario. De esta manera no se deja para el final del proyecto ninguna actividad
arriesgada relacionada con la entrega de requisitos.

En cada iteración el equipo evoluciona el producto (hace una entrega incremental) a partir de los
resultados completados en las iteraciones anteriores, añadiendo nuevos objetivos/requisitos o
mejorando los que ya fueron completados. Un aspecto fundamental para guiar el desarrollo
iterativo e incremental es la priorización de los objetivos/requisitos en función del valor que
aportan al cliente.

5
Taller de ingeniería de Software
Trabajo n°1 – Método Evolutivo

Modelo Espiral: Es un modelo de desarrollo evolutivo propuesto por Barry Boehm, que utiliza
prototipos como apoyo. La forma de espiral representa una interacción (repetición) de procesos
que, a medida que se van entregando prototipos y éstos son revisados por los clientes o usuarios
finales, el tiempo empleado para desarrollar la próxima versión es cada vez mayor. Cada división
recibe el nombre de región de tareas.

Sin embargo, el modelo espiral representa ventajas por sobre el desarrollo lineal, el cálculo de los
riesgos puede ser muy complicado y no es tan usado en la realidad.

6
Taller de ingeniería de Software
Trabajo n°1 – Método Evolutivo

CONCLUSIÓN
Aunque supone en general grandes ventajas de cara al usuario, 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.

7
Taller de ingeniería de Software
Trabajo n°1 – Método Evolutivo

REFERENCIAS
https://proyectosagiles.org/desarrollo-iterativo-incremental/

https://parasitovirtual.wordpress.com/tag/desarrollo-evolutivo/

https://sites.google.com/site/is11801/contenido/modelos-de-proceso-evolutivo

Вам также может понравиться