El ciclo de vida iterativo se basa en la evolución de prototipos ejecutables que se muestran a los usuarios y clientes En el ciclo de vida iterativo a cada iteración se reproduce el ciclo de vida en cascada a menor escala Los objetivos de una iteración se establecen en función de la evaluación de las iteraciones precedentes Proceso Iterativo e Incremental
Las actividades se encadenan en una mini-cascada con un alcance limitado por los objetivos de la iteración (Gp:) Análisis (Gp:) Diseño (Gp:) Codific. (Gp:) Pruebas e Integración
n veces Proceso Iterativo e Incremental
Cada iteración comprende: Planificar la iteración (estudio de riesgos) Análisis de los Casos de Uso y escenarios Diseño de opciones arquitectónicas Codificación y pruebas. La integración del nuevo código con el existente de iteraciones anteriores se hace gradualmente durante la construcción Evaluación de la entrega ejecutable (evaluación del prototipo en función de las pruebas y de los criterios definidos) Preparación de la entrega (documentación e instalación del prototipo) Proceso Iterativo e Incremental
Proceso Iterativo e Incremental Enfoque Cascada Enfoque Iterativo e Incremental
Grado de Finalización de Artefactos Proceso Iterativo e Incremental
Proceso Centrado en la Arquitectura Arquitectura de un sistema es la organización o estructura de sus partes más relevantes
Un arquitectura ejecutable es una implementación parcial del sistema, construida para demostrar algunas funciones y propiedades
RUP establece refinamientos sucesivos de una arquitectura ejecutable, construida como un prototipo evolutivo
(Gp:) Architecture
Inception Elaboration Construction Transition
Fases del Ciclo de Vida El ciclo de vida consiste en una serie de ciclos, cada uno de los cuales produce una nueva versión del producto
Cada ciclo está compuesto por fases y cada una de estas fases está compuesta por un número de iteraciones
Las fases son: Inicio o Estudio de oportunidad Elaboración Construcción Transición
Fases del Ciclo de Vida Inicio o Estudio de oportunidad (inception) Define el ámbito y objetivos del proyecto Se define la funcionalidad y capacidades del producto
Elaboración Tanto la funcionalidad como el dominio del problema se estudian en profundidad Se define una arquitectura básica Se planifica el proyecto considerando recursos disponibles
Fases del Ciclo de Vida Construcción El producto se desarrolla a través de iteraciones donde cada iteración involucra tareas de análisis, diseño e implementación Las fases de estudio y análisis sólo dieron una arquitectura básica que es aquí refinada de manera incremental conforme se construye (se permiten cambios en la estructura) Gran parte del trabajo es programación y pruebas Se documenta tanto el sistema construido como el manejo del mismo Esta fase proporciona un producto construido junto con la documentación
Fases del Ciclo de Vida Transición Se libera el producto y se entrega al usuario para un uso real Se incluyen tareas de marketing, empaquetado atractivo, instalación, configuración, entrenamiento, soporte, mantenimiento, etc. Los manuales de usuario se completan y refinan con la información anterior Estas tareas se realizan también en iteraciones
Esfuerzo respecto de las Workflows 15% 10% 15% 30% 15% 10% gestión cambios 5% mantenimiento (Gp:) P (Gp:) r (Gp:) e (Gp:) l (Gp:) i (Gp:) m (Gp:) i (Gp:) n (Gp:) a (Gp:) r (Gp:) y (Gp:) I (Gp:) t (Gp:) e (Gp:) r (Gp:) a (Gp:) t (Gp:) i (Gp:) o (Gp:) n (Gp:) ( (Gp:) s (Gp:) )
(Gp:) i (Gp:) t (Gp:) e (Gp:) r (Gp:) . (Gp:) # (Gp:) 1
(Gp:) i (Gp:) t (Gp:) e (Gp:) r (Gp:) . (Gp:) # (Gp:) 2
(Gp:) i (Gp:) t (Gp:) e (Gp:) r (Gp:) . (Gp:) # (Gp:) n
(Gp:) i (Gp:) t (Gp:) e (Gp:) r (Gp:) . (Gp:) # (Gp:) n (Gp:) + (Gp:) 1
(Gp:) i (Gp:) t (Gp:) e (Gp:) r (Gp:) . (Gp:) # (Gp:) n (Gp:) + (Gp:) 2
(Gp:) i (Gp:) t (Gp:) e (Gp:) r (Gp:) . (Gp:) # (Gp:) m
(Gp:) i (Gp:) t (Gp:) e (Gp:) r (Gp:) . (Gp:) # (Gp:) m (Gp:) + (Gp:) 1
(Gp:) I (Gp:) n (Gp:) c (Gp:) e (Gp:) p (Gp:) t (Gp:) i (Gp:) o (Gp:) n
(Gp:) E (Gp:) l (Gp:) a (Gp:) b (Gp:) o (Gp:) r (Gp:) a (Gp:) t (Gp:) i (Gp:) o (Gp:) n
(Gp:) C (Gp:) o (Gp:) n (Gp:) s (Gp:) t (Gp:) r (Gp:) u (Gp:) c (Gp:) t (Gp:) i (Gp:) o (Gp:) n
(Gp:) T (Gp:) r (Gp:) a (Gp:) n (Gp:) s (Gp:) i (Gp:) t (Gp:) i (Gp:) o (Gp:) n
Una iteración en la fase de elaboración Requisitos Diseño Implementación Pruebas Análisis
Esfuerzo respecto de las Fases (Gp:) P (Gp:) r (Gp:) e (Gp:) l (Gp:) i (Gp:) m (Gp:) i (Gp:) n (Gp:) a (Gp:) r (Gp:) y (Gp:) I (Gp:) t (Gp:) e (Gp:) r (Gp:) a (Gp:) t (Gp:) i (Gp:) o (Gp:) n (Gp:) ( (Gp:) s (Gp:) )
(Gp:) i (Gp:) t (Gp:) e (Gp:) r (Gp:) . (Gp:) # (Gp:) 1
(Gp:) i (Gp:) t (Gp:) e (Gp:) r (Gp:) . (Gp:) # (Gp:) 2
(Gp:) i (Gp:) t (Gp:) e (Gp:) r (Gp:) . (Gp:) # (Gp:) n
(Gp:) i (Gp:) t (Gp:) e (Gp:) r (Gp:) . (Gp:) # (Gp:) n (Gp:) + (Gp:) 1
(Gp:) i (Gp:) t (Gp:) e (Gp:) r (Gp:) . (Gp:) # (Gp:) n (Gp:) + (Gp:) 2
(Gp:) i (Gp:) t (Gp:) e (Gp:) r (Gp:) . (Gp:) # (Gp:) m
(Gp:) i (Gp:) t (Gp:) e (Gp:) r (Gp:) . (Gp:) # (Gp:) m (Gp:) + (Gp:) 1
(Gp:) I (Gp:) n (Gp:) c (Gp:) e (Gp:) p (Gp:) t (Gp:) i (Gp:) o (Gp:) n
(Gp:) E (Gp:) l (Gp:) a (Gp:) b (Gp:) o (Gp:) r (Gp:) a (Gp:) t (Gp:) i (Gp:) o (Gp:) n
(Gp:) C (Gp:) o (Gp:) n (Gp:) s (Gp:) t (Gp:) r (Gp:) u (Gp:) c (Gp:) t (Gp:) i (Gp:) o (Gp:) n
(Gp:) T (Gp:) r (Gp:) a (Gp:) n (Gp:) s (Gp:) i (Gp:) t (Gp:) i (Gp:) o (Gp:) n
Esfuerzo: 5% 20% 65% 10% Duración: 10% 30% 50% 10% Una iteración en la fase de elaboración Requisitos Diseño Implementación Pruebas Análisis
Modelado de SI: Algunas Reflexiones Modelar para la concebir el sistema y/o para la documentarlo
Pragmatismo, los modelos deben ser útiles
Sencillez y Elegancia
Distintos nivel de abstracción, diferentes modelos
Seguimiento de transformaciones durante el proceso (Traceability)
Sincronización de modelos
Dificultades para la introducción de técnicas y herramientas de modelado
Finalmente Apostar por enfoque Orientado a Objetos usando notación UML
Problemas actuales en implementación, al usar entornos de programación visual y/o bases de datos relacionales
Posibles mejoras a mediano plazo Evolución: Uso de BDOO y/o mejoras en los LPOO Revolución: Generación Automática de Código a partir de Modelos OO (Compilación de Modelos)
Página anterior | Volver al principio del trabajo | Página siguiente |