Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Agenda
Introduccin. El Proceso Unificado de desarrollo de Proyectos de Software (RUP). El Proceso Unificado Empresarial (EUP)
Introduccin
Requerimientos
Software
5/97
#1 ild Bu Bu ild #2
Estrategias
Para resolver los problemas reales de las organizaciones, los responsables de los sistemas, deben incorporar una estrategia de desarrollo que integre las estrategias de la organizacin, los procesos, los mtodos y las herramientas necesarias para la construccin del software. Importante El plan estratgico de sistemas no puede estar desalineado del plan estratgico de la organizacin.
RUP
Que es el RUP?
Es un proceso de ingeniera de software. Se describe entre otras cosas como:
Centrado en una arquitectura. Guiado por casos de uso (requerimientos). Iterativo e incremental. Enfrenta riesgos. Controla cambios. Soportado por varias herramientas.
.Que es el RUP?
Fue concebido por los tres amigos: Booch, Rumbaugh y Jacobson. Provee a travs de un entorno WEB: Lineamientos, plantillas, workflows y herramientas, que guan una implementacin efectiva de las Mejores Prcticas de la industria del software. Se define como una Base de Conocimiento
Disciplinas de Soporte
Adm. configuracin y cambios Adm. del proyecto Medio ambiente
Iteracion(es) Preliminar(es) Iter. #1 Iter. #2 Iter. Iter. Iter. #n #n+1 #n+2 Iter. Iter. #m #m+1
Iteraciones
El eje vertical representa los flujos de trabajo (workflows) nucleares, que agrupan actividades por su naturaleza o disciplina.
Representa el aspecto esttico
Estructura Esttica
Fases e iteraciones Flujos del Proceso
Actividades, pasos Cundo ocurre el proceso? Cmo ocurre el proceso y sus detalles? Qu se produce u obtiene? Quin lo hace o se responsabiliza?
Artefactos
Trabajadores
Estructura Esttica
Es un rol asumido por un empleado
Actividad Trabajador
Analista Es responsable por Descripcin de un caso de Uso Artefacto
Workflow
Es una secuencia de actividades que produce un resultado de valor observable.
RUP usa un diagrama de actividades para representar el workflow.
Modelos y Workflows
Business Modeling
Business Model
realized by
Estructura dinmica
Concepcin Elaboracin Construccin Transicin
Tiempo Concepcin Elaboracin Define el alcance del proyecto y el desarrollo de los casos del negocio Planifica el proyecto, especifica las caractersticas, focaliza los detalles del anlisis del dominio del problema y define los cimientos de la arquitectura
Construccin Construye el producto, desarrollando a detalle el diseo y produciendo el cdigo Transicin Implementa el producto a su comunidad de usuarios
Tiempo
Visin Soporte base de la Arquitectura Capacidad Inicial Versin del Producto
Fase de Concepcin
Criterios de evaluacin:
Que los Accionistas aprueben la definicin del proyecto y estimacin de costos y plazos Que exista entendimiento de los requerimientos para los principales casos de uso Que el proyecto tenga credibilidad en las estimaciones, prioridades, riesgos, procesos de desarrollo, etc. La aprobacin del prototipo de la arquitectura (opcional) Que sea viable; a travs de un estudio de los costos reales vs. costos presupuestados de proyectos anteriores o similares.
Fase de Elaboracin
Criterios de evaluacin:
La visin del producto es estable. El entendimiento de los requerimientos (modelo casos de uso completo >= 80% y especificaciones complementarias completas) La arquitectura bsica es estable. Los principales riesgos tcnicos estn controlados. Existe un plan de desarrollo iterativo para la fase de construccin. Existe un acuerdo con los accionistas sobre que plan y que arquitectura permitir cumplir con la visin del proyecto. Se estn cumpliendo los costos reales versus los planificados.
Fase de Construccin
Criterios de evaluacin
Disponibilidad del producto completo a un nivel de calidad adecuado. Plan de liberacin completo:
Empaquetamiento Precio Instalacin y Distribucin Soporte Capacitacin Produccin Estrategia de Transicin
Fase de Transicin
Criterios de evaluacin:
Todos los productos y artefactos deben estar adecuadamente actualizados. Logro de la aceptacin de clientes/usuarios del producto liberado. Anlisis post-mortem del rendimiento de la organizacin; beneficios adicionales, evolucin potencial.
Ciclos de desarrollo
Un ciclo de desarrollo incluye una ejecucin completa de las cuatro fases y produce una generacin de software
Inception Elaboration Construction Transition Transition Inception Elab. . .
time
Ciclos de desarrollo
La mayora de los sistemas requiere mltiples ciclos. Un ciclo de desarrollo inicial genera la liberacin inicial. Ciclos posteriores sirven para mantener o mejorar el sistema. Los ciclos pueden ser secuenciales o traslaparse.
Iteracin ...
Iteracin
...
Iteracin Iteracin
...
Iteracin
...
Release
Release
Una iteracin es una secuencia de actividades con un plan establecido y criterios de evaluacin, cuyo resultado es una versin o release.
Incremental (1)
Construction Transition
Prel. #1 #2 #n+1 Iteration Co Arc nc hit ep ec tua tur lp al rot ba oty se line pe
#..
#m
Inception
Elaboration
Transition
#2
#n+1
#..
lp rot oty pe
#m+1 #m+2 . . Iter. No. Ar Re De ch live lea ite se ry ctu ral ba se lin e #m
Prel. #1 #2 #n+1 Iteration Co Ar Re ch nc lea ite ep se ctu tua ral lp ba rot se oty lin pe e
#..
#m
El equipo es experimentado. Las versiones de la funcionalidad del producto tienen un alto valor para el cliente.
#1
Co Ar ch nc ite ep ctu tua ral lp rot ba oty se lin pe e
#2
Re lea se
#3 . .
De live ry
Iter. No.
Para dominios de problema complejos y desconocidos, donde se necesita un alto grado de exploracin: incrementar el nmero de iteraciones en la elaboracin y su amplitud. Para problemas de desarrollo complejos, donde es difcil trasladar el diseo a cdigo: incrementar el nmero de iteraciones en la construccin y su duracin. Para entregar software en una serie de versiones incrementales: aumentar el nmero de iteraciones en la transicin y el tiempo de la misma.
Ciclo de Retroalimentacin
Evaluacin de Iteracin N
Costos y Plazos Reales Iteracin N Compare costos y plazos reales con los del plan de iteracin Determine si hay trabajo a rehacer - Asignelo a futura(s) iteracin(es) Determine que riesgos han sido reducidos, eliminados o cuales identificados Actualice el plan del proyecto Prepare el plan prxima iteracin - Use lista de riesgos revisada y seleccione Casos de Uso Lista de riesgos revisada
Evaluacin de Calidad de la Iteracin N Resultado de Tests Densidad de Defectos Estabilidad Arquitectura Otras mtricas
Evalue Iteracin
Lider de Proyecto
La Planificacin es incremental
Plan de Proyecto Plan de Iteracin Prxima
Fases e hitos principales Qu y Cundo Iteraciones para cada fase Nmero de iteraciones Objetivos Duracin Asignacin Personal
Actual
Plan Macro
Planes Detallados
Disciplinas de Soporte
Configuration Mgmt Management Environment
Workflow de Iteracin
Iteration(s)
Preliminary
Iter. #1
Iter. #2
Iter. #n
Iter. #m
Iter. #m+1
Es otra forma de mostrar el proceso, describindolo desde la perspectiva de lo que sucede en una iteracin tpica. Estas actividades se establecen en un cronograma.
4/97 4/97
it.1 it. 2
P A p roje pr ct ov al
LCA 7/97
D R e e s ig v ie n w
it.3 it.4
IOC 12/97
Plan de Iteracin
Bu ild #1 Bu ild #2
Plan de Proyecto
2/98
P R e ro d l e uc t as e
5/97
Evaluacin de la Iteracin
Plan de Iteracin
Definir criterios de evaluacin objetivo. Identificar que artefactos concretos y medibles sern desarrollados o actualizados y las actividades necesarias para lograrlo. Descomponer actividades hasta llegar a subactividades con una asignacin y responsabilidad clara y una duracin controlable. Usar estimaciones para asignar duracin y esfuerzo de cada actividad. Hacer los ajustes necesarios de acuerdo a las restricciones de recursos.
Cuntas y de qu largo?
Cuntas iteraciones deben hacerse en cada proyecto?
Total Bajo Tpico Alto 3 6 9 I 0 1 1 E 1 2 3 C 1 2 3 T 1 1 2
Cuntas y de qu largo?
Cunto debe durar cada iteracin?
Depende de un nmero de consideraciones:
Tamao del sistema: Mientras mayor el sistema, ms larga la duracin Nmero de personas: Mientras ms gente, ms larga la duracin
No existe un proceso universal RUP est diseado para la flexibilidad y la extensin. Permite una variedad de estrategias de ciclos de vida. Selecciona que artefactos producir y cuando. Define actividades y roles. Aplica los conceptos de modelamiento (UML)
Pre-Concepcin
Es una etapa donde se conciben las actividades empresariales previas al proyecto. Incluye las siguientes disciplinas:
Comenzar el modelo de negocios empresarial. Planificar el portafolio de los proyectos de TIC. Modelar la arquitectura empresarial. Identificar los activos reusables. Asignar el staff del equipo del proyecto. Definir el proceso de desarrollo de software.
Produccin
Retiro
Su objetivo es remover satisfactoriamente un sistema en produccin. Hito de control: El retiro satisfactorio del producto.
Conclusiones
Es necesario un proceso de ingeniera de software que proporcione el marco adecuado para la creacin de modelos que permitan el desarrollo de software de alta calidad. El proceso de desarrollo de software debe integrar a los conceptos tradicionales de produccin y retiro para completar el ciclo real de vida de un producto. El RUP debe acoplarse a las estrategias de la organizacin referidas a la mejora de procesos de la empresa y al reuso de los recursos existentes.