UML y Proceso Unificado de Desarrollo
1
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
¿Qué 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
2
Ing. Judith Meles
Contribuciones al UML
UML y Proceso Unificado de Desarrollo Harel
Meyer Before and after conditions
Statecharts
Gamma, et al Frameworks and patterns,
HP Fusion
Booch
Operation descriptions and message numbering
Booch method
Embley
Rumbaugh
Singleton classes and high-level view
OMT
Jacobson
Wirfs-Brock
OOSE
Responsibilities
Shlaer - Mellor Object lifecycles 3
Odell Classification Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
¿ Có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. 4
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
¿ Por qué 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 conceptuales y físicas de un sistema.
5
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Principales Elementos del Lenguaje Ö BLOQUES DE CONSTRUCCIÓN Ö REGLAS PARA JUNTAR LOS BLOQUES DE
CONSTRUCCIÓN Ö MECANISMOS COMUNES PARA APLICAR UML
6
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Bloques de Construcción de UML
Compuestos por: ELEMENTOS RELACIONES DIAGRAMAS
7
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Bloques de Construcción de UML ELEMENTOS Estructurales
De Comportamiento
Agrupamiento
Clase Interacción Paquete Clase Activa Máquina de Estado Modelo Interface Subsistema Use Case Entorno Colaboración Componente Nodo 8
Notacionales
Nota
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Bloques de Construcción de UML
Cosas: Notacionales Nota Cont rol ar es te c om ponente luego de la s igui ente revis ión de dis eño
texto simple
URL embebida V er http://www.rational.c om para inform ac ión adic ional s obre UM L
Ve r a lg o r1 .d o c p a ra o b te n e r d e ta lle s s o b re e s te p ro ce s o
link a un documento
9
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Bloques de Construcción de UML
Diagramas Use Case Use Case Diagrama Diagrams Diagrams de Secuencia Scenario Scenario Diagrama Diagrams Diagrams de Colaboración Scenario Scenario de Diagrama Diagrams Diagrams Transición de Estados
10
Use Case de Diagrama Use Case Diagrams Casos Diagrams de Uso
State State Diagrams Diagrama Diagrams de Clase
Modelos
Diagrama de Actividad
State State Diagrama Diagrams Diagrams de Objeto
Diagrama State State de Diagrams Diagrams Componente
Component Component Diagrams Diagrama Diagrams de
Despliegue
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Diagrama de Clases
Î
Muestra un conjunto de clases, interfaces y colaboraciones y sus relaciones
Î
Contiene comúnmente:
Clases Interfaces Relaciones de asociación, generalización y/o dependencia
11
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Clase
Clase Activa
Alum no
Al u m n o
ManejadorNotas
suspender ()
nombre de la clase A lum no
A lum no legajo nom bre dom i cilio
atributos
legajo nom bre dom ic ilio < < c ons truc tor> > c rear() < < query > > m os trarNom bre()
operaciones A l umn o crear() m ostrarNom bre() bor rar ()
12
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Interface IAlumnos
Implementación Al u m n o
Clase IReportes
IAlumnos
A lum no.java
Componente IReportes
13
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Diagrama de Clases Em pleadoV ideo
0..* A bono D etalleA bono
P ers ona
1..*
1 0..1
TipoA bono
0..1 A lquiler 1..*
Ticket
D etalleTicket 1..*
0..1
S ocio
D etalleTipoA bono
1
1
1 Rubro
1 P elicula
1
0..* 0..*
Reserva
1
1 1..*
D irector
14
1..*
C alificación
Ubic acio n
E jemplar
1
C ategoria
0..* A ctor
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Diagrama de Objetos Î
Muestra un conjunto de objetos y sus relaciones.
Î
Contiene comúnmente:
Objetos Conexiones (links)
15
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Diagrama de Objetos
S 1:S oc io
E 1:E jem plar
:A lquil er
P 1:P elic ula
16
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Diagrama de Componentes Muestra un conjunto de componentes y sus relaciones. Î Contiene comúnmente:
Î
Componentes Interfaces Relaciones de asociación, generalización, realización y/o dependencia
17
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Diagrama de Componentes
Buscar.html
Consulta.html
bus car.exe
<
>
Logo.jfg
.ddl
18
.dll
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Diagrama de Despliegue
Muestra un conjunto de nodos y sus relaciones. Î Contiene comúnmente:
Î
Nodos Relaciones de asociación y/o dependencia.
19
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Diagrama de Despliegue
Solo para consultas de Socios Cliente2
Cliente1
ClienteN
LAN
20
Server
Server
Datos
Aplicacion
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Diagrama de Casos de Uso
Muestra un conjunto de use cases, actores y sus relaciones. Î Contiene comúnmente:
Î
Casos de Uso Actores Relaciones de extensión, inclusión , generalización y/o dependencia.
21
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Diagrama de Casos de Uso <
> Registrar Alquiler de Película Validar Socio <<extend>> Empleado del Video
Registrar Socio
Validar Socio Manualmente
Validar Socio con T arjeta
Registrar Devolución de Películas
22
Socio
Brindar Consulta de Películas
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Diagrama de Colaboración Diagrama de secuencia que enfatiza la organización estructural de los objetos. Muestra un conjunto de objetos y conexiones entre esos objetos y los mensajes enviados y recibidos por esos objetos. Î Contiene comúnmente:
Î
Objetos Links Mensajes
23
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Diagrama de Colaboración Caso de Uso Registrar Alquiler de Película
: P e li cu l a
2 : m o stra rP a n ta l l a 5 : b u sc a r()
1 : a b ri r
8 : b u sca r ()
6 : se l e cci o n a r
4 : b u sca rP e l i cu l a
: P a n ta l l a Re g i str o Alquiler
: Ejem plar
: G e sto r Alquiler
: P e l i cu l a
9 : se l e cci o n a r
3 : to m a rDa to sP 7 : m Di sp o n i b i l i d a d E j e m p l a r
E n ca rg a d o V i d e o
: E je m p l a r 1 0 : cre a r () 1 1 : ac tu a li za rD isp
: Alquiler
24
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Diagrama de Secuencia Diagrama de secuencia que enfatiza el orden de los mensajes en función del tiempo. Muestra un conjunto de objetos y los mensajes enviados y recibidos por esos objetos. Î Contiene comúnmente:
Î
Objetos Links Mensajes
25
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Diagr. de Secuencia: U-C Registrar Alquiler de Película E n ca rg a d o V i d e o : E n ca rg a d o V i d e o a b ri r
: P a n ta l l a Re g i stro
: Ge sto r Alquiler
: P el i cu l a
: Pe l i cu l a
: Ejem plar
: Ejem plar
: Alquiler
m o stra rP a n ta l l a
to m a rDa to sP
b u sca rP e l i cu l a
b u sca r()
se l e cci o n a r
m Di sp o n i bi l i d ad E j em p l a r
b u sca r ()
se l e cci o n a r
cre ar ()
a ctu a l i za rDi sp
26
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Diagrama de Transición de Estados
Muestra una máquina de estados, compuesta por estados, transiciones, eventos y actividades. Î Contiene comúnmente:
Î
Estados Transiciones Eventos
27
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Diagrama de Transición de Estados Clase Alquiler nuevo y no pago n u e vo y p a g o
Generado / Pagado
cons u lta y fecha De vPrevis ta < fec ha
Vencido / Pagado
Generado/ Pen diente de Pago
devolución y cobro recargo d e v ol u ci ó n
pago y devolución
D evuelto/ Pagado
pago
D evuelto/ Pendiente dePa go
pago y devolución
devoluc ión co n su l ta y fe ch a De vP re vi sta < fe ch a
devolución Vencido / Pendiente de Pago
28
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Diagrama de Actividad Î
Muestra el conjunto de actividades, y el flujo de secuencia o desglose de actividad en actividad, y los objetos que actúan y que son afectados.
Î
Contiene comúnmente: Estados de actividad y acción Transiciones Objetos
29
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Diagrama de Actividad Caso de Uso : Registrar Alquiler de Película T O M AR D AT O S
VE R IF IC AR D IS P O N IB ILI D AD
C AN C E L AR
C O N F IR M AR AL Q U IL E R
C R E AR AL Q U IL E R
AC T U AL IZ AR E S T AD O E J E M P L AR
T E R M IN AR
30
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Cosas: Agrupamiento Paquete Regl as d e Negoc io
Existen variaciones... • entornos (frameworks) • modelos • subsistemas que son clases de paquetes.
31
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Mecanismos de Extensibilidad Estereotipos
< < Interface> > IA genteReglas
Pantalla de Alq uiler
32
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Mecanismos de Extensibilidad Valores Rotulados font s .dl l {s erverOnly }
33
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Mecanismos de Extensibilidad Restricciones P o rta fo lio O rg a n iz a c ió n
restricción simple
{s e g u r a} C u e n t a B a n c a ria
{o r}
restricción a través de múltiples elementos
P e rs o n a
0+. .es 1 pos o
g en e r o : { m a s c , fe m e n}
0..1 + es pos a {g e n e ro . e s p o s a = fe m e n in o g e n e ro . e s p o s o = m a s c u lin o }
restricción en lenguaje formal
34
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
El Desarrollo de Software
Cada nueva versión es desarrollada incrementalmente en una serie de pasos
35
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
¿Qué entendemos por Proceso?
36
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
¿Qué es el Proceso de Desarrollo Unificado ? Es un entorno de proceso genérico (framework) que puede especializarse para una gran variedad de sistemas de software, en diversas áreas de aplicación, distintos tipos de organización y de tamaños de proyectos. 37
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
¿Qué se espera de un Proceso de Desarrollo ? ª Que sea capaz de evolucionar ª Durante su evolución se limite a las realidades que imponen : La Tecnología Las Herramientas La gente Los patrones organizacionales
38
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Pilares en el Desarrollo de Software PROCESO Plantilla Automatización
PERSONAL
Participante
PROYECTO
HERRAMIENTAS
Resultado
PRODUCTO
39
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
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 40
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Estructura del Proceso de Desarrollo
Proceso
Workflow
Actividad
Trabajador Artefacto
41
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Estructura de un Workflow del Proceso Un rol desempeñado por un individuo o equipo
Actividad
Una unidad de trabajo
Trabajador Analista
responsable por
Use case
42
Paquete de Use case
Describir un Use Case
Artefacto Una pieza de información que es producida, modificada o usada por un proceso
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Workflows, trabajadores y recursos... Analista de Sistemas
Estructurar el Modelo de Use Case
Encontrar Actores y Use Cases
Mary Arquitecto
Juan
Especificador de Use Case
Diseñador Interfaz 43
Priorizar Use Cases
Detallar un Use Case
Prototipar Interface de
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Aspectos Característicos del Proceso Unificado Ö Conducido por Casos de Uso Ö Centrado en la Arquitectura Ö Iterativo e Incremental
44
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Iterativo e Incremental Workflows centrales
Fases Comienzo Elaboración
Construcción
Transición
Requerimientos Una iteración en la Fase Elaboración
Análisis Diseño Implementación Prueba
Iter. #1
Iter. #2
---
---
---
--- ---
Iter. # n-1
Iter. #n
Iteraciones 45
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Lo qué No es un Ciclo de Vida Iterativo... Ö No es trabajo no profesional Ö No es un refugio para los desarrolladores Ö No es impredecible Ö No es rediseñar la misma cosa una y otra vez hasta que esté perfecto. Ö No es una excusa para no planificar ni istrar el proyecto. ÖNo es algo que afecta únicamente a los desarrolladores en un proyecto. 46
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Lo qué SI es un Ciclo de Vida Iterativo... ÖEs planificado y istrado. ÖEs predecible. ÖAcomoda los cambios a los requerimientos con menos alteraciones. ÖEstá basado en prototipos ejecutables que evolucionan, no en documentación. ÖInvolucra a s y clientes a lo largo del proceso. ÖEs conducido por los riesgos.
47
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
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 s
48
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Fases e Iteraciones Inicio
Prelim Iteration
Elaboración
...
Arch Iteration
Release
Release
...
Construcción
Dev Iteration
Release
Dev Iteration
Release
Release
Transición
...
...
Trans Iteration
Release
Release
Release
Una iteración es una secuencia de actividades con un plan establecido y un criterio de evaluación, que resulta en un release ejecutable. 49
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Iterativo e Incremental Requerimientos
Análisis & Diseño
Requerimientos
Análisis & Diseño
Requerimientos
Implementación
Testing
Implementación
Análisis & Diseño
Implementación
Despliegue
Testing
Testing
Despliegue
Despliegue
Fase Iniciación
Elaboración
Construcción
Transición
Conjunto de Requerimientos Conjunto de Diseño Conjunto de Implementación Conjunto de Despliegue
50
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Tres Aspectos Importantes del Enfoque Iterativo ÖIntegración Continua No hacerlo de una vez, cerca de la fecha de entrega ÖReleases ejecutables frecuentes ÖAtaca los riesgos con progreso demostrable Algo interno, algo entregado. Progreso medido en productos, no es documentación o estimaciones de ingeniería.
51
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Beneficios Resultantes Ö 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 futuras iteraciones 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.).
52
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Riesgo en un Desarrollo Iterativo
Inicio
Cascada Elaboración
Riesgo
Construcción Transición
Iteración Preliminar
Iteración Arquitect
Iteración Arquitect
Iteración Iteración Iteración Desarrollo Desarrollo Desarrollo
Iteración Iteración Post Transición Transición Despliegue
Tiempo
Copyright © 1997 by Rational Software Corporation 53
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Gestión de Riesgo fase por fase ÖInicio
Agrupar los riesgos del proyecto realizando una prueba de conceptos.
ÖElaboración
54
Desarrollar una comprensión común de los alcances del sistema y del comportamiento deseado, explorando escenarios con expertos del dominio y s finales. Establecer la arquitectura del sistema. Diseñar mecanismos comunes para cubrir aspectos de todo el sistema.
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Gestión de Riesgo fase por fase Ö Construcción Refinar la arquitectura Iteraciones conducidas por el Riesgo Integración Continua Ö Transición Facilitar la aceptación del Medir la satisfacción del Ö Ciclos Post Implementación Enfoque continuo de evolución Preservar la integridad arquitectónica.
55
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Las Iteraciones conducen a la Reducción del Riesgo Riesgos Iniciales del Proyecto Alcance Incial del Proyecto
Definir Escenarios para manejar riesgos mayores
Iteración N
Plan Iteración N • Costo • Cronograma
Desarrollar Iteración N •Recolectar métricas de costo y calidad Evaluación Iteración N
Revisar el Plan General del Proyecto • Costos • Programación • Alcance/Contenido Revisar riesgos del Proyecto • Repriorizar
56
Riesgos Eliminados
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Los casos de uso conducen el Proceso de Iteración Comienzo
Elaboración
Iteración 1
Iteración 2
Construcción
Transición
Iteración 3
“Proceso Mini-Cascada” Planif. Iteración Captura Reqs. Análisis & Diseño Implementación Prueba Preparar Release
57
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
El Ciclo de Vida de Iteración: Una Mini-Cascada • Resultados de iteraciones previas • Actualizar evaluación de riesgos • Librerías de Modelos, código y pruebas contraladas.
Escenarios Elegidos
Planificación Iteración Captura de Requerimientos Análisis & Diseño Implementación Prueba Preparar Release
Descripción del Release Evaluación de riesgos controlada Librerías controladas
58
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Actividades detalladas del Ciclo de Vida Iterativo Ö Planificación de Iteración Antes 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ón Preparar el plan detallado para la iteración como parte del plan de desarrollo Incluir hitos intermedios para monitorear el progreso Incluir walkthroughs y revisiones 59
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Actividades detalladas del Ciclo de Vida Iterativo Ö 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 60
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Actividades detalladas del Ciclo de Vida Iterativo Ö Implementación Automáticamente generar código desde el modelo de diseño Manualmente genera código para las operaciones Completar procedimientos de prueba Conducir pruebas de unidad y de integración Ö Prueba
Integrar y probar el código desarrollado con el resto del sistema (releases anteriores). 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 release Sincronizar el código y los modelos de diseño Ubicar los productos de la iteración en librerías controladas
61
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Distribución del Trabajo en la Iteración Ö El 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 los desarrolladores. 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 para pruebas 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 62
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Evaluación de la Iteración Ö Evaluar los resultados de la iteración en relación a los criterios establecidos durante la planificiacíón de la iteración: Funcionalidad Performance Capacidad Medidas de Calidad Ö Considerar cambios externos que han ocurrido durante la iteración Por ejemplo, cambios a los requerimientos, necesidades de los s, planes de la competencia Ö Determinar que retrabajo se debe hacer, si existe, y asignarlo a las iteraciones restantes 63
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Elección de 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? Usualmente El 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.
64
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
No existen balas de plata Ö Recuerde la razón principal para usar un ciclo de vida iterativo: No se tiene toda la información que se necesita al principio Las 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ódigo desarrolladas deberán tirarse. Los requerimientos cambiarán en el camino.
65
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Conducido por Use Cases . . .
Requerimientos
Análisis
Diseño
Implementación
Prueba
Captura el Valor de los Requerimientos Conduce el Proceso Delinea la arquitectura
66
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Centrado en la Arquitectura . . . Arquitectura = Elementos + Formas + Motivaciones
67
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
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 68
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Las Vistas presentan la Arquitectura La arquitectura es el conjunto significativo de decisiones a cerca de: La organización del sistema de software La selección de elementos estructurales y sus interfaces Su comportamiento La composición de esos elementos estructurales y de comportamiento en subsistemas progresivamente más grandes. El estilo arquitectónico que guía esta organización.
69
Ing. Judith Meles
Arquitectura
UML y Proceso Unificado de Desarrollo
Ö La arquitectura de Software implica definiciones a cerca de: Usabilidad Funcionalidad Performance Resistencia Reuso Compresibilidad Restricciones Económicas y Tecnológicas Aspectos Estéticos
70
Ing. Judith Meles
Vistas en UML
montaje del sistema istración de la configuración
vocabulario funcionalidad
Vista de Diseño Classes, interfaces, collaborations
Vista de Proceso Clases Activas performance escalabilidad 71
UML y Proceso Unificado de Desarrollo
Vista de Implementación
Use cases
comportamiento
Componentes
Vista de Use Case Vista de Despliegue
Nodos Topología, distribución Entrega e instalación Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
¿Cuá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:
72
Vista de los datos, vista de seguridad Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
La descripción del sistema se separa en Vistas Cada 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 (s, otros sistemas, etc.)
Ö Vista Lógica Describe como será provista la funcionalidad del sistema (clases, objetos y relaciones) Ö Vista de Componente Describe los módulos de implementación y sus dependencias (código fuente, bibliotecas, componentes de terceros) Ö Vista de Despliegue Muestra la distribución física del sistema (computadoras, dispositivos) 73
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
La Vista de Casos de Uso Ö Actor Un actor es alguien o algo que debe interactuar con el sistema que estamos modelando Casos de Uso Cada Caso de Uso es una secuencia de transacciones que ocurren en un diálogo entre un Actor y el sistema Diagrama de Secuencia Un Diagrama de Secuencia muestra las interacciones ente los objetos distribuidas en una Secuencia de tiempo Diagrama de Colaboración Un Diagrama de Colaboración muestra los vínculos y responsabilidades de cada objeto basado en las interacciones que existen entre ellos Diagrama de Estados Un 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
Ö Ö Ö
Ö
74
Ing. Judith Meles
La Vista Lógica
UML y Proceso Unificado de Desarrollo
Ö Diagrama de Clase Las clases existentes, sus atributos y operaciones, y las relaciones estáticas que existen entre ellas Ö Diagrama de Secuencia Un Diagrama de secuencia muestra las interacciones ente los objetos distribuidas en una secuencia de tiempo Ö Diagrama de Colaboración Un Diagrama de Colaboración muestra los vínculos y responsabilidades de cada clase basado en las interacciones que existen entre ellos Ö Diagrama de Estados Un 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
75
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
La Vista de Despliegue Ö 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
76
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Ejemplo de Arquitectura Vista Arquitectónica de Use Case Describe la funcionalidad completa de los use cases más significativos, en el caso de un cajero automático: Extracción Consulta
Vista Arquitectónica del Diseño Î Clases Activas . Clientes
77
. Transacciones
. Cuentas
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Ejemplo de Arquitectura Vista Arquitectónica del Diseño Î Subsistemas / Interfaces
<<subsistema>> Interface ATM
Extracción
Cliente
<<subsistema>> Transacciones
<<subsistema>> Transferencia Cuentas
Dispenser
Transferencia Depositos
78
Historial
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Ejemplo de Arquitectura Vista Arquitectónica del Despliegue Î Distribución / Clases Activas
Server de Aplicación
ATM Cliente Cliente
Cliente
79
internet
Transacci c.
intranet
Server de Datos Cuentas
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Ejemplo de Arquitectura Vista Arquitectónica del Despliegue Î Distribución / Clases Activas
Server de Aplicación
ATM Cliente Cliente
Cliente
80
internet
Transacci c.
intranet
Server de Datos Cuentas
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Modelos de Arquitectura Lógica Interfaz Gráfica
Base de Datos Relacional
Interfaz Gráfica
Modelo Objetos Negocio
Base Datos Relacional
81
Interfaz Gráfica Modelo Objetos Negocio
Base Datos Relacional
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Modelos que se producen 1- Modelo de Negocio
6- Modelo de Proceso
2- Modelo de Dominio
7- Modelo de Despliegue
3- Modelo de Use Case
8- Modelo de Implementación
4- Modelo de Análisis
9- Modelo de Prueba
5- Modelo de Diseño
82
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Workflows y Modelos Modelado de Negocios
Modelo del Negocios
Requirimientos
Modelo l Case Use
Análisis
Diseño
Modelo del Dominio
Los diagramas de UML proveen vistas en cada modelo
Modelo Análisis Modelo l Diseño
Modelo De l Proceso
Modelo Impl.
Implementación
Prueba
83
Modelo Despliegue l
Cada workflow está asociado con uno o más modelos.
Modelo Prueba
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Workflows del Proceso El Proceso Unificado consiste de los siguientes workflows: 1- Modelado de Negocio 2- Requerimientos 3- Análisis 4 -Diseño 5- Implementación 6- Prueba
84
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Estructura del Proceso Unificado de Rational Fases Workflows Centrales
Inicio
Elaboración
Construcción
Transición
Modelado de Negocio Requerimientos Análisis & Diseño Implementación Prueba Despliegue
Workflows de Soporte Ges. de Configurac. . De Proyecto Entorno Iteraciones Iter. Preliminares(s) #1
Iter. #2
Iter. #n
Iter. Iter. #n+1 #n+2
Iter. #m
Iter. #m+1
Iteraciones 85
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Workflow de Captura de Requerimientos ª Propósito de la captura de Requerimientos ª Que incluye:
86
Trabajo a Realizar
Artefacto Resultante
Listar los Requerimientos candidatos
Lista de Aspectos
Comprender el contexto del sistema
Modelo de Negocio Modelo de Dominio
Capturar Requerimientos Funcionales
Modelo de Use Cases
Capturar Requerimientos No Funcionales
Requerimientos Complementarios para use cases específicos Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
El rol de los Requerimientos en el Ciclo de Vida ª 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íticos ª Fase de Elaboración: capturar la mayoría de los requerimientos restantes para poder estimar el esfuerzo de desarrollo. ª Fase de Construcción: identificar e implementar los requerimientos restantes ª Fase de Transición: Casi no hay captura de requerimientos, a menos que se requieran cambios. 87
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Trabajadores y artefactos involucrados en la Captura de Requerimientos Analista de Sistemas
Responsable por
Responsable por
Modelo de Use Case
88
Actor
Especificador de Use Case
Glosario
Use Case
Diseñador Interfaz Responsable por
Prototipo de Interfaz de
Arquitecto
Responsable por
Descripción de Arquitectura
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Workflow de Análisis ª¿ Por qué es importante este workflow? ª Propósito del Análisis
89
Î
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.
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
El rol del Análisis en el Ciclo de Vida ª Fase de Comienzo: Contribuye a planificación de los incrementos. ª Fases de Elaboración y Construcción: Contribuye a obtener una estructura robusta y estable y facilita una comprensión más profunda de los requerimientos
90
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Workflow de Análisis ª Propósito del workflow de Análisis ª Que incluye Trabajo a Realizar Análisis de Use Cases Construir realizaciones de use cases
91
Artefacto Resultante Clases de Análisis Modelo de Análisis
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Trabajadores y artefactos involucrados en el Análisis Arquitecto
Responsable por
Modelo de Análisis
92
Ingeniero de Use Case Responsable por
Descripción de Arquitectura
Realización de Use Case -Análisis
Arquitecto
Responsable por
Análisis de Clases
Paquete de Análisis
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Workflow de Diseño ª Propósitos del Diseño
93
Î
Adquirir una comprensión profunda de aspectos relacionados con requerimientos no funcionales y restricciones 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. Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
El rol del Diseño en el Ciclo de Vida ª Fase de Comienzo: Contribuye a delinear la arquitectura. ª Fases de Elaboración y Construcción: Contribuye a obtener una estructura robusta y estable del sistema, y crea el plano para el modelo implementación.
94
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Workflow de Diseño ª Propósitos del Diseño ª Que incluye Trabajo a Realizar
95
Artefacto Resultante
Análisis Arquitectónico
Documento de Arquitectura de Software
Construir el Modelo de Diseño
Modelo de Diseño
Diseñar Persistencia
Modelo de Persistencia / Modelo de Datos
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Trabajadores y artefactos involucrados en el Diseño Arquitecto
96
Ingeniero de Componentes
Responsable por
Responsable por
Modelo de Modelo de Diseño Despliegue
Ingeniero de Use Case
Responsable por
Descripción de Arquitectura
Realización de Use Case Diseño de -Diseño Clases
Interface Subsistema de Diseño
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Workflow de Implementación ª Propósitos de la implementación Î Planear las integraciones requeridas en cada iteración.
Î Distribuir el sistema en componentes ejecutables
mapeables 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.
97
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
El rol de la Implementación en el Ciclo de Vida ª Fase de Elaboración: Crear un artefacto ejecutable de la arquitectura. ª Se focaliza en la Fase Construcción. ª Fase de Transición: Manejar los defectos encontrados.
98
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Workflow de Implementación ª Propósitos de la implementación ª Que incluye Trabajo a Realizar
99
Artefacto Resultante
Estructurar Modelo de Implementación
Implementación de Subsistemas
Construir el Plan de Integración
Plan de Integración
Ejecutar Prueba de Unidad
Componentes Probados Informe de Prueba
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Trabajadores y artefactos involucrados en la Implementación Arquitecto
Modelo de Implementación
100
Ingeniero de Componentes
Responsable por
Responsable por
Modelo de Despliegue
Integrador de Sistema
Responsable por
fonts.dll {serverOnly}
Descripción de Arquitectura
Interface Plan de Componente Subsistema Integración de Implementación de Construcción Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Workflow de Prueba ª Propósitos de la prueba
101
Î
Planear las pruebas requeridas en cada iteración.
Î
Diseñar e implementar las pruebas, diseñando casos de 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ón de las mismas.
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
El rol de la Prueba en el Ciclo de Vida ª Fase de Comienzo: Planificación de pruebas iniciales ª Fase de Elaboración: Cuando la arquitectura ejecutable es verificada. ª Fase de Construcción Cuando se implementa el sistema. ª Fase de Transición: Concentra en defectos detectados durante el uso.
102
Ing. Judith Meles
Workflow de Prueba
UML y Proceso Unificado de Desarrollo
ª Propósitos de la prueba ª Que incluye Trabajo a Realizar
103
Artefacto Resultante
Planear la Prueba
Plan de Prueba
Diseñar los casos de Prueba
Casos de Prueba
Ejecutar las Pruebas
Requerimientos de Cambio
Evaluar las Pruebas
Informe de Evaluación de Pruebas
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Trabajadores y artefactos involucrados en la Prueba Ingeniero de Prueba Responsable por
X
X
Ingeniero de Componentes Responsable por
Responsable por
X
Caso de Modelo Prueba de Procedim.Evaluac. Plan de Prueba de Prueba de dePrueba Prueba Componente Prueba
104
Tester de Integración
Tester de Sistema
fonts.dll {serverOnly}
Defecto
Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Historia de Cambios Fecha 08/02/2004
105
Descripión 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.
Autor Judith Meles
Ing. Judith Meles