Está en la página 1de 39

Desarrollo de Aplicaciones Orientado a Objetos

Introducción a UML – Diagramas de Interacción

IInteracción:
t ió
Comportamiento que comprende un conjunto de mensajes
intercambiados entre un conjunto de objetos dentro de un
contexto para lograr un propósito.
Mensaje:
Especificación de una comunicación entre objetos que
transmite información, con la expectativa de desencadenar
una actividad.

Autor: Ing. Silverio Bonilla 124


Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagramas de Interacción
Diagramas de Interacción
¿Qué es?
Un diagrama de interacción muestra en detalle un
determinado escenario para un caso de uso
¿Objetivos?
Describir el comportamiento dinámico del sistema
Permite verificar la coherencia del sistema validándolo con
el modelo de clases
¿Qué representan?
Objetos y Mensajes entre Objetos
Autor: Ing. Silverio Bonilla 125
Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagramas de Interacción
¿Tipos?
Existen dos tipos de diagramas de interacción:
 Diagramas de secuencia: Muestra las interacciones
expresadas en función de secuencias temporales
 Diagramas
Di de
d colaboración:
l b ió Muestran
M llas relaciones
l i entre
los objetos y los mensajes que intercambia.
Utilidad de Diagrama de Secuencia
 Para la documentación de un Caso de Uso: en términos
próximos al usuario y sin detallar la sincronización existente
 Para
P lla representación
ió precisa i de d las l interacciones
i i entre
Autor: Ing. Silverio Bonilla 126
objetos
Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Diagrama de Secuencia
 Diagrama de interacción cuyo objetivo es describir el
comportamiento dinámico del sistema. Muestra una
interacción entre objetos en función del tiempo y representa
típicamente la implantación de un escenario para un caso de
uso.
Hace énfasis en los mensajes intercambiados por los
objetos.
En un diagrama de secuencia existen en consecuencia tres
tipos de elementos: Objetos, Mensajes y Focos de control o
Activación Autor: Ing. Silverio Bonilla 127
Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Diagrama de Secuencia:

Obj1:Clase1 Obj2:Clase2 Obj3:Clase3

Prepara() Nuevo() Obj4:Clase4


P
Prepara()
()

X
Autor: Ing. Silverio Bonilla 128
Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Objetos:

Autor: Ing. Silverio Bonilla 129


Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Foco de Control o Activación:

Autor: Ing. Silverio Bonilla 130


Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Mensaje:

Autor: Ing. Silverio Bonilla 131


Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Mensaje Reflexivo:

Autor: Ing. Silverio Bonilla 132


Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Tipo de Mensajes:

Síncrono o Llamada (El originario del


mensaje pierde el control hasta recibir la
respuesta)
Retorno (No es un mensaje
mensaje, sino la respuesta
de un mensaje previo)
Directo
Di t (Fl
(Flat)
t) (El originario
i i i deld l mensaje
j no
espera respuesta, pero se pasa el control al
destinatario del mensaje, el fin del foco de
control del destinatario devuelve el control)
Asíncrono (El originario no espera respuesta y
permanece activo
Autor: Ing. Silverio pudiendo enviar mensajes)
Bonilla 133
Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Tiempo:
El diagrama representa el tiempo en dirección vertical.
El tiempo se inicia en la parte superior y avanza hacia la
parte inferior.
Un mensaje que este mas cerca de la parte superior
ocurrirá antes que uno este mas cerca de la parte inferior.
 Un diagrama de secuencias tiene dos dimensiones,
 la vertical que representa el tiempo,
tiempo y
Autor: Ing. Silverio Bonilla 134
 la horizontal que representa los distintos objetos
Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Formato de los Diagramas de Secuencia:
 En forma genérica: describirá todas las posibles
secuencias
 En forma de instancia: describe una secuencia en
concreto (Escenario). De forma consistente a lo
especificado en la forma genérica .

Autor: Ing. Silverio Bonilla 135


Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Tipos de Control:
 El Diagrama de Secuencia refleja de manera indirecta
las opciones de control
 Un control centralizado tiene una forma como esta:

Autor: Ing. Silverio Bonilla 136


Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Tipos de Control:
 Un control descentralizado tiene una forma como esta:

Autor: Ing. Silverio Bonilla 137


Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Etiquetas de Mensaje: Secuencia
 La expresión de secuencia en diagramas de secuencia
(procedimentales) se suele omitir.
 Se expresa con números enteros o números enteros
anidados, si se trata de mensajes encadenados:
• 1,
 1.1,
