presentacion ciclos de vida s.i

23
Procesos de desarrollo Modelo Construir y corregir ( Build - and - fix ) Cascada Prototipo rápido Incremental Programación Extrema (XP) Espiral Orientados a objetos Comparación entre los ciclos de vida Conclusiones Procesos de desarrollo del Software (Ciclos de vida del software)

Upload: oswaldo-bernal

Post on 13-Jun-2015

421 views

Category:

Documents


5 download

DESCRIPTION

aaa

TRANSCRIPT

Page 1: Presentacion ciclos de vida s.i

Procesos de desarrolloModelo Construir y corregir (Build-and-fix)CascadaPrototipo rápidoIncrementalProgramación Extrema (XP)EspiralOrientados a objetos Comparación entre los ciclos de vidaConclusiones

Procesos de desarrollo del Software (Ciclos de vida del software)

Page 2: Presentacion ciclos de vida s.i

Bibliografía

Schach, Stephen. “Classical and Object-Oriented Software Engineering, with UML”. McGraw Hill, 2002, 5a edición.

Page 3: Presentacion ciclos de vida s.i

Fin de la presentación

Procesos de desarrollo del Software (Ciclos de vida del software)

Page 4: Presentacion ciclos de vida s.i

Modelos del Ciclo de Vida del Software

Modelo del ciclo de vida, antes conocido como modelo del proceso de desarrollo del software

Los pasos por los cuales progresa el producto– Fase de requerimientos– Fase de especificaciones– Fase de diseño– Fase de implementación– Fase de integración– Fase de mantenimiento– Retiro

Page 5: Presentacion ciclos de vida s.i

Modelo Build and Fix

Problemas– No especificaciones– No diseño

Totalmente insatisfactorio

Requiere de un modelo del ciclo de vida

– Planificación– Fases– Metas

Page 6: Presentacion ciclos de vida s.i

Cascada

Caracterizada por– Retroalimentación– Dirigida por documentación

Ventajas– Documentación– Más fácil mantenimiento

Desventajas– Especificaciones

Documentos pueden ser ambiguos Retroalimentación tardía Requerimientos mal entendidos

Page 7: Presentacion ciclos de vida s.i

Prototipo Rápido

Modelo lineal “Rápido” Garantizar entendimiento de

requerimientos desde el inicio Desventajas:

– Puede crear la impresión de que el producto final puede generarse tan rápido como el prototipo

– El equipo puede tener la tentación de reusar el prototipo (código y diseño de baja calidad)

Page 8: Presentacion ciclos de vida s.i

Tres puntos clave

No se convierte en el producto final. El prototipo por hacerse rápido NO SE REUTILIZA, se genera un producto nuevo desde cero en las siguientes fases

El prototipo rápido podría reemplazar la fase de especificaciones pero NUNCA la de diseño.

Comparación:– Cascada – intenta tener el producto correcto en una primera vez– Prototipo rápido – cambios frecuentes, después desecharlo

Page 9: Presentacion ciclos de vida s.i

Modelos de Cascada y de Prototipo rápido

Cascada– Muchós éxitos– Problemas con las necesidades del cliente

Prototipo rápido– No muy probado– Tiene sus propios problemas

Solución– Prototipo rápido para la fase de requerimientos– Cascada para el resto del ciclo de vida

Page 10: Presentacion ciclos de vida s.i

Modelo incremental

Dividir el proyecto en builds

Page 11: Presentacion ciclos de vida s.i

Modelo Incremental (cont)

Modelos de Cascada, prototipo rápido– Producto completo operacional sólo hasta el final

Modelo incremental– Se tiene una porción del producto de calidad operando en semanas

Menos traumático Rápido retorno de la inversión Requiere de una arquitectura abierta, se puedan integrar las porciones

que se van generando a pesar de requerimientos no estáticos. Se usan variaciones de este ciclo de vida en los ciclos orientados a

objetos.

Page 12: Presentacion ciclos de vida s.i

Modelo Incremental (cont)

Problemas– Peligro de caer en construir y corregir (Build-and-fix)– Si no se tiene una arquitectura definida desde un inicio problemas

para integrar y de mantenimiento

Page 13: Presentacion ciclos de vida s.i

Modelo Incremental (cont)

Una versión más riesgosa no considera se entiendan los requerimientos más importantes y se tenga una visión entera del proyecto, sino ir avanzando en los requerimientos en cada build— las piezas podrían no coincidir!

– Peligro de codificar un poco, probar un poco CABTAB (code a bit test a bit)

Page 14: Presentacion ciclos de vida s.i

Programación Extrema (Xtreme Programming)

Nueva metodología algo controversial Dirigida por historias (stories) o requerimientos que el

cliente desea. Estima la duración y costo de cada historia Selecciona historias para el siguiente build Cada build está dividido en tareas. Los casos de prueba para cada tarea se establecen

primero. Programación en parejas. Continua integración de las tareas.

Page 15: Presentacion ciclos de vida s.i

Características novedosas de XP

Las computadores se ponen en el centro de un gran cuarto divididas por cubículos.

Representantes del cliente siempre están presentes. No pueden trabajar tiempos extras dos semanas

consecutivas. Refactorización

Page 16: Presentacion ciclos de vida s.i

Evaluación de XP

XP ha tenido algunos éxitos Bueno cuando los requerimientos son vagos o cambiantes. Muy pronto para evaluarse

Page 17: Presentacion ciclos de vida s.i

Modelo de espiral

Forma simplificada– Modelo de cascada más análisis

de riesgo A cada fase le precede

– Búsqueda de alternativas– Análisis dse riesgo

Después de cada fase:– Evaluación– Planeación de la siguiente fase

Page 18: Presentacion ciclos de vida s.i

Simplified Spiral Model

Si los riesgos no pueden resolverse el proyecto termina inmediatamente

Page 19: Presentacion ciclos de vida s.i

Análisis del Modelo de Espiral

Fuerzas– Fácil juzgar cuánto probar– No hay distinción entre desarrollo y mantenimiento.

Debilidades– Sólo para software de gran escala– Sólo para uso interno (in-house), es decir el equipo

desarrollador es del mismo cliente.

Page 20: Presentacion ciclos de vida s.i

Modelos de ciclos de vida Orientados a Objetos

Necesidad de iteración dentro y entre las fases– Modelo de fuente– Proceso Unificado (Unified software development process -

UP-)

Todos incorporan alguna forma de – Iteración– Paralelistmo– Desarrollo incremental

Peligro– CABTAB (code a bit test a bit)

Page 21: Presentacion ciclos de vida s.i

Fountain Model

Características:– Paralelisto (parte de una fase

ocurre al mismo tiempo que otra)

Permite iteracioens Ciclo de mantenimiento más

corto

Page 22: Presentacion ciclos de vida s.i

P re lim in a ry

Ite ra tio n (s )ite r.

# 1

ite r.

# 2

ite r.

# n

ite r.

#n + 1

ite r.

# n +2

ite r.

# m

ite r.

#m +1

Inception Elaboration Construction TransitionPhases

Core Workflows

An iteration in theelaboration phase

Requirements

Design

Implementation

Test

Analysis

*Nota: esta diapositiva fue agregada a la presentación original.

Page 23: Presentacion ciclos de vida s.i

Conclusiones

Diferentes modelos de ciclos de vida Cada uno sus fuerzas Cada uno con sus debilidades Criterio para decidir cuál modelo incluye:

– La organización– Sus directivos– Habilidades de los empleados– Naturaleza del producto– Tamaño del proyecto– Variabilidad de los requerimientos

Mejor sugerencia:– Mezclar y ajustar el modelo de ciclo de vida