Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ClaseAYD 08
ClaseAYD 08
SISTEMAS
SESION 08
2
Contenidos
1. Modelado de Comportamiento
Diagrama de interacción
Diagrama de secuencia
Diagrama de comunicación
Diagrama de estados
Diagrama de estados
Diagrama de actividades
2. Modelado de Implementación
Diagrama de componentes
Diagrama de despliegue
3
1. Modelado del
Comportamiento
4
Enlaces y Asociaciones
Un enlace es :
una conexión semántica entre objetos.
una instancia de una asociación.
un camino por el cual viaja un mensaje
Persona
+empleado +patron Empresa
calcularCompensacion() 1..*
asignar() *
enlace
p:Persona :Empresa
1: asignar(desarrollo)
mensaje 5
Modelado del comportamiento
Listo
Mensaje self
tono
Objeto
T iempo
marcar numero
Busca numero
[timbrado<30 seg]: tono sonando
timbre sonando
Foco de
control o de
activacion
telefono levantado
para tono
Linea de
vida
para timbre
Mensajes
9
Mensajes
Especificación de una comunicación entre objetos
que transmite información, con la expectativa de
desencadenar una actividad.
10
Mensajes
El envío de una señal se utiliza para desencadenar
una reacción del receptor de forma asíncrona y sin
una respuesta.
La invocación de una operación se aplicará una
operación a un objeto en un modo síncrono o
asíncrono, y pueden requerir una respuesta del
receptor.
Todas estas solicitudes constituyen mensajes.
Corresponden a los estímulos en el lenguaje UML
11
Mensajes
El símbolo de mensaje es una flecha apuntando en su
dirección, y también puede mostrar la siguiente
información:
Un número de secuencia que indica el orden en que
asociada) metodo
La condición [cond] metodo()
El argumento metodo(arg)
12
Diagramas de Secuencia
: : : Pedido : LineaPedido : Item
InterfacePedido ControladorPedido
1: preparar()
2: preparar() 3: * preparar()
4: hayStock:=check()
5: [hayStock] eliminar()
6: pedir?:= necesarioPedir()
9: [hayStock] <<create>>
: ItemEntregado
Numeracion
Simple jerarquica o Iteración Condición Asignación Creación
Secuencial de objetos
13
Diagramas de Comunicación
1: preparar() 2: preparar()
: : ControladorPedido : Pedido
InterfacePedido
4: hayStock:=check()
: Item 5: [hayStock] eliminar() :
LineaPedido
: ItemPedido
:
ItemEntregado
14
Diagrama de Secuencia
c:Cliente p:ProxyODBC
<<create>> :Transaccion
establecerAcciones
establecerValores
Línea de vida
establecerValores
tiempo
exito
<<destroy>>
Foco de
control
15
Diagrama de Comunicación
1: <<create>>
2: establecerAcciones
6: <<destroy>>
c:Cliente :Transac
cion
5: exito
3: establecerValores
4: establecerValores
p:Proxy
ODBC
16
Diagrama de Secuencia
c:Cliente a:Ayuda
Planificacion
<<create>> :AgenteBilletes
establecerItinerario(i)
calcularRuta
ruta
<<destroy>>
notificar
17
Diagrama de comunicación
3: calcularRuta
1: <<create>>
2: establecerItinerario(i)
5: <<destroy>>
c:Cliente :Agente
Billetes
4: ruta
6: notificar
a:Ayuda
Planificacion
18
Numeración secuencial
2: m2()
1: m1() 3: m3()
:A :B :C
4: m4()
:D
19
Numeración jerárquica
:A :B :C :D
1. m1()
1.1. m2()
1.2. m3()
1.3. m4()
20
Numeración jerárquica
1.1. m2( )
1.3. m4( )
:D
21
Numeración jerárquica
:A :B :C :D
1. m1( )
1.1. m2( )
1.1.1. m3( )
1.2. m4( )
22
Numeración jerárquica
1.1. m2( )
1.2. m4( )
:D
23
Numeración jerárquica
1.1. m2()
:A :B :C
1.3. m4()
:D
24
Tipos de mensajes
Un mensaje de flujo de control tiene los
siguientes valores:
Simple (indefinido)
Llamada de operación o flujo anidado de control
Síncrono (procedimiento de llamada)
El emisor espera hasta recibir el resultado
Asíncrono
El emisor no espera a recibir el resultado
Retorno
Indica el retorno de una llamada
25
Síncrono
Retorno
26
Uso de los diagramas de interacción
27
Caso de Uso (Escenario)
28
Caso de uso (comunicación)
selectOrder()
selectOrder(cod)
o:=find(cod)
launchManufacturing()
launchManufacturing(cod)
launch manufacturing()
*generateWO()
tpl:=getTemplate()
createWO(tpl)
29
Caso de uso de negocio
solicitudPermisoViaje()
PermisoViaje()
informeGastos(unInforme)
OKgastos(unInforme)
solicitudPago(viajero)
30
Caso de uso de negocio
darCursoPedido()
estudiarPedido()
* analizarFabricacionProducto()
planificarFabricacion()
informarAnalisisPedido()
acceptarPedido()
31
Diagramas de Secuencia vs.
Diagramas de Comunicación
Equivalencia semántica
Simples para comportamientos simples.
Si hay mucho comportamiento condicional, usar
diferentes escenarios.
Diagramas de secuencia muestran mejor el
orden en que se ejecutan los mensajes
Diagramas de comunicación muestran
claramente los objetos con que interactúa un
determinado objeto.
32
DIAGRAMA DE MAQUINA DE ESTADOS
Diagrama de Estados
Diagrama de Actividades
33
Diagrama de Estados
Los Diagramas de Estados representan
autómatas de estados finitos, desde el
punto de vista de los estados y las
transiciones
34
… Diagrama de Estados
Cada objeto está en un estado en cierto
instante
El estado está caracterizado parcialmente
por los valores algunos de los atributos del
objeto
El estado en el que se encuentra un objeto
determina su comportamiento
Cada objeto sigue el comportamiento
descrito en el D. de Estados asociado a su
clase
35
… Diagrama de Estados
Los D. de Estados son grafos dirigidos
Los D. De Estados de UML son deterministas
Los estados inicial y final están diferenciados
del resto
La transición entre estados es instantánea y
se debe a la ocurrencia de un evento
36
… Diagrama de Estados
Estados y Transiciones
Evento [condición] / Acción
A B
37
… Diagrama de Estados
Ejemplo de un Diagrama de Estados
para la clase persona:
38
Acciones
Podemos especificar la solicitud de un servicio a
otro objeto como consecuencia de la transición:
39
Estados
Rastreando
acción entrada entry/ activarModo(enRastreo)
exit / activarModo(noRastreo)
acción salida
transición interna nuevoObjetivo/rastreador.adquirir
do / seguirObjetivo actividad
evento diferido autotest / defer
40
… Acciones
Se puede especificar el ejecutar una
acción como consecuencia de entrar, salir,
estar en un estado, o por la ocurrencia de
un evento:
Rastreando
acción entrada entry/ activarModo(enRastreo)
exit / activarModo(noRastreo)
acción salida
transición interna nuevoObjetivo/rastreador.adquirir
do / seguirObjetivo actividad
evento diferido autotest / defer
41
Generalización de Estados
Podemos reducir la complejidad de estos
diagramas usando la generalización de
estados
Distinguimos así entre superestado y
subestados
Un estado puede contener varios subestados
disjuntos
Los subestados heredan las variables de
estado y las transiciones externas
42
Generalización de Estados
Ejemplo:
e1
A B
e2
e2
43
Generalización de Estados
Quedaría como:
e1
Aa b
B
e2
C
44
… Generalización de Estados
e1
Aa Bb
e2
e0
C
45
… Generalización de Estados
e2 C
e0
46
… Generalización de Estados
La agregación de estados es la
composición de un estado a partir de
varios estados independientes
La composición es concurrente por lo
que el objeto estará en alguno de los
estados de cada uno de los subestados
concurrentes
47
… Generalización de Estados
Ejemplo:
48
Diagramas de Actividades
Muestran un flujo de actividades.
Es un caso especial de máquina de estados.
Incluye:
estados actividad y estados acción
transiciones
objetos
Una actividad produce alguna acción que
produce algún cambio en el sistema o retorna
un valor.
49
Estados Acción y Estados Actividad
Un estado acción no se puede descomponer,
representa una computación atómica.
Un estado actividad no es atómico, se
compone de otros estados acción y actividad.
Al entrar se ejecuta la acción o actividad, al
terminar el flujo de control pasa a la siguiente
acción o actividad.
Misma notación
Procesar
Pedido
50
Transiciones
estado inicial
Planificar
Proceso
Asignar Tareas
transiciones
estado final
51
Bifurcación
52
División y Unión
Preparar conversación
división
Descomprimir
Gesticular
Mover boca Emitir audio
unión
Limpieza
53
Solicitar Producto
Procesar Pedido
Extraer Articulos
Enviar Pedido
Pagar Factura
Cerrar Pedido
54
Cliente Ventas Almacen
Solicitar Producto
Procesar Pedido
Extraer Articulos
Enviar Pedido
Solicitar Producto
Procesar Pedido
Extraer Articulos
:Catalogo
p:Pedido
Rellenar Pedido [propuesto]
:Plantilla de
Produccion
p:Pedido
Cursar pedido
[en_evaluacion]
Analizar viabilidad
p:Pedido
[evaluado]
:Producto
Especial
Notificar rechazo [ NO ] ¿Viable ?
de pedido
[ SI ]
Fin KO
:Plantilla de
Produccion
Mucha p:Pedido
[rechazado]
información :Orden de
Trabajo
Notificar aceptacion Ordenar fabricacion
[pendiente]
de pedido
Planificar produccion
p:Pedido
[aceptado]
Fin OK
57
Cliente Comercial Jefe Tecnico Jefe Produccion
Inicio
Introducir
Pedido
Aceptar Pedido
Ordenar
Fabricacion
Planificar
Produccion
58
Utilidad de los diagramas de
actividades
Modelado de flujos de trabajo (workflow)
como son los procesos de negocio (business
process).
Se puede asociar a cualquier elemento de
modelado, pero lo más normal es asociarlo a
una operación: diagrama de flujo de las
acciones.
59
2. Modelado de la
Implementación
60
Diagrama de Componentes
Los diagramas de componentes describen los
elementos físicos del sistema y sus relaciones
Muestran las opciones de realización,
incluyendo código fuente, binario y ejecutable
Un componente es una parte física y
reemplazable de un sistema.
Esta conformado por un conjunto de interfaces
y proporciona su implementación.
61
...Diagrama de Componentes
Los componentes representan todos los tipos de
elementos software que entran en la fabricación de
aplicaciones informáticas.
Pueden ser simples archivos, paquetes de Java,
bibliotecas cargadas dinámicamente, etc.
Las relaciones de dependencia se utilizan en los
diagramas de componentes para indicar que un
componente utiliza los servicios ofrecidos por otro
componente
Normalmente especificado por uno o más
clasificadores (clases, interfaces, tipo de dato,..) que
residen en el componente, y un conjunto de ellos
define su interfaz externa.
62
Propiedades de un componente
Es una unidad de despliegue independiente.
Puede ser conectado con otros componentes
En una aplicación dada existirá una única copia
Es una parte sustituible de un sistema (conforma con
una interfaz)
Realiza una función bien definida
Abarca más de una comunicación de clases
Existe en el contexto de una arquitectura bien
definida.
Presupone una infraestructura tecnológica en la que se
piensa utilizar
63
Componentes
Ejemplo:
agenteFraudes.dll
<<EXE>>
Realiza Explorador
agenteFraudes
politicaFraudes
busquedaPatrones
64
Componentes
AsignacionAula.exe
Ejemplo:
AsignaturaUSP
Asignacion
AulaUSP
Reserva
65
… Diagramas de Componentes
Ejemplo:
66
Modelado de ejecutables
Ejemplo:
v.exe
Vwbas20.dll vwdev20.dll
vwsrc20.dll
67
Diagrama de Despliegue
NODOS
Un nodo es un elemento físico que existe en
los componentes.
68
.....Diagrama de despliegue
Los Diagramas de despliegue muestran la
disposición física de los distintos nodos que
componen un sistema y el reparto de los
componentes sobre dichos nodos
Nodo
69
… Diagrama de despliegue
Los estereotipos permiten precisar la
naturaleza del equipo:
Dispositivos
Procesadores
Memoria
70
… Diagrama de despliegue
Ejemplo de conexión entre nodos:
<<Cliente>> <<Servidor>>
Terminal Punto <<TCP/IP>>
Base de
de Venta Datos
<<RDSI>>
<<RDSI>>
Control
Podemos distinguir tipos
de nodos y conexiones
por estereotipado
71
… Diagrama de despliegue
72
Diagrama de Despliegue
terminal
<<RS-232>>
Consola
73
Modem
74
Análisis y Diseño de Sistemas
FIN Sesión 8