uml y pud
TRANSCRIPT
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles1
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles2
¿¿QuQuéé es un UML? es un UML?
Es un lenguaje de modelado,de propósito general, usado para la visualización, especificación,
construcción y documentación de sistemas Orientados a Objetos
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles3
ContribucionesContribuciones al UMLal UML
Meyer
Before and after conditions
Harel
StatechartsGamma, et al
Frameworks and patterns,
HP Fusion
Operation descriptions and message numbering
Embley
Singleton classes andhigh-level view
Wirfs-Brock
Responsibilities
Odell
Classification
Shlaer - Mellor
Object lifecycles
Rumbaugh
OMT
Booch
Booch method
Jacobson
OOSE
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles4
¿¿ CCóómo trabaja U.M.L.?mo trabaja U.M.L.?
A través de métodos y notaciones históricas.
A través del desarrollo del ciclo de vida del sistema.
A través de dominios de aplicación.
A través de lenguajes y plataformas de implementación.
A través de procesos de desarrollo.
A través de conceptos internos.
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles5
¿¿ Por quPor quéé UML es un lenguaje?UML es un lenguaje?
Provee un vocabulario y reglas para combinar los elementos del vocabulario con el propósito de comunicar.
En un lenguaje de modelado esos vocabularios y reglas se focalizan en representaciones conceptualesy físicas de un sistema.
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles6
Principales Elementos del LenguajePrincipales Elementos del Lenguaje
BLOQUES DE CONSTRUCCIÓN
REGLAS PARA JUNTAR LOS BLOQUES DECONSTRUCCIÓN
MECANISMOS COMUNES PARA APLICAR UML
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles7
Bloques de ConstrucciBloques de Construccióón de UMLn de UML
Compuestos por:
ELEMENTOS
RELACIONES
DIAGRAMAS
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles8
Bloques de ConstrucciBloques de Construccióón de UMLn de UML
ELEMENTOS
Estructurales De Comportamiento Agrupamiento Notacionales
ClaseClaseClase ActivaClase Activa
InterfaceInterfaceUse CaseUse Case
ColaboraciColaboracióónnComponenteComponente
NodoNodo
InteracciInteraccióónnMMááquina de Estadoquina de Estado
Paquete Paquete ModeloModelo
SubsistemaSubsistemaEntornoEntorno
NotaNota
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles9
BloquesBloques de Construccide Construccióón de UMLn de UML
Cosas: NotacionalesNotaNota
Ver a lgor1.doc para obtener detalles s obre es te proces o
Ver http://www.rational.com para información adic ional sobre UML
Cont rol ar es te com ponente luego de la s iguiente revis ión de diseño
texto simple
URL embebida
link a un documento
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles10
Bloques de ConstrucciBloques de Construccióón de UMLn de UML
Use CaseDiagramsUse Case
DiagramsDiagrama de
Casos de Uso
ScenarioDiagramsScenario
DiagramsDiagrama
de Colaboración
StateDiagramsState
Diagrams
Diagramade
Componente
ComponentDiagramsComponent
DiagramsDiagrama de Despliegue
StateDiagramsState
DiagramsDiagrama
deObjeto
ScenarioDiagramsScenario
DiagramsDiagrama de
Transición de Estados
Use CaseDiagramsUse Case
DiagramsDiagrama
de Secuencia
StateDiagramsState
DiagramsDiagramade Clase
Diagramade
Actividad
Modelos
DiagramasDiagramas
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles11
Diagrama de ClasesDiagrama de Clases
Muestra un conjunto de clases, interfaces y Muestra un conjunto de clases, interfaces y colaboraciones y sus relacionescolaboraciones y sus relaciones
ContieneContiene comcomúúnmente:nmente:
Clases
Interfaces
Relaciones de asociación, generalizacióny/o dependencia
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles12
ClaseClase Clase ActivaClase Activa
Alumnolegajonombredomic ilio
<<constructor>> crear()<<query>> mostrarNombre()
Alumnolegajonombredomicilio
Al um nonombre de la clase
operaciones
atributos
AlumnoManejadorNotas
suspender ()
Alumno
crear()mostrarNombre()borrar()
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles13
InterfaceInterface ImplementaciImplementacióónn
IAlumnos
IReportes
Al um no
IAlumnos
IReportes
Alumno.java
Clase
Componente
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles14
Diagrama de Clases Diagrama de Clases
Rubro
ActorDirector
CalificaciónUbicacio n
Ticket
Ejemplar
11
DetalleTicket1..*1..*
Socio
Pelicula
11
0..*0..*1..*1..*
11
0..*0..*
TipoAbono
Categoria11
DetalleTipoAbono
1..*1..*
11
DetalleAbono
11
Persona
Alquiler
11
0..10..11..*1..*
0..10..1
Reserva
110..*0..*
EmpleadoVideo
Abono
0..10..1
0..*0..*
111..*1..*
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles15
Diagrama de ObjetosDiagrama de Objetos
Muestra un conjunto de objetos y sus relaciones.Muestra un conjunto de objetos y sus relaciones.
ContieneContiene comcomúúnmente:nmente:
Objetos
Conexiones (links)
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles16
Diagrama de ObjetosDiagrama de Objetos
S1:Socio
:Alquiler
E1:Ejemplar
P1:Pelicula
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles17
Diagrama de ComponentesDiagrama de Componentes
Muestra un conjunto de componentes y sus Muestra un conjunto de componentes y sus relaciones.relaciones.ContieneContiene comcomúúnmente:nmente:
Componentes
Interfaces
Relaciones de asociación, generalización,realización y/o dependencia
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles18
Diagrama de ComponentesDiagrama de Componentes
Consulta.html
<<hiperlink>>
Buscar.html
Logo.jfg
.ddl .dll
bus car.exe
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles19
Diagrama de DespliegueDiagrama de Despliegue
Muestra un conjunto de nodos y sus relaciones.Muestra un conjunto de nodos y sus relaciones.Contiene comContiene comúúnmente:nmente:
Nodos
Relaciones de asociación y/o dependencia.
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles20
Diagrama de DespliegueDiagrama de Despliegue
Server
DatosServer
Aplicacion
Cliente1 Cliente2ClienteN
Solo para consultas de Socios
LAN
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles21
Diagrama de Casos de Uso Diagrama de Casos de Uso
Muestra un conjunto de use cases, actores y susMuestra un conjunto de use cases, actores y susrelaciones.relaciones.ContieneContiene comcomúúnmente:nmente:
Casos de Uso
Actores
Relaciones de extensión, inclusión , generalización y/o dependencia..
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles22
Diagrama de Casos de UsoDiagrama de Casos de Uso
Registrar Socio Validar Socio Manualmente Validar Socio con Tarjeta
Registrar Alquiler de Película
<<extend>>
Validar Socio
<<include>>
Empleado del Video
Registrar Devolución de Películas
Socio Brindar Consulta de Películas
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles23
Diagrama de ColaboraciDiagrama de Colaboracióónn
DiagramaDiagrama dede secuencia que enfatiza la secuencia que enfatiza la organizaciorganizacióón estructural de los objetos. Muestra n estructural de los objetos. Muestra un conjunto de objetos y conexiones entre esos un conjunto de objetos y conexiones entre esos objetos y los mensajes enviados y recibidos porobjetos y los mensajes enviados y recibidos poresos objetos.esos objetos.
ContieneContiene comcomúúnmente:nmente:
Objetos
Links
Mensajes
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles24
Diagrama de ColaboraciDiagrama de ColaboracióónnCaso de Uso Registrar Alquiler de PelCaso de Uso Registrar Alquiler de Pelíícula cula
Encargado Video
: Panta l la Registro A lqu i ler
: Ge stor A lqu i ler
2: m ostrarPanta l la : Pe licu la
: Pe l icu la
: E jem plar
: E jem pl ar
: A lqu i ler
1 : abri r
3 : tom arDatosP
4: buscarPel icu la
5: busc ar()
6: se leccionar
7: m Disponib i l idadEjem plar
10: crear ()
8 : buscar ()
9: se leccionar
11: ac tua li zarD isp
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles25
Diagrama de SecuenciaDiagrama de Secuencia
DiagramaDiagrama dede secuencia que enfatiza el ordensecuencia que enfatiza el ordende los mensajes en funcide los mensajes en funcióón del tiempo. Muestra n del tiempo. Muestra un conjunto de objetos y los mensajes enviados un conjunto de objetos y los mensajes enviados y recibidos por esos objetos.y recibidos por esos objetos.
ContieneContiene comcomúúnmente:nmente:
Objetos
Links
Mensajes
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles26
DiagrDiagr. de Secuencia: U. de Secuencia: U--C Registrar Alquiler de PelC Registrar Alquiler de Pelíícula cula
Encargado V ideo : Encargado Video
: Panta l la Registro
: Ge sto r Alqu i le r
: Pel i cu la : Pel i cu la : E jem plar : E jem plar : A lqui le r
abri r
m ostrarPanta l la
tom arDatosP
buscarPel icu la
buscar()
se leccionar
m Di sponibi l idad Ejem plar
buscar ()
seleccionar
cre ar ()
actual izarDisp
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles27
Diagrama de TransiciDiagrama de Transicióón de Estadosn de Estados
Muestra una mMuestra una mááquina de estados, compuesta porquina de estados, compuesta porestados, transiciones, eventos y actividades.estados, transiciones, eventos y actividades.ContieneContiene comcomúúnmente:nmente:
Estados
Transiciones
Eventos
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles28
Diagrama de TransiciDiagrama de Transicióón de Estadosn de EstadosClase AlquilerClase Alquiler
Generado / Pagado
Devuelto/Pendiente dePa go
Devuelto/Pagado
Generado/Pen diente de Pago
Vencido / Pagado
Vencido / Pendiente de Pago
nuevo y no pago
nuevo y pago
cons u lta y fecha De vPrevis ta < fec ha
dev olución
devolución y cobro recargo
devoluc ión
pago
pago y devolución
consu l ta y fechaDevPrevista < fecha
devoluciónpago y devolución
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles29
Diagrama de ActividadDiagrama de Actividad
Muestra el conjunto de actividades, y el flujo de Muestra el conjunto de actividades, y el flujo de secuencia o desglose de actividad en actividad, secuencia o desglose de actividad en actividad, y los objetos que acty los objetos que actúúan y que son afectados. an y que son afectados.
ContieneContiene comcomúúnmente:nmente:
Estados de actividad y acción
Transiciones
Objetos
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles30
Diagrama de ActividadDiagrama de Actividad
TO MAR D ATO S
VE R IF IC AR D IS P O N IB ILI D AD
C O N FIR MAR AL Q U IL E R
C AN C E L AR
C R E AR AL Q U IL E R AC TU AL IZAR E S TAD O E JE MP L AR
TE R MIN AR
Caso de Uso : Registrar Alquiler de Película
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles31
Cosas: Agrupamiento PaquetePaquete
Reglas de Negoc io
Existen variaciones...• entornos (frameworks)• modelos• subsistemas
que son clases de paquetes.
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles32
Mecanismos de Extensibilidad
EstereotiposEstereotipos
IAgenteReglas<<Interface>>
Pantalla de Alquiler
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles33
Mecanismos de Extensibilidad
Valores RotuladosValores Rotulados
font s.dl l{serverOnly}
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles34
Mecanismos de ExtensibilidadRestriccionesRestricciones
P ortafo lioO rganiz ac ión
CuentaB anc aria {or}
P ers ona
gener o : {mas c , fem en}
0. .1
0. .10. .1+ es pos o
0..1+ es pos a
{genero.es pos a= fem eninogenero.es pos o= m as c ulino}
{s egura}restricción simple
restricción a través de múltiples elementos
restricción en lenguaje formal
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles35
ElEl DesarrolloDesarrollo dede SoftwareSoftware
Cada nueva versión es desarrollada incrementalmenteincrementalmente en una serie de pasos
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles36
¿¿QuQuéé entendemos por Proceso?entendemos por Proceso?
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles37
¿Qué es el Proceso de DesarrolloProceso de DesarrolloUnificado ?
Es un entorno de proceso genérico (framework) que puede especializarsepara una gran variedad de sistemas de software, en diversas áreas de
aplicación, distintos tipos de organización y de tamaños de
proyectos.
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles38
¿¿QuQuéé se espera de un se espera de un Proceso de Desarrollo ?Proceso de Desarrollo ?
Que sea capaz de evolucionar
Durante su evolución se limite a las realidades que imponen :
La TecnologíaLas HerramientasLa genteLos patrones organizacionales
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles39
Pilares en el Desarrollo de SoftwarePilares en el Desarrollo de Software
PERSONAL
PROCESO
PROYECTO
PRODUCTO
HERRAMIENTASParticipante
Plantilla
Resultado
Automatización
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles40
El Proceso Unificado es un entorno de Proceso El Proceso Unificado es un entorno de Proceso
No hay un Proceso Universal ! • El proceso Unificado está diseñado para la flexibilidad y la
extensibilidad…» permite una variedad de ciclos de vida» selecciona que artefactos producir » define actividades y trabajadores» modela conceptos
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles41
Estructura del Proceso de Desarrollo
Proceso
Artefacto
Actividad
Trabajador
Workflow
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles42
Estructura de un Workflow del Proceso Estructura de un Workflow del Proceso Actividad
Describir un Use Case
Paquete de Use case
Use case
responsable por
Analista
Artefacto
Trabajador
Un rol desempeñado por un individuo o
equipoUna unidad de trabajo
Una pieza de información que es
producida, modificada o usada por un proceso
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles43
Workflows, trabajadores y recursos...Workflows, trabajadores y recursos...
Analista deSistemas
Arquitecto
Especificadorde Use Case
Diseñador Interfaz
Juan
Mary
Encontrar Actoresy Use Cases
Estructurar elModelo de Use Case
Priorizar Use Cases
PrototiparInterface de Usuario
Detallar un Use Case
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles44
Aspectos CaracterAspectos Caracteríísticossticosdel Proceso Unificadodel Proceso Unificado
Conducido por Casos de Uso
Centrado en la Arquitectura
Iterativo e Incremental
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles45
Iterativo e IncrementalIterativo e Incremental
Comienzo Elaboración Construcción Transición
Iteraciones
Fases
Iter.# 1
Iter.# 2
Iter.# n-1
Iter.# n------ --- --- ---
Una iteración en la Fase Elaboración
Workflowscentrales
Requerimientos
Análisis
Diseño
Implementación
Prueba
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles46
Lo Lo ququéé No No eses un un CicloCiclo de Vida de Vida IterativoIterativo......
No es trabajo no profesionalNo es un refugio para los desarrolladoresNo es impredecibleNo es rediseñar la misma cosa una y otra vez hasta queesté perfecto.No es una excusa para no planificar ni administrar el proyecto.No es algo que afecta únicamente a los desarrolladoresen un proyecto.
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles47
Lo Lo ququéé SI SI eses un un CicloCiclo de Vida de Vida IterativoIterativo......
Es planificado y administrado.Es predecible.Acomoda los cambios a los requerimientos con menosalteraciones.Está basado en prototipos ejecutables queevolucionan, no en documentación.Involucra a usuarios y clientes a lo largo del proceso.Es conducido por los riesgos.
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles48
Fases del Ciclo de Vida
Inicio Elaboración Construcción Transición
time
Inicio Define el alcance del proyecto y desarrolla el caso de negocio
Elaboración Planifica el Proyecto, especifica aspectos, y delinea la arquitectura
Construcción Construye el producto
Transición Transfiere el producto a sus usuarios
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles49
Fases e Iteraciones
Una iteraciUna iteracióón es una secuencia de actividades con un plan n es una secuencia de actividades con un plan establecido y un criterio de evaluaciestablecido y un criterio de evaluacióón, que resulta en un release n, que resulta en un release ejecutable.ejecutable.
ArchIteration
... Dev Iteration
Dev Iteration
... TransIteration
...
Release Release Release Release Release Release Release Release
PrelimIteration
...
Inicio Elaboración Construcción Transición
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles50
Iterativo e IncrementalIterativo e Incremental
Requerimientos Análisis & Implementación Testing DespliegueDiseño
Requerimientos Análisis & Implementación Testing DespliegueDiseño
Requerimientos Análisis & Implementación Testing DespliegueDiseño
FaseIniciación Elaboración Construcción Transición
Conjunto de RequerimientosConjunto de DiseñoConjunto de ImplementaciónConjunto de Despliegue
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles51
TresTres AspectosAspectos ImportantesImportantes del del EnfoqueEnfoque IterativoIterativo
Integración ContinuaNo hacerlo de una vez, cerca de la fecha de entrega
Releases ejecutables frecuentesAtaca los riesgos con progreso demostrable
Algo interno, algo entregado.Progreso medido en productos, no es documentación o estimaciones de ingeniería.
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles52
BeneficiosBeneficios ResultantesResultantes
Los Releases son una fuerza que conduce al equipo de desarrollo al cierre en intervalos regulares.
Evitando el fenómeno “90% hecho con 90% faltante”Puede incorporar problemas/aspectos/cambios en futurasiteraciones en vez de interrumpir la producción que se estárealizando.Las actividades de soporte del proyecto pueden ser programadas mejor (Pruebas, documentación técnica, Aseguramiento de Calidad, Gestión de Configuración, etc.).
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles53
Riesgo en un Riesgo en un DesarrolloDesarrollo IterativoIterativo
Riesgo
Transición
Inicio
Elaboración
Construcción
IteraciónPreliminar
IteraciónArquitect
IteraciónDesarrollo
IteraciónTransición
PostDespliegue
Cascada
Tiempo
IteraciónArquitect
IteraciónDesarrollo
IteraciónDesarrollo
IteraciónTransición
Copyright © 1997 by Rational Software Corporation
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles54
GestiGestióónn de Riesgo de Riesgo fasefase por por fasefaseInicio
Agrupar los riesgos del proyecto realizando una prueba de conceptos.
ElaboraciónDesarrollar una comprensión común de los alcances del sistema y del comportamiento deseado, explorando escenarios con expertos del dominio y usuarios finales.Establecer la arquitectura del sistema.Diseñar mecanismos comunes para cubrir aspectos de todo el sistema.
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles55
GestiGestióónn de Riesgo de Riesgo fasefase por por fasefase
ConstrucciónRefinar la arquitecturaIteraciones conducidas por el RiesgoIntegración Continua
TransiciónFacilitar la aceptación del usuarioMedir la satisfacción del usuario
Ciclos Post ImplementaciónEnfoque continuo de evoluciónPreservar la integridad arquitectónica.
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles56
Las Iteraciones Las Iteraciones conducenconducen a la a la ReducciReduccióónn del Riesgodel Riesgo
Riesgos Iniciales del ProyectoAlcance Incial del Proyecto
Revisar el PlanGeneral del Proyecto• Costos• Programación• Alcance/Contenido
Plan Iteración N• Costo• Cronograma
Evaluación Iteración N
Riesgos EliminadosRevisar riesgos del Proyecto• Repriorizar
DesarrollarIteración N•Recolectar métricasde costo y calidad
Definir Escenarios paramanejar riesgosmayores
Iteración N
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles57
Los Los casoscasos de de usouso conducenconducen el el ProcesoProceso de de IteraciIteracióónn
Comienzo Elaboración Construcción Transición
Iteración 1 Iteración 2 Iteración 3
Planif. IteraciónCaptura Reqs.
Análisis & DiseñoImplementación
PruebaPreparar Release
“Proceso Mini-Cascada”
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles58
El El CicloCiclo de Vida de de Vida de IteraciIteracióónn: : UnaUna MiniMini--CascadaCascada
• Resultados de iteraciones previas• Actualizar evaluación de riesgos• Librerías de Modelos, código y pruebas contraladas.
Descripción del Release Evaluación de riesgos controladaLibrerías controladas
Planificación Iteración
Captura de Requerimientos
Análisis & Diseño
Implementación
Prueba
Preparar Release
Escenarios Elegidos
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles59
ActividadesActividades detalladasdetalladas del del CicloCiclo de Vida de Vida IterativoIterativo
Planificación de IteraciónAntes que inicie la iteración, deberán establecerse los objetivos de la iteración , basados en:
Resultados de iteraciones previas ( si existen)Evaluación de Riesgos actualizada para el proyecto
Determinar el criterio de evaluación para esta iteraciónPreparar el plan detallado para la iteración como parte del plan de desarrollo
Incluir hitos intermedios para monitorear el progresoIncluir walkthroughs y revisiones
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles60
ActividadesActividades detalladasdetalladas del del CicloCiclo de Vida de Vida IterativoIterativo
Captura de Requerimientos Seleccionar/definir los casos de uso que serán implementados en la iteración. Actualizar el modelo de objetos para reflejar clases adicionales del dominio y asociaciones descubiertas.Desarrollar el plan de prueba para la iteración
Análisis & Diseño Determinar las clases a ser desarrolladas o actualizadas en esta iteración.Actualizar el modelo de objetos para reflejar clases adicionales del diseño y asociaciones descubiertas.Actualizar el documento de arquitectura si es necesario.Comenzar el desarrollo de los procedimientos de pruebas
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles61
ActividadesActividades detalladasdetalladas del del CicloCiclo de Vida de Vida IterativoIterativoImplementación
Automáticamente generar código desde el modelo de diseño Manualmente genera código para las operacionesCompletar procedimientos de pruebaConducir pruebas de unidad y de integración
PruebaIntegrar y probar el código desarrollado con el resto del sistema (releasesanteriores).Capturar y revisar los resultados de las pruebas.Evaluar los resultados de las pruebas relacionadas al criterio de evaluación.Conducir una evaluación de la iteración.
Preparar la descripción del releaseSincronizar el código y los modelos de diseño Ubicar los productos de la iteración en librerías controladas
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles62
DistribuciDistribucióónn del del TrabajoTrabajo en la en la IteraciIteracióónnEl trabajo a realizar en la iteración está determinado por:
El / los casos de uso implementados.El retrabajo a realizar.
Paquetes de trabajo organizados convenientemente para losdesarrolladores.
Paquetes de Alto Nivel pueden ser asignados a equipos.Paquetes de bajon nivel pueden ser asignados a desarrolladores individuales.
Los casos de uso son un paquete de trabajo conveniente parapruebas y evalauciones de equipos.Los paquetes son útiles también para determinar la granularidad de aplicación de la gestión de configuración.
Por ejemplo, check-in y check-out de paquetes individuales
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles63
EvaluaciEvaluacióónn de la de la IteraciIteracióónnEvaluar los resultados de la iteración en relación a los criteriosestablecidos durante la planificiacíón de la iteración:
FuncionalidadPerformanceCapacidadMedidas de Calidad
Considerar cambios externos que han ocurrido durante la iteración
Por ejemplo, cambios a los requerimientos, necesidadesde los usuarios, planes de la competencia
Determinar que retrabajo se debe hacer, si existe, y asignarlo a las iteraciones restantes
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles64
ElecciEleccióónn de Iteracionesde Iteraciones
Cuántas iteraciones se necesitan?En proyectos de 18 meses o menos, es común tener de 3 a 6 iteraciones
Son todas las iteraciones del proyectos son del mismo tamaño?UsualmenteEl tamaño de la iteración puede variar en cada fase. Por ejemplo, las iteraciones de la elaboración pueden ser más cortas que las iteraciones de la construcción.
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles65
No No existenexisten balas de balas de plataplata
Recuerde la razón principal para usar un ciclo de vida iterativo:No se tiene toda la información que se necesita al principioLas cosas cambiarán durante el período de desarrollo
Se debe esperar que:Algunos riesgos no sean eliminados como se planeó.Se descubrirán nuevos riesgos.Se requerirá algo de retrabajo; algunas líneas de códigodesarrolladas deberán tirarse.Los requerimientos cambiarán en el camino.
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles66
Conducido por Use Cases . . .Conducido por Use Cases . . .
Requerimientos Análisis Diseño Implementación Prueba
Captura el Valor de los Requerimientos
Conduce el Proceso
Delinea la arquitectura
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles67
Centrado en la Arquitectura . . .Centrado en la Arquitectura . . .
Arquitectura = Elementos + Formas + Motivaciones
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles68
Función versus Forma...
Casos de Uso Arquitectura
• Los casos de uso especifican función; la arquitectura especifica forma
• Los casos de uso y la arquitectura deben estar balanceados
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles69
Las Vistas presentan la ArquitecturaLas Vistas presentan la Arquitectura
La arquitectura es el conjunto significativo de decisionesa cerca de:
La organización del sistema de softwareLa selección de elementos estructurales y sus interfacesSu comportamientoLa composición de esos elementos estructurales yde comportamiento en subsistemas progresivamentemás grandes.El estilo arquitectónico que guía esta organización.
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles70
ArquitecturaArquitecturaLa arquitectura de Software implica definiciones a cerca de:
UsabilidadFuncionalidadPerformanceResistenciaReusoCompresibilidadRestricciones Económicas y TecnológicasAspectos Estéticos
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles71
Vistas en UMLmontaje del sistemaadministración de la configuración
vocabulariofuncionalidad
Vista de Diseño
Vista de Implementación
Vista de Proceso
ComponentesClasses, interfaces,collaborations
Clases Activas
Vista de Despliegue
Nodos
Vista de Use Case
Use cases
Topología, distribuciónEntrega e instalación
performanceescalabilidad
comportamiento
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles72
¿¿CuCuáántas Vistas? ntas Vistas? Modelos simplificados para mostrar el contexto
No todos los sistemas requieren todas las vistas:
Procesador Único: saltear la vista de despliegue
Procesos Simples: saltear vista de proceso
Programas muy pequeños: saltear la vista de implementación.
Otras Vistas que se pueden agregar:
Vista de los datos, vista de seguridad
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles73
LaLa descripcidescripcióónn deldel sistema se separa en Vistassistema se separa en VistasCada Vista representa una proyección de la descripción completa del sistema,
enfatizando un aspecto particular.Vista de Casos de Uso
Describe la funcionalidad que debe proveer el sistema, tal como la ven los Actores (usuarios, otros sistemas, etc.)
Vista LógicaDescribe como será provista la funcionalidad del sistema (clases, objetos y relaciones)
Vista de ComponenteDescribe los módulos de implementación y sus dependencias (código fuente, bibliotecas, componentes de terceros)
Vista de DespliegueMuestra la distribución física del sistema (computadoras, dispositivos)
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles74
La Vista de La Vista de CasosCasos de de UsoUsoActor
Un actor es alguien o algo que debe interactuar con el sistema que estamos modelando
Casos de UsoCada Caso de Uso es una secuencia de transacciones que ocurren en un diálogo entre un Actor y el sistema
Diagrama de SecuenciaUn Diagrama de Secuencia muestra las interacciones ente los objetos distribuidas en una Secuencia de tiempo
Diagrama de ColaboraciónUn Diagrama de Colaboración muestra los vínculos y responsabilidades de cada objeto basado en las interacciones queexisten entre ellos
Diagrama de EstadosUn Diagrama de Estado describe los eventos que causan la transición de un estado a otro y las acciones resultantes de un cambio de estado
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles75
La Vista La Vista LLóógicagica
Diagrama de ClaseLas clases existentes, sus atributos y operaciones, y las relaciones estáticas que existen entre ellas
Diagrama de SecuenciaUn Diagrama de secuencia muestra las interacciones ente los objetos distribuidas en una secuencia de tiempo
Diagrama de ColaboraciónUn Diagrama de Colaboración muestra los vínculos y responsabilidades de cada clase basado en las interacciones que existen entre ellos
Diagrama de EstadosUn Diagrama de Estado describe los eventos que causan la transición de un estado a otro y las acciones resultantes de un cambio de estado
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles76
La Vista de La Vista de DespliegueDespliegue
El Diagrama de Distribución muestra la configuración de las unidades de procesamiento y los procesos que ejecuta cada uno. Ilustra la ubicación de los componentes dentro de la empresa
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles77
Ejemplo de ArquitecturaEjemplo de ArquitecturaVista Arquitectónica de Use CaseDescribe la funcionalidad completa de los use cases más significativos, en el caso de un cajero automático:
ExtracciónConsulta
Vista Arquitectónica del Diseño Clases Activas
Adm. Clientes
Adm. Transacciones
Adm. Cuentas
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles78
Ejemplo de ArquitecturaEjemplo de Arquitectura
Vista Arquitectónica del Diseño Subsistemas / Interfaces
Interface ATM<<subsistema>> Administrador
Transacciones
<<subsistema>>
Administrador Cuentas
<<subsistema>>
Dispenser
Extracción
Transferencia Depositos Historial
TransferenciaCliente
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles79
Ejemplo de ArquitecturaEjemplo de ArquitecturaVista Arquitectónica del Despliegue Distribución / Clases Activas
Cliente
ATM Cliente Server de Aplicación
Server de Datos
internet intranetAdmCliente
AdmTransaccic.
AdmCuentas
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles80
Ejemplo de ArquitecturaEjemplo de ArquitecturaVista Arquitectónica del Despliegue Distribución / Clases Activas
Cliente
ATM Cliente Server de Aplicación
Server de Datos
internet intranetAdmCliente
AdmTransaccic.
AdmCuentas
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles81
Modelos de Arquitectura LModelos de Arquitectura Lóógicagica
Base deDatosRelacional
InterfazGráficaUsuario
InterfazGráficaUsuario
ModeloObjetosNegocio
Base DatosRelacional
Base DatosRelacional
InterfazGráficaUsuario
ModeloObjetosNegocio
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles82
Modelos que se producen Modelos que se producen
11-- Modelo de NegocioModelo de Negocio
22-- Modelo de DominioModelo de Dominio
33-- Modelo de Use CaseModelo de Use Case
44-- Modelo de AnModelo de Anáálisislisis
55-- Modelo de DiseModelo de Diseññoo
66-- Modelo de Proceso Modelo de Proceso
77-- Modelo de DespliegueModelo de Despliegue
88-- Modelo de ImplementaciModelo de Implementacióónn
99-- Modelo de PruebaModelo de Prueba
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles83
Workflows y Workflows y ModelosModelos
Requirimientos ModeloUse Casel
Los diagramas de UML proveen vistas en cada modelo
Modelado de Negocios
Modelode Negociosl
Modelode Dominiol
ModeloAnálisis
Análisis
Diseño
Implementación
Prueba
ModeloDiseñol
ModeloDe Procesol
ModeloDesplieguel
ModeloImpl.
ModeloPrueba
Cada workflow estáasociado con uno o más modelos.
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles84
Workflows del ProcesoWorkflows del ProcesoEl Proceso Unificado consiste de los siguientes workflows:
11-- Modelado de NegocioModelado de Negocio
22-- RequerimientosRequerimientos
33-- AnAnáálisislisis
4 4 --DiseDiseññoo
55-- ImplementaciImplementacióónn
66-- PruebaPrueba
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles85
EstructuraEstructura del del ProcesoProceso UnificadoUnificado de Rationalde Rational
Adm. De ProyectoEntorno
Modelado de Negocio
ImplementaciónPrueba
Análisis & Diseño
Iteraciones Preliminares(s)
Iter.#1
FasesWorkflows Centrales
Workflows de Soporte
Iter.#2
Iter.#n
Iter.#n+1
Iter.#n+2
Iter.#m
Iter.#m+1
Despliegue
Ges. de Configurac.
Requerimientos
Elaboración TransiciónInicio Construcción
Iteraciones
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles86
Workflow de Captura de RequerimientosPropósito de la captura de Requerimientos
Que incluye:Trabajo a Realizar Artefacto ResultanteListar los Requerimientoscandidatos
Lista de Aspectos
Comprender el contexto delsistema
Modelo de NegocioModelo de Dominio
Capturar RequerimientosFuncionales
Modelo de Use Cases
Capturar Requerimientos NoFuncionales
RequerimientosComplementarios para usecases específicos
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles87
El rol de los Requerimientos en el Ciclo de VidaFase de Comienzo:Fase de Comienzo: identificar la mayoría de los use cases para delimitar el sistema y el alcance del proyecto. Detallar los más críticosFase de ElaboraciFase de Elaboracióón: n: capturar la mayoría de los requerimientos restantes para poder estimar el esfuerzo de desarrollo.Fase de ConstrucciFase de Construccióón: n: identificar e implementar los requerimientos restantesFase de TransiciFase de Transicióón: n: Casi no hay captura de requerimientos, a menos que se requieran cambios.
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles88
Trabajadores y artefactos involucrados en laCaptura de Requerimientos
Analista deSistemas
ArquitectoEspecificadorde Use Case
Diseñador Interfaz
Modelode Use Case
Glosario
Responsablepor
Responsablepor Responsable
porResponsable
por
Actor Use Case Prototipo deInterfaz de Usuario
Descripción de
Arquitectura
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles89
Workflow de Análisis¿ Por qué es importante este workflow?
Propósito del Análisis
Permite una especificación más precisa de los requerimientos.Se describe usando el lenguaje del desarrollador.Estructura los requerimientos.Puede verse como un primer corte del modelo de diseño.
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles90
El rol del Análisis en el Ciclo de Vida
Fase de Comienzo: Fase de Comienzo: Contribuye a planificación de los incrementos. Fases deFases de ElaboraciElaboracióónn y Construcciy Construccióón: n: Contribuye a obtener una estructura robusta y estable y facilita una comprensión más profunda de los requerimientos
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles91
Workflow de Análisis
Propósito del workflow de Análisis
Que incluye Trabajo a Realizar Artefacto Resultante
Clases de AnálisisAnálisis de Use Cases
Construir realizaciones de use cases
Modelo de Análisis
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles92
Trabajadores y artefactos involucrados en el Análisis
Arquitecto ArquitectoIngenierode Use Case
Modelode Análisis
Responsablepor
Responsablepor
Realizaciónde Use Case-Análisis
Análisis de Clases
Descripción de
Arquitectura
Responsablepor
Paquetede Análisis
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles93
Workflow de Diseño
Propósitos del DiseñoAdquirir una comprensión profunda de aspectos relacionados con requerimientos no funcionales yrestricciones del entorno de implementación.Refinar los requerimientos para subsistemas, clases e interfaces individuales.Descomponer el trabajo de implementación en piezas manejables por diferentes equipos de desarrollo.Capturar interfaces entre subsistemas.Crear una abstracción de la implementación del sistema.
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles94
El rol del Diseño en el Ciclo de Vida
Fase de Comienzo: Fase de Comienzo: Contribuye a delinear la arquitectura. Fases deFases de ElaboraciElaboracióónn y Construcciy Construccióón: n: Contribuye a obtener una estructura robusta y estable del sistema, y crea el plano para el modelo implementación.
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles95
Workflow de DiseñoPropósitos del Diseño
Que incluye Trabajo a Realizar Artefacto ResultanteAnálisis Arquitectónico Documento de Arquitectura
de Software
Construir el Modelo de Diseño Modelo de Diseño
Modelo de Persistencia /Modelo de Datos
Diseñar Persistencia
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles96
Trabajadores y artefactos involucrados en el Diseño
Arquitecto Ingeniero deComponentes
Subsistemade Diseño
Responsablepor
Ingenierode Use Case
Responsablepor
Realizaciónde Use Case-Diseño Diseño de
Clases
Descripción de
Arquitectura
Responsablepor
InterfaceModelode Diseño
Modelode
Despliegue
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles97
Workflow de ImplementaciónPropósitos de la implementación
Planear las integraciones requeridas en cada iteración.Distribuir el sistema en componentes ejecutablesmapeables a los nodos del modelo de despliegue.Implementar el diseño de las clases y subsistemas.Prueba de Unidad de componentes.Integración de componentes en uno o más
ejecutables.
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles98
El rol de la Implementación en el Ciclo de Vida
Fase de ElaboraciFase de Elaboracióón: n: Crear un artefacto ejecutable de la arquitectura. Se focaliza en la Fase ConstrucciSe focaliza en la Fase Construccióón.n.Fase de TransiciFase de Transicióón: n: Manejar los defectos encontrados.
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles99
Workflow de Implementación
Propósitos de la implementación
Que incluye
Trabajo a Realizar Artefacto ResultanteEstructurar Modelo de Implementación
Implementación de Subsistemas
Construir el Plan de Integración Plan de Integración
Componentes ProbadosInforme de Prueba
Ejecutar Prueba de Unidad
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles100
Trabajadores y artefactos involucrados en la Implementación
Interface
Arquitecto Ingeniero deComponentes
Subsistemade Implementación
Responsablepor
Integradorde Sistema
Responsablepor
Plan de Integraciónde Construcción
Componente Descripción
de Arquitectura
Responsablepor
Modelode Implemen-tación
Modelode
Despliegue
fonts.dll{serverOnly}
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles101
Workflow de PruebaPropósitos de la prueba
Planear las pruebas requeridas en cada iteración.Diseñar e implementar las pruebas, diseñando casosde prueba.Ejecutar los tests y actuar en consecuencia con los resultados de los tests.Creación de procedimientos de prueba y componentes ejecutables para la automatizaciónde las mismas.
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles102
El rol de la Prueba en el Ciclo de Vida
Fase de Comienzo: Fase de Comienzo: Planificación de pruebas inicialesFase de ElaboraciFase de Elaboracióón: n: Cuando la arquitectura ejecutable es verificada.Fase de ConstrucciFase de ConstruccióónnCuando se implementa el sistema. Fase de TransiciFase de Transicióón: n: Concentra en defectos detectados durante el uso.
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles103
Workflow de Prueba
Propósitos de la prueba
Que incluye Trabajo a Realizar Artefacto Resultante
Plan de Prueba Planear la Prueba
Diseñar los casos de Prueba Casos de Prueba
Ejecutar las Pruebas Requerimientos de Cambio
Informe de Evaluación de PruebasEvaluar las Pruebas
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles104
Trabajadores y artefactos involucrados en la Prueba
Ingeniero de Prueba Tester de
Integración
Plan de Prueba
Procedim.de
Prueba
Responsable por
Modelode Prueba
X
Ingeniero deComponentes
Responsablepor
Prueba deComponente
fonts.dll{serverOnly}Caso de
Prueba
X
Evaluac.dePrueba
Tester deSistema
X
Responsable por
Defecto
UML y Proceso Unificado de DesarrolloUML y Proceso Unificado de Desarrollo
Ing. Judith Meles105
Historia de CambiosHistoria de CambiosFecha Descripión Autor
08/02/2004 Incorporación de ppt’s relacionadas con la característica del proceso asociada al ciclo de vida iterativo e incremental, y al concepto de vistas arquitectónicas.
Judith Meles