Plan de iteraciones

Anuncio
Ingeniería de Software I
Plan de iteraciones
RUP
1
Proceso Iterativo e Incremental
ƒ El ciclo de vida iterativo se basa en la
evolución de prototipos ejecutables que se
muestran a los usuarios y clientes (miniproyectos)
ƒ 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
Req.
Análisis
Diseño
Imple.
n veces
Pruebas e
Integración
Despliegue
2
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
Proceso Iterativo e Incremental
ƒ Cada iteración comprende:
‰ 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)
‰ Cada una de las cuatro fases termina con
hito principal.
3
Plan de iteraciones
„
El número de iteraciones planeado para cada
fase depende, básicamente de la
complejidad del sistema propuesto. Un
proyecto simple puede realizarse con una
sola iteración por fase.
Plan de iteraciones (Proyecto complejo)
„
Fase de Inicio: una iteración, principalmente
dedicada a definir el ámbito del sistema
„
Fase de elaboración: dos iteraciones, la
primera para esbozar la arquitectura y la
segunda para completar la línea base de la
arquitectura
4
Plan de iteraciones
„
Fase de construcción: dos iteraciones, para
asegurar que los incrementos resultantes
funcionan satisfactoriamente
„
Fase de transición: una iteración
Fases, Base Line, Versión, Release
ciclo de desarrollo
base line
(release asociada
a un hito)
versión
(subconjunto de
artefactos
estable
y ejecutable)
ciclo de evolución
release
(producto al final de
una iteración, lanzado
para su puesta en producción)
5
Base Line
„
Conjunto de artefactos revisados y aprobados que
constituyen una base convenida para la evolución y
desarrollo adicional y que se puede cambiar
solamente a través de la administración de cambios.
„
Asegurarse qué subsistemas, cuándo alcanzan un
nivel especifico de la madurez, son la línea base
para que esté disponible para el release
(“liberación”), o la reutilización en iteraciones
subsecuentes del proyecto y/o otros proyectos.
Base Line
„
Se considera como candidato para una Línea
Base el conjunto de archivos y directorios
bajo
control
de
versión
que
son
desarrollados, integrados y puestos juntos en
un release.
„
Una línea base se crea al final de cada
iteración
6
Versiones
„
Identifican el estado de un elemento de
configuración o una configuración en un
punto definido en el tiempo
„
Conjunto
de
artefactos
relativamente
completo y consistente –que incluye
posiblemente una construcción- entregado a
un usuario interno o externo;
Versiones
„
La mayoría de los programas grandes se
desarrollan en release evolutivos. Un release podría
estar en uso del cliente, mientras que otro está en
prueba, y el tercero todavía está en el desarrollo. Si
se encuentran problemas en cualquiera de las
versiones, los arreglos necesitan ser propagados
entre ellas. La confusión puede acrecentarse
conduciendo a arreglos costosos y retrabajo a
menos de que los cambios sean cuidadosamente
controlados y supervisados.
7
Release
„
Es una versión 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 más alto
para un producto que es liberado a un
cliente, que el que es generado para la
estructura o la revisión siguiente de la
iteración.
Release
„
Regularmente está asociado a un baseline
de una configuración
8
Esfuerzo y dedicación por Fases en RUP
Tiempo
Dedicado
Inicio
Elaboración
10 %
30 %
Construcción Transición
50 %
10%
Si la duración fuera de 7 meses (28
semanas)
Inicio
Elaboración
Construcción
Transición
Tiempo
Dedicado
10 %
30 %
50 %
10%
Semanas
2.8
8.4
14
2.8
9
Distribución de Recursos por Fases en RUP
Cómo planear las iteraciones del Sistema
de Inscripción
Consultar Historial Academi co
Mantener informaci on Materias
Inscribi rse en cursos
Estudi ante
Mantener informacion Profesor
Login
Profesor
Ofi cial de regi stro
Mantener la informaci on del
Estudiante
Registrar cursos impartidos
Cierre de Inscripcion
Capturar calificaciones
Sistema de Cobros
10
Ejemplo: Plan Iteraciones Sistema de
Inscripción
Fase
No.
Iteraciones
Duración
Fase de Inicio
1
3 semanas
Fase de Elaboración
2
8 semanas
Fase de Construcción
3
14 semanas
Fase de Transición
2
3 semanas
Ejemplo Release: Sistema de Inscripción
„
Este proyecto se planea ejecutar a través de 2-4 releases. Release 1
deberá contener un mínimo de funcionalidades básicas:
‰
‰
‰
‰
‰
„
Release 2 deberá incluir:
‰
‰
‰
„
„
Login
Registrar cursos impartidos
Mantener información materias
Mantener a la información del estudiante
Mantener a la información del profesor
Capturar de calificaciones de los estudiantes
Consultar historial
Inscribirse en cursos
La funcionalidad del Release 3 aun no ha sido determinada. Sólo se
anticipa que este release podría contener requerimientos adicionales a
la funcionalidad existente.
El reemplazamiento del Sistema de cobros y del Catálogo de Cursos
está planeado para el release 4 en el 2007.
11
Detalle de las iteraciones
Fase
Iteración
Descripción
Milestone
Inicio
Iteración
preliminar
Definir el modelo de negocio,
los productos de
requerimientos, el plan de
desarrollo de software.
Revisión del
modelo de
negocio
Elaboración
Iteración E1 –
Desarrollo del
prototipo de la
arquitectura
Análisis y diseño para todos
los casos de uso del Release 1
(R1).
Análisis y Diseño de todos los
casos de alto riesgo del release
2 (R2)
Prototipo de la
arquitectura
Iteración E2 –
Desarrollo del
prototipo de la
arquitectura
Análisis y Diseño de todos los
casos de uso restantes del
release 2 (R2)
Prototipo de la
arquitectura
Detalle de las iteraciones
Fase
Iteración
Descripción
Construcción
Iteración C1–
Desarrollo R1 Beta
Implementar y probar todos los casos
de uso para liberar la versión Beta R1
Iteración C2 –
Desarrollo del R1
Implementar y probar los casos de uso
restantes del R1, arreglar los defectos
de la versión Beta, e incorporar los
cambios. Desarrollar el Release del
sistema R1.
12
Detalle de las iteraciones
Fase
Transición
Iteración
Descripción
Iteración C3 –
Desarrollo R2
Diseño, implementación y prueba de los
casos de uso del R2.
Incorporar nuevos requerimientos y
defectos de R1.
Desarrollar el Release del sistema R2.
Iteración T1– R1
Paquetes, distribución e instalación del R1
Release.
Iteración T2 – R2
Paquetes, distribución e instalación del
R2.
Referencias
„
„
„
El Proceso Unificado de Desarrollo de Software, Ivar
Jacobson, Grady Booch, James Rumbaugh
RUP 2001
UML y Patrones, Craig Larman
13
Descargar