Professional Documents
Culture Documents
¿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
Harel
Meyer Gamma, et al
Statecharts
Before and after Frameworks and patterns,
conditions
HP Fusion
Booch
Operation descriptions and
Booch method message numbering
Embley
Rumbaugh
Singleton classes and
OMT
high-level view
Jacobson Wirfs-Brock
OOSE
Responsibilities
Ö BLOQUES DE CONSTRUCCIÓN
Compuestos por:
ELEMENTOS
RELACIONES
DIAGRAMAS
ELEMENTOS
Cosas: Notacionales
Nota
Cont rol ar es te
c om ponente luego de
texto simple
la s igui ente revis ión de
dis eño
URL embebida
V er Ve r a lg o r1 .d o c p a ra
http://www.rational.c om o b te n e r d e ta lle s s o b re
para inform ac ión adic ional e s te p ro ce s o
s obre UM L
link a un documento
Diagramas State
State
Diagrams
Diagrama
Diagrams
Use Case de
Diagrama de Clase
Use Case
Diagrams State
Use Case
Use Case Diagrams de
Casos State
Diagrama
Diagrams
Diagrama
Diagrams Uso Diagrams de
Diagrams
de Objeto
Secuencia
Scenario Diagrama
State
Scenario
Diagrama
Diagrams State de
Diagrams
Diagramsde Diagrams
Componente
Colaboración Modelos
Scenario Component
Scenario de
Diagrama
Diagrams
Component
Diagrams
Diagrama
Diagrams de
Diagrams
Transición Despliegue
Diagrama
de Estados
de
Actividad
10 Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Diagrama de Clases
Al u m n o suspender ()
nombre de la clase
A lum no
A lum no legajo
legajo atributos nom bre
nom bre dom ic ilio
dom i cilio
< < c ons truc tor> > c rear()
< < query > > m os trarNom bre()
operaciones
A l umn o
crear()
m ostrarNom bre()
bor rar ()
Interface Implementación
IAlumnos Al u m n o
Clase
IReportes
IReportes
1
1
1 1 Rubro
E jemplar P elicula
0..* 1
1 C ategoria
0..* 1
Reserva 1..*
0..* A ctor
D irector
Diagrama de Objetos
Diagrama de Objetos
S 1:S oc io
:A lquil er
Componentes
Interfaces
Relaciones de asociación, generalización,
realización y/o dependencia
Buscar.html
Consulta.html
bus car.exe
<<hiperlink>>
Logo.jfg
.ddl .dll
Diagrama de Despliegue
Nodos
Relaciones de asociación y/o dependencia.
Solo para
consultas de
Socios
Cliente2
Cliente1
ClienteN
LAN
Server Server
Datos Aplicacion
Casos de Uso
Actores
Relaciones de extensión, inclusión ,
generalización y/o dependencia.
Registrar Devolución de
Películas
Objetos
Links
Mensajes
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
6 : se l e cci o n a r 8 : b u sca r ()
1 : a b ri r 4 : b u sca rP e l i cu l a
: P a n ta l l a Re g i str : G e sto r
o Alquiler 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
Objetos
Links
Mensajes
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
Estados
Transiciones
Eventos
nuevo y no pago
n u e vo y p a g o
co n su l ta y fe ch a De vP re vi sta < fe ch a
D evuelto/ pago D evuelto/
Pagado Pendiente dePa go
Vencido / Pendiente
de Pago
Î Contiene comúnmente:
Estados de actividad y acción
Transiciones
Objetos
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
Regl as d e Negoc io
Existen variaciones...
• entornos (frameworks)
• modelos
• subsistemas
que son clases de paquetes.
Mecanismos de Extensibilidad
Estereotipos
Pantalla de
Alq uiler
Mecanismos de Extensibilidad
Valores Rotulados
font s .dl l
{s erverOnly }
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}
{o r}
C u e n t a B a n c a ria
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
El Desarrollo de Software
¿Qué se espera de un
Proceso de Desarrollo ?
ª Que sea capaz de evolucionar
PROCESO
Plantilla
Automatización
Resultado
PRODUCTO
Proceso Workflow
Actividad
Trabajador
Artefacto
Trabajador
Describir un
Analista
Use Case
Una pieza de
información que es
producida, modificada o
Use case usada por un proceso
Paquete de
Use case
Estructurar el
Encontrar Actores
Analista de y Use Cases Modelo de Use Case
Sistemas
Mary
Detallar un
Especificador Use Case
Juan de Use Case
Prototipar
Diseñador Interface de Usuario
Interfaz
Aspectos Característicos
del Proceso Unificado
Ö Centrado en la Arquitectura
Ö Iterativo e Incremental
Iterativo e Incremental
Fases
Workflows
Comienzo Elaboración Construcción Transición
centrales
Requerimientos
Una iteración en la Fase Elaboración
Análisis
Diseño
Implementación
Prueba
--- Iter.
Iter. Iter. --- --- --- --- Iter.
#n
#1 #2 # n-1
Iteraciones
45 Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Ö 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 administrar el
proyecto.
ÖNo es algo que afecta únicamente a los desarrolladores
en un proyecto.
time
Iterativo e Incremental
Conjunto de Requerimientos
Conjunto de Diseño
Conjunto de Implementación
Conjunto de Despliegue
ÖIntegración Continua
No hacerlo de una vez, cerca de la fecha de entrega
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”
Inicio
Cascada
Elaboración
Riesgo Construcción
Transición
Tiempo
Integración Continua
Ö Transición
Facilitar la aceptación del usuario
Desarrollar
Iteración N
•Recolectar métricas
Iteración N de costo y calidad
Evaluación Iteración N
Revisar el Plan
General del Proyecto
• Costos
• Programación
• Alcance/Contenido
Riesgos Eliminados
Revisar riesgos del Proyecto
• Repriorizar
“Proceso Mini-Cascada”
Planif. Iteración
Captura Reqs.
Análisis & Diseño
Implementación
Prueba
Preparar Release
Captura de Requerimientos
Implementación
Prueba
Preparar Release
Ö Planificación de Iteración
Antes que inicie la iteración, deberán establecerse los
plan de desarrollo
Incluir hitos intermedios para monitorear el progreso
Ö 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.
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
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
principio
Las cosas cambiarán durante el período de desarrollo
Conduce el Proceso
Delinea la arquitectura
Centrado en la Arquitectura . . .
Classes, interfaces,
collaborations comportamiento Componentes
Use cases
Vista de Use
Case
Vista de Vista de Despliegue
Proceso
¿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:
Vista de los datos, vista de seguridad
Ö 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
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
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
Ejemplo de Arquitectura
Vista Arquitectónica del Diseño Î
Subsistemas / Interfaces
<<subsistema>>
<<subsistema>> Administrador <<subsistema>>
Interface ATM Extracción
Transacciones Transferencia Administrador
Cliente Cuentas
Dispenser
Ejemplo de Arquitectura
Vista Arquitectónica del Despliegue Î
Distribución / Clases Activas
Ejemplo de Arquitectura
Vista Arquitectónica del Despliegue Î
Distribución / Clases Activas
Base Datos
Relacional Base Datos
Relacional
Implementación Modelo
Impl.
Prueba Modelo
Prueba
Cada workflow está
asociado con uno o
más modelos.
83 Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Modelado de Negocio
Requerimientos
Análisis & Diseño
Implementación
Prueba
Despliegue
Workflows de Soporte
Ges. de Configurac.
Adm. De Proyecto
Entorno
Iteraciones Iter. Iter. Iter. Iter. Iter. Iter. Iter.
Preliminares(s) #1 #2 #n #n+1 #n+2 #m #m+1
Iteraciones
85 Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Modelo
de Use Actor Glosario Use Case Prototipo de Descripción
Case Interfaz de
de Usuario Arquitectura
Workflow de Análisis
ª¿ Por qué es importante este workflow?
ª Propósito del Análisis
ª 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
ª Que incluye
Trabajo a Realizar Artefacto Resultante
Análisis de Use Cases Clases de Análisis
Modelo
de Análisis Descripción Realización Análisis de
Paquete
de de Use Case Clases
de Análisis
Arquitectura -Análisis
Workflow de Diseño
ª Propósitos del Diseño
Î 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.
93 Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Workflow de Diseño
ª Propósitos del Diseño
ª Que incluye
Trabajo a Realizar Artefacto Resultante
Análisis Arquitectónico Documento de Arquitectura
de Software
Ingeniero Ingeniero de
Arquitecto
de Use Case Componentes
Responsable
por
Responsable
por Responsable
por
Modelo
Modelo de
Realización
de Diseño Despliegue de Use Case Interface
Descripción Subsistema
de -Diseño Diseño de
Clases de Diseño
Arquitectura
Workflow de Implementación
ª Propósitos de la implementación
ª 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.
Workflow de Implementación
ª Propósitos de la implementación
ª Que incluye
Trabajo a Realizar Artefacto Resultante
Estructurar Modelo de Implementación de Subsistemas
Implementación
Integrador Ingeniero de
Arquitecto
de Sistema Componentes
Responsable
por
Responsable
por Responsable
por
Modelo
Modelo de
fonts.dll
{serverOnly}
de Despliegue Interface
Descripción Plan de
Implemen- Componente Subsistema
de Integración
tación
Arquitectura de de Implementación
Construcción
Workflow de Prueba
ª Propósitos de la prueba
ª Propósitos de la prueba
ª Que incluye
Trabajo a Realizar Artefacto Resultante
Planear la Prueba Plan de Prueba
X X
X
Caso de Defecto
fonts.dll
{serverOnly}
Modelo Prueba
de Procedim.Evaluac. Plan de Prueba de
Prueba de dePrueba Prueba Componente
Prueba
Historia de Cambios
Fecha Descripión Autor