11
o 1.1.1
•2
 2.1
 2.2 Autor: Ing. Silverio Bonilla 138
Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Etiquetas de Mensaje: Secuencia
 Pero
P sii hay
h concurrencia
i se emplean
l l t
letras:
• 1,
 1.1, 1.1a, 1.1b

Autor: Ing. Silverio Bonilla 139


Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Etiquetas de Mensaje: condición/iteración
 Además se puede indicar una condición:
[ < 0] 4.1:
[x 4 1 mensaje
j (como
( condición
di ió de
d guardar)
d )
4.1[x < 0] : mensaje (como iteración única?)
 Puede incluir una cláusula de iteración:
4 *[i:=1..n]:mensaje

Autor: Ing. Silverio Bonilla 140


Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Estructuras de Control:
 Las bifurcaciones condicionales pueden representarse
de esta forma:

Autor: Ing. Silverio Bonilla 141


Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Estructuras de Control:
 Las bifurcaciones condicionales se pueden añadir el
pseudocódigo sobre la parte izquierda del diagrama
permite la representación de bucles y bifurcaciones, de
odo que los
modo os ddiagramas
ag a as de secue
secuencia
c a puede
pueden representar
ep ese ta
la forma general de una interacción, más allá de la
simple consideración de un escenario particular.
particular

Autor: Ing. Silverio Bonilla 142


Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Estructuras de Control:
 Podemos
P d representar
t it
iteraciones
i en ell envíoí ded
mensajes, por ejemplo, mientras se cumpla una
condición.
condición
 La iteración puede expresarse como parte del mensaje:

Equivalente al
Bucle WHILE

Autor: Ing. Silverio Bonilla 143


Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Estructuras de Control:

 La iteración, como comentario al margen:

Autor: Ing. Silverio Bonilla 144


Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Bifurcacion o Alternativas:

 Las alternativas, en el lado del destinatario del mensaje,


se representan
t desdoblando
d d bl d la l línea
lí d vida
de id del
d l objeto
bj t
destinatario.

Autor: Ing. Silverio Bonilla 145


Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Signatura del Mensaje:

Donde signatura es

 valor-retorno:
valor retorno: omitido si el mensaje no tiene un
resultado (void).
 nombre-mensaje: el nombre de la operación en el objeto
receptor.
 lista de parámetrosAutor:
entre paréntesis
Ing. Silverio Bonilla 146
Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Ejemplo de Etiquetas de Mensaje:

 2: display(x, y) mensaje simple


 1.3.1: p:= encontrar(espec) llamada
anidada con valor de retorno
[x < 0] 4: invertir(x, color) mensaje
condicional

Autor: Ing. Silverio Bonilla 147


Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Ejemplo de Diagrama de Secuencia (Documentación de
un caso de uso):
• Se concentra sobre la
descripción de la interacción, a
menudo en términos próximos
al usuario y sin entrar en los
detalles de la sincronización.
sincronización
• La indicación que acompaña a
las flechas corresponde
p
entonces a eventos que
ocurrren en el ámbito de la
aplicación En este estado del
aplicación.
modelado, las flechas no
corresponden aún a envíos de
mensajes en el sentido de
lenguajes de programación
Autor: Ing. Silverio Bonilla 148
Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Ejemplo Diagrama de Secuencia: Cajero Automático
<<Actor>> Cuentas Pedro:
ATM:Cajero
Pedro:cliente Cuentas
Insertar Tarjeta
Solicita Password
Introducir Password
Verificar
Password
Opción
p de
Cuenta OK
Opciones Cuenta
Opciones O i
Opciones

Solicitud Efectivo
Debita cuenta
Retorna Ok
Efectivo Autor: Ing. Silverio Bonilla 149
Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Ejemplo Diagrama de Secuencia: Agregar Cliente
Caso de
C d Uso:
U Agregar
A Cli
Cliente
Objetivo: Registrar un nuevo cliente en la base de datos
del V
de Video-Club
deo C ub
Actores: Encargado (E)
Precondiciones:
S
Secuencia i Normal:
N l
1. El caso de uso se inicia cuando un cliente quiere usar
ppor pprimera vez los servicios del Video-Club.
2. E: Introduce los datos de identificación del
CLIENTE (cedula, nombre, apellidos)
3 S: Valida los datos del CLIENTE.
3. CLIENTE
4. S: Registra al CLIENTE.
Secuencia Alterna:
3.1. En caso que el cliente sea invalido enviar mensaje
‘Cliente Invalido’
Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Ejemplo Diagrama de Secuencia: Agregar Cliente

: interfaceAlq
e ace q : Cliente
: Encargado
E d

introduceDatos (cedula, nombre, apellido)

c=validarCliente (cedula)

[c='verdadero'] 'Cliente Existe'

: Cliente

insertarCliente(cedula, nombre, apellido)


Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Diagrama Caso de Uso: Videoclub

Prestar Video
Encargado

E
Escenario
i Caso
C d Uso:
de U Prestar
P t Video
Vid
1. El caso de uso se inicia cuando el encargado realiza el préstamo
del video a través de la pantalla del sistema en función del video
a prestar y el numero de socio.
22. El sistema verifica el estado de morosidad del socio. socio
3. El sistema verifica la situación del video solicitado.
4
4. El sistema registra el préstamo del video para socio
5. El sistema devuelve alAutor:
encargado el recibo de entrega del video.
Ing. Silverio Bonilla 152
Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Diagrama de Secuencia Caso de Uso Prestar Video

: WInP réstamos :Socio :Video : Préstamo


: Encargado

prestar(video, socio)
verificar situación socio

verificar situación video

registrar préstamo

entregar recibo

Autor: Ing. Silverio Bonilla 153


Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Vista Estática (Diagrama de Clases)

CarroCompra Producto
contiene

0..* 1..*

1..1

es propiedad de

1..1

Cliente

Autor: Ing. Silverio Bonilla 154


Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Secuencia
Vista Dinámica
: : Interf az Compra : CarroCompra : Producto
Clien te

iniciarCo mp ra()
nuevoCarroCompra(cliente)

seleccProducto(cantidad)

obtenerDescripcionDe(prod)

cargarProd(cliente,prod,cantidad)

conf irmarCompra()

conf irmarCompraDe(cliente)
decremSt oc k(can tidad )

Realizar para cada


producto incluido en
el carro de compra

Autor: Ing. Silverio Bonilla 155


Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Colaboración
 El diagrama de colaboración muestra cómo las
instancias específicas de las clases trabajan juntas para
conseguir un objetivo común.
común
 Implementa las asociaciones del diagrama de clases
mediante el paso de mensajes de un objeto a otro.
 Muestra
M t las l relaciones
l i sobre
b los
l objetos
bj t sin
i mostrar
t l
la
dimensión temporal de dichas relaciones
 La secuencia de los mensajes vendrá dada por números
d secuencia
de i
Autor: Ing. Silverio Bonilla 156
Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Colaboración
 El Diagrama de Colaboración modela la interacción
entre los objetos de un Caso de Uso
 Los objetos están conectados por enlaces (links) en los
cuales se representan los mensajes enviados
acompañados de una flecha que indica su dirección
 El Diagrama
Di d Colaboración
de C l b ió ofrece
f una mejor
j visión
i ió
del escenario cuando el analista está intentando
comprender la participación de un objeto en el sistema

Autor: Ing. Silverio Bonilla 157


Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Colaboración
Diagrama de Colaboración de Uso Prestar Video

:Socio

:Video

2: verificar situación socio

1: prestar(video, socio) 3: verificar situación video


:WInPréstamos
WI P é t

5: entregar recibo
: Encargado 4: registrar préstamo

:Préstamo

Autor: Ing. Silverio Bonilla 158


Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Colaboración
 Una colaboración puede estar asociada a una clase, a un
método (implementación de una operación), o a la
realización de un caso de uso
 Un mensaje desencadena una acción en el objeto
destinatario.
 Cuando
C d la l interacción
i t ió afecta
f t a varios
i objetos
bj t se utiliza
tili
un símbolo que representa objetos múltiples.

Autor: Ing. Silverio Bonilla 159


Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Colaboración
Multiobjeto: Iteración
 Un
U mensajej se envíaí iterativamente
it ti t y secuencialmente
i l t a
un conjunto de instancias.
 Se puede
d indicar
i di l iteración
la i i sobre
b una colección
l i con ell
convenio siguiente:

Autor: Ing. Silverio Bonilla 160


Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Colaboración
Multiobjeto: Iteración
 Un
U mensajej se envíaí iterativamente
i i y concurrentemente
a un conjunto de instancias:

 Un
U mensaje
j se envía
í de
d manera condicionada:
di i d

Autor: Ing. Silverio Bonilla 161


Desarrollo de Aplicaciones Orientado a Objetos
Introducción a UML – Diagrama de Colaboración
 Un mensaje que devuelve un resultado:

 Ejemplo:

Autor: Ing. Silverio Bonilla 162

También podría gustarte