Ingeniera de Software I
Plan de iteraciones
RUP
Proceso Iterativo e Incremental
El ciclo de vida iterativo se basa en la evolucin de prototipos ejecutables que se muestran a los usuarios y clientes (miniproyectos) En el ciclo de vida iterativo a cada iteracin se reproduce el ciclo de vida en cascada a menor escala Los objetivos de una iteracin se establecen en funcin de la evaluacin 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 iteracin Req. Anlisis Diseo Imple. n veces Pruebas e Integracin Despliegue
Proceso Iterativo e Incremental
Cada iteracin comprende: Planificar la iteracin (estudio de riesgos) Anlisis de los Casos de Uso y escenarios Diseo de opciones arquitectnicas Codificacin y pruebas. La integracin del nuevo cdigo con el existente de iteraciones anteriores se hace gradualmente durante la construccin
Proceso Iterativo e Incremental
Cada iteracin comprende: Evaluacin de la entrega ejecutable (evaluacin del prototipo en funcin de las pruebas y de los criterios definidos) Preparacin de la entrega (documentacin e instalacin del prototipo) Cada una de las cuatro fases termina con hito principal.
Plan de iteraciones
El nmero de iteraciones planeado para cada fase depende, bsicamente de la complejidad del sistema propuesto. Un proyecto simple puede realizarse con una sola iteracin por fase.
Plan de iteraciones (Proyecto complejo)
Fase de Inicio: una iteracin, principalmente dedicada a definir el mbito del sistema Fase de elaboracin: dos iteraciones, la primera para esbozar la arquitectura y la segunda para completar la lnea base de la arquitectura
Plan de iteraciones
Fase de construccin: dos iteraciones, para asegurar que los incrementos resultantes funcionan satisfactoriamente Fase de transicin: una iteracin
Fases, Base Line, Versin, Release
ciclo de desarrollo ciclo de evolucin
base line
(release asociada a un hito)
versin
(subconjunto de artefactos estable y ejecutable)
release
(producto al final de una iteracin, lanzado para su puesta en produccin)
Base Line
Conjunto de artefactos revisados y aprobados que constituyen una base convenida para la evolucin y desarrollo adicional y que se puede cambiar solamente a travs de la administracin de cambios. Asegurarse qu subsistemas, cundo alcanzan un nivel especifico de la madurez, son la lnea base para que est disponible para el release (liberacin), o la reutilizacin en iteraciones subsecuentes del proyecto y/o otros proyectos.
Base Line
Se considera como candidato para una Lnea Base el conjunto de archivos y directorios bajo control de versin que son desarrollados, integrados y puestos juntos en un release. Una lnea base se crea al final de cada iteracin
Versiones
Identifican el estado de un elemento de configuracin o una configuracin en un punto definido en el tiempo Conjunto de artefactos relativamente completo y consistente que incluye posiblemente una construccin- entregado a un usuario interno o externo;
Versiones
La mayora de los programas grandes se desarrollan en release evolutivos. Un release podra estar en uso del cliente, mientras que otro est en prueba, y el tercero todava est en el desarrollo. Si se encuentran problemas en cualquiera de las versiones, los arreglos necesitan ser propagados entre ellas. La confusin puede acrecentarse conduciendo a arreglos costosos y retrabajo a menos de que los cambios sean cuidadosamente controlados y supervisados.
Release
Es una versin que se ha puesto disponible a los usuarios. La frecuencia y la formalidad de los releases son descritos en el plan del CM (Configuration Management ). El grado de la formalidad es claramente mucho ms alto para un producto que es liberado a un cliente, que el que es generado para la estructura o la revisin siguiente de la iteracin.
Release
Regularmente est asociado a un baseline de una configuracin
Esfuerzo y dedicacin por Fases en RUP
Inicio Tiempo Dedicado 10 %
Elaboracin 30 %
Construccin Transicin 50 % 10%
Si la duracin fuera de 7 meses (28 semanas)
Inicio Elaboracin Construccin Transicin
Tiempo Dedicado
10 %
30 %
50 %
10%
Semanas
2.8
8.4
14
2.8
Distribucin de Recursos por Fases en RUP
Cmo planear las iteraciones del Sistema de Inscripcin
Consultar Historial Academi co Mantener informaci on Materias
Estudi ante
Inscribi rse en cursos Mantener informacion Profesor
Login
Ofi cial de regi stro
Mantener la informaci on del Estudiante
Profesor
Registrar cursos impartidos
Cierre de Inscripcion
Capturar calificaciones
Sistema de Cobros
Ejemplo: Plan Iteraciones Sistema de Inscripcin
Fase Fase de Inicio Fase de Elaboracin Fase de Construccin Fase de Transicin No. Iteraciones 1 2 3 2 Duracin 3 semanas 8 semanas 14 semanas 3 semanas
Ejemplo Release: Sistema de Inscripcin
Este proyecto se planea ejecutar a travs de 2-4 releases. Release 1 deber contener un mnimo de funcionalidades bsicas:
Login Registrar cursos impartidos Mantener informacin materias Mantener a la informacin del estudiante Mantener a la informacin del profesor
Release 2 deber incluir:
Capturar de calificaciones de los estudiantes Consultar historial Inscribirse en cursos
La funcionalidad del Release 3 aun no ha sido determinada. Slo se anticipa que este release podra contener requerimientos adicionales a la funcionalidad existente. El reemplazamiento del Sistema de cobros y del Catlogo de Cursos est planeado para el release 4 en el 2007.
Detalle de las iteraciones
Fase Inicio Iteracin Iteracin preliminar Descripcin Definir el modelo de negocio, los productos de requerimientos, el plan de desarrollo de software. Anlisis y diseo para todos los casos de uso del Release 1 (R1). Anlisis y Diseo de todos los casos de alto riesgo del release 2 (R2) Anlisis y Diseo de todos los casos de uso restantes del release 2 (R2) Milestone Revisin del modelo de negocio Prototipo de la arquitectura
Elaboracin
Iteracin E1 Desarrollo del prototipo de la arquitectura
Iteracin E2 Desarrollo del prototipo de la arquitectura
Prototipo de la arquitectura
Detalle de las iteraciones
Fase Construccin Iteracin Iteracin C1 Desarrollo R1 Beta Descripcin Implementar y probar todos los casos de uso para liberar la versin Beta R1
Iteracin C2 Desarrollo del R1
Implementar y probar los casos de uso restantes del R1, arreglar los defectos de la versin Beta, e incorporar los cambios. Desarrollar el Release del sistema R1.
Detalle de las iteraciones
Fase Iteracin Descripcin
Iteracin C3 Desarrollo R2
Diseo, implementacin y prueba de los casos de uso del R2. Incorporar nuevos requerimientos y defectos de R1. Desarrollar el Release del sistema R2. Paquetes, distribucin e instalacin del R1 Release.
Transicin
Iteracin T1 R1
Iteracin T2 R2
Paquetes, distribucin e instalacin del R2.
Referencias
El Proceso Unificado de Desarrollo de Software, Ivar Jacobson, Grady Booch, James Rumbaugh RUP 2001 UML y Patrones, Craig Larman