33
Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G.

Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Embed Size (px)

Citation preview

Page 1: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Modelos de Ciclo de Vida

Resumen

Ingeniería de Software Alfonso Vega G.

Page 2: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Actividades

Page 3: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Ciclo de Vida de un Sistema de Información

El desarrollo de sistemas es un proceso que consiste en dos etapas principales de análisis y diseño de sistemas; comienza cuando la gerencia, o en algunas ocasiones el personal de desarrollo de sistemas, se da cuenta de que cierto sistema del negocio necesita mejorarse.

El ciclo de vida del desarrollo de sistemas es el conjunto de actividades de los analistas, diseñadores y usuarios, que necesitan llevarse a cabo para desarrollar y poner en marcha un sistema de información.

Page 4: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Algunos Modelos de Ciclos de Vida

Modelo CascadaCiclo de Vida en VModelo IncrementalCiclo de Vida por PrototiposModelo EvolutivoCiclo de Vida en Espiral

Page 5: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Modelo en Cascada

Page 6: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Modelo en Cascada

Propuesto por Winston Royce el año 70. Admite iteraciones (no es estrictamente

lineal como se cree)Después de cada etapa se realiza una o

varias revisiones para poder pasar a la siguiente. Es un modelo rígido y con muchas restricciones.

Pero sirvió como base para muchos otros.

Page 7: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Ventajas Planificación sencilla Calidad del producto alta Permite trabajar con personal poco cualificado

Inconvenientes Necesidad de tener todos los requisitos al principio Es un modelo rígido y poco flexible. Si se han cometido errores en una fase es difícil volver

atrás No se dispone del producto hasta el final Síndrome del 90% Más lento y más costoso que los demás

Modelo en cascada

Page 8: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Modelo en Cascada

Tipos de proyecto para los que es adecuado

Los que se dispone de todas las especificaciones desde el principio

Se desarrolla un tipo de producto que no es novedoso

Proyectos complejos que se entienden bien desde el principio

Page 9: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Ciclo de Vida en V

Page 10: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Ciclo de Vida en V

Contiene las mismas etapas que el ciclo de vida cascada puro. A diferencia el Modelo V tiene dos subetapas adicionales de retroalimentación entre las etapas de análisis y mantenimiento, y entre las de diseño y debugging.

Ventajas:

• Se ofrece una mayor garantía de corrección al terminar el proyecto

• La relación entre las etapas de desarrollo y los distintos tipos de pruebas facilitan la localización de fallos • Es un modelo sencillo y de fácil aprendizaje • Hace explícito parte de la iteración y trabajo que hay que revisar

• Especifica bien los roles de los distintos tipos de pruebas a realizar • Involucra al usuario en las pruebas

Page 11: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Ciclo de Vida en V

Desventajas: • Las desventajas son similares a las del

modelo Cascada • Es difícil que el cliente exponga explícitamente todos los requisitos • El cliente debe tener paciencia pues obtendrá el producto al final del ciclo de vida • Las pruebas pueden ser caras y, a veces, no lo suficientemente efectivas • El producto final obtenido puede que no refleje todos los requisitos del usuario

Page 12: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Ciclo de Vida en V

UsosAplicaciones transaccionales de mediano

tamaño, donde se necesita un nivel de confiabilidad alta.

Ejemplo : Aplicaciones de Facturación

Page 13: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Modelo Incremental

Page 14: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Modelo Incremental

Es un modelo que desciende o deriva del modelo en cascada puro.

Se basa en construir incrementando las funcionalidades del programa

Se crean módulos que cumplen las diferentes funciones del sistema

Al final de cada Iteración se le entrega al cliente una versión mejorada o con mayores funcionalidades del producto.

Page 15: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Modelo Incremental

VENTAJAS. Construir un sistema pequeño es siempre menos riesgoso que construir un sistema

grande. Al ir desarrollando parte de las funcionalidades, es más fácil determinar si los

requerimientos planeados para los niveles subsiguientes son correctos. Si un error importante es realizado, sólo la última iteración necesita ser descartada y

utilizar el incremento previo. DESVENTAJAS. Se presupone que todos los requisitos se han definido al inicio. Se requiere de una experiencia importante para definir los incrementos de forma de

distribuir en ellos las tareas en forma proporcional Si el sistema a desarrollar es de gran magnitud y se cuenta con un único grupo para

construirlo se corre el riesgo que el desarrollo se prolongue demasiado en tiempo

Page 16: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Modelo Incremental

UsoNo esta pensado para cierto tipo de

aplicaciones sino que a cierto tipo de usuario o cliente. Se puede utilizar en casi cualquier proyecto, pero será muy útil cuando el usuario requiera entregas rápidas, aunque sean parciales.

Page 17: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Ciclo de Vida Evolutivo

Page 18: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Ciclo de Vida Evolutivo

Este modelo que los requerimientos del usuario pueden cambiar en cualquier momento.

Se afronta ese problema mediante una iteración de ciclos

requerimiento-desarrollo-evaluación.

Page 19: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Ciclo de Vida Evolutivo

Page 20: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Ciclo de Vida Evolutivo

Resulta muy útil cuando se desconoce la mayoría de los requerimientos iniciales.

Ejemplo Un sistema de Stock-Ventas-Facturación, en el cual hay muchas áreas que utilizarán la aplicación. Las posibles modificaciones de un área podrían afectar los requerimientos de otra; En ese caso se hace necesario que la aplicación evolucione hasta logarr las satisfacciones de todos los clientes

Cuando el usuario no necesita todas las funcionalidades desde el principio del proyecto

Proyectos de migración de arquitecturas.

Page 21: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Ciclo de Vida por Prototipos

Page 22: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Ciclo de Vida por Prototipos

El uso de prototipos no es exclusivo del modelo Iterativo. En la práctica los prototipos se utilizan para validar los requerimientos de los usuarios en cualquier ciclo de vida.

Nos permite suavizar la transición entre los requerimientos iniciales y finales que surgen en un proyecto con grandes innovaciones.

Page 23: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Ciclo de Vida por Prototipos

Si no se conoce exactamente las especificaciones de forma precisa, suele recurrirse a definir especificaciones iniciales para hacer un prototipo, es decir un producto parcial.

El objetivo es lograr un producto intermedio, antes de construir el definitivo

Es conveniente evaluar si vale la pena el esfuerzo antes de construir prototipos.

Page 24: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Ciclo de Vida por Prototipos

Ventajas Este modelo es útil cuando el cliente conoce los

objetivos generales para el software, pero no identifica los requisitos detallados de entrada, procesamiento o salida.

También ofrece un mejor enfoque cuando el responsable del desarrollo del software está inseguro de la eficacia de un algoritmo o de la adaptabilidad de un sistema operativo o de la forma que debería tomar la interacción humano-máquina.

Page 25: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Ciclo de Vida por Prototipos

DesventajasEs altamente costoso y difícil para la

administración temporal.

Page 26: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Ciclo de Vida por Prototipos

Uso: Se utiliza mayoritariamente en proyectos de

desarrollo con innovaciones importantes, o en el uso de tecnologías nuevas o poco probadas, en las que la incertidumbre impide iniciar un proyecto secuencial

Si deseamos migrar aplicaciones de tecnología para adoptar sus nuevas funcionalidades o simplemente estar entre los top-ten, este es un modelo ideal

Page 27: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Modelo en Espiral

Page 28: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Modelo en Espiral

Puede considerarse una variación del Modelo Prototipo

Se basa en una serie de ciclos repetitivos para ir ganando madurz en el producto final. Toma los beneficios de los modelos incremental y prototipos, pero se agrega el concepto de riesgo, dada la incertidumbre de requerimientos al inicio del proyecto o de los que surgen durante el desarrollo.

Page 29: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Modelo en Espiral

A medida que el ciclo se cumple, se van obteniendo prototipos sucesivos que van ganando la satisfacción del cliente o usuario.

Page 30: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Modelo en Espiral

Existen cuatro etapas básicasPlanificación (relevantar requerim).Análisis de Riesgo (en base al paso anterior,

decidimos si continuamos)Implementación (prototipo)Evaluación (cliente evalúa)

Page 31: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Modelo en Espiral

Ventajas No es necesaria definición completa de requisitos Desde el final de la primera iteración es más fácil validar los requisitos Riesgo es menor, porque sólo se arriesga la última iteración Riesgo de retrasos menor, de detectar los problemas temprano y da tiempo

a subsanarlos Inconvenientes Es difícil evaluar los riesgos Necesaria participación continua del cliente Al subcontratarlo hay que producir una especificación completa y eso lleva

tiempo Tipos de proyecto para los que es adecuado Grandes sistemas Proyectos donde es importante el factor riesgo Cuando no es posible definir todos los requisitos

Page 32: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Modelo en Espiral

UsoAplicaciones de Administración de

reclamos , pedidos e incidentes, dado que los sectores que utilizan el sistema son demasiados y con intereses muy diversos como para lograr un levantamiento exhaustivo y completo de requerimientos.

Page 33: Modelos de Ciclo de Vida Resumen Ingeniería de Software Alfonso Vega G

Ejercicios propuestos Utilizando los temas vistos:

Compare el Modelo de Ciclo de Vida en V con el Modelo Cascasda

Compare el Modelo de Ciclo de Vida Evolutivo con el Incremental. Indique cuando se utiliza cada uno, ventajas y desventajas