Está en la página 1de 25

Diagrama de

Interaccin
Diagrama de Colaboracin
CONCEPTO

Un diagrama de
colaboracin es
una forma de
representar
interaccin entre
objetos .
EN QUE CONSISTE UN DIAGRAMA DE
COLABORACIN ?

Muestra cmo las instancias especficas de las clases trabajan juntas para conseguir
un objetivo comn.

Consiste especificar un contrato entre objetos

Implementa las asociaciones del diagrama de clases mediante el paso de mensajes


de un objeto a otro. Dicha implementacin es llamada "enlace".

Son tiles en la fase exploratoria para identificar objetos

La distribucin de los objetos en el diagrama permite observar adecuadamente la interaccin


de un objeto con respecto de los dems

La estructura esttica viene dada por los enlaces; la dinmica por el envo de mensajes por los
enlaces
DIAGRAMA DE COLABORACION

Un Diagrama de Colaboracin muestra una interaccin organizada


basndose en los objetos que toman parte en la interaccin y los enlaces
entre los mismos (en cuanto a la interaccin se refiere).

UML Interacciones
Los objetos interactan entre s pasndose mensajes.
Los objetos se conectan a travs de enlaces.

Mensaje: especifica transmisin de informacin entre objetos.

Enlace: especifica un camino a lo largo del cual un objeto puede enviar un


mensaje a otro objeto.
Es una conexin semntica entre objetos.
Es una instancia de una relacin.
Puede contener los adornos de la relacin.
Mensajes
Un mensaje Un mensaje se
desencadena una enva de manera
accin en el objeto
destinatario condicionada:
Un mensaje se enva si
han sido enviados los
mensajes de una lista [x>y] 1: Mensaje
(sincronizacin): B
A

A.1, B.3 / 1:Mensaje B

A
Mensajes

Un mensaje que devuelve un resultado:

1: distancia:= mover(x,y)
B

A
LAS INTERACCIONES MODELAN ASPECTOS DINMICOS DEL SISTEMA

Llamada.-Invoca una operacin sobre un


objeto. Puede ser a s mismo.

Retorno.-El receptor de una llamada devuelve


un valor al emisor, si es necesario.

Envo.- Enva una seal a un objeto.


Creacin.- Para crear un objeto.
Destruccin.- Para destruir un objeto. Puede destruirse a s
mismo.

Secuenciacin
El flujo de mensajes forma una secuencia.
La secuencia es indicada por un nmero antes del mensaje y
una flecha dirigida.
Para modelar caminos alternativos, se coloca el mismo
nmero de secuencia seguido de un nmero de subsecuencia.
SECUENCIACIN

Parmetros . Reales Se pueden modelar


los parmetros reales enviados y
tambin los retornos.
ELEMENTOS DE UN DIAGRAMA DE
COLABORACIN

Objetos o Roles: nodos del grafo.

Enlaces o comunicaciones: arcos del grafo.

Mensajes: llevan nmero de secuencia y flecha dirigida.

Anidamiento: se utiliza la numeracin decimal

Iteracin: colocar un * antes del nmero de secuencia y


una clusula de condicin, si es necesario.
Bifurcacin: los caminos alternativos tendrn el mismo
nmero de secuencia, seguido del nmero de
subsecuencia, y se deben distinguir por una condicin.
DEPENDENCIAS
Los
Su
artefactos
construccin
que se
depende de:
generan son:
Los casos de Diagramas de
uso Estado.
(expandidos). Diagrama de
Diagrama de Componentes
secuencias. .
Diagrama de Diagrama de
Clases. Despliegue
ETAPA DE CONSTRUCCIN

Este tipo de diagramas


se utilizan ms
frecuentemente en la
fase de diseo, es decir,
cuando estamos
diseando la
implementacin de las
relaciones.
En cuanto a la representacin, un
Diagrama de Colaboracin muestra a
una serie de objetos con los enlaces
entre los mismos, y con los mensajes
que se intercambian dichos objetos.

Los mensajes son flechas que van junto


al enlace por el que circulan, y con el
nombre del mensaje y los parmetros (si
los tiene) entre parntesis. Cada
mensaje lleva un nmero de secuencia
que denota cul es el mensaje que le
Elementos bsicos para el diagrama
de colaboracin

Un objeto se representa con un rectngulo, que


Objet contiene el nombre y la clase del objeto en un
formato nombreObjeto: nombreClase.
o
Un enlace es una instancia de una asociacin en un
diagrama de clases. Se representa como una linea
contnua que une a dos objetos. Esta acompaada por
Enlac un nmero que indica el orden dentro de la
interaccin y por un estereotipo que indica que tipo
es de objeto recibe el mensaje.
Expresa el envo de un mensaje. Se
representa mediante una flecha
Flujo de
mensajes dirigida cercana a un enlace.

Puede mostrarse en la grfica cules


objetos son creados y destruidos,
agregando una restriccin con la
Marcadores de
creacin y palabra new o delete,
destruccin de
objetos
respectivamente, cercana al
rectngulo del objeto
Objeto compuesto Vehculo_hotel1:Vehculo
Es una representacin alternativa
de un objeto y sus atributos. En
esta representacin se muestran MT-1234 : Motor
los objetos contenidos dentro del
rectngulo que representa al
objeto que los contiene. Un FR-00145 : Frenos
ejemplo es el siguiente objeto
vehculo.
TR-4583 : Transmisin

Un diagrama de colaboracin es un
tipo de diagrama que muestra las
interacciones entre objetos
organizadas y enlazados entre
ellos.
Diagramas de Colaboracin
Primer mensaje
y parmetros
mensaje 0(p)
: C1
Mensajes, Orden y Direccin
1: mensaje1 (p ) Objetos
2: mensaje 2 ( )

Lnea de Asociacin
1.1: mensaje3(p )
: C2 :C3
1.2: mensaje 4

Reaccin en cadena y numeracin


Diagramas de Colaboracin
: C1 : C2
mensaje 0 (p)
: C1
mensaje 0 (p)
mensaje 1 (p)
1: mensaje 1 (p )
2: mensaje 2 ( )

mensaje 2 ()

: C2
Diagrama de Secuencia Diagrama de Colaboracin

18
Diagramas de Colaboracin

Mensajes Excluyentes
mensaje 0 (p)1a [condicin 2]: mensaje 2 ()
: C1 : C3

1b [condicin 1]: mensaje1 ()

Mensajes condicionales
: C2 mutuamente excluyentes
Diagramas de Colaboracin

mensaje0 (p)
Iteracin : C1

1* [i:=1..N]: vi:=mensaje ( )

La iteracin se indica con *


: C2 seguido de una clusula de
iteracin opcional
Diagramas de Colaboracin
Diagrama de Secuencia

sd Gestin Pedidos
: GUIPedido
:GUIPedido : ControladorPedidos
:ControladorPedidos ::Pedido
Pedido : LineaPedido
:LineaPedido : Item
:Item : ItemPedido : ItemEntregado

preparar( )
preparar( )
* preparar( ) hayStock:=check( )

[hayStock] eliminar( )
pedir:=checkPedir( )

[pedir]<<create>>
:ItemPedido
[hayStock] <<create>>
:Item
Entregado
Diagrama de
Comunicacin
sd Gestin Pedidos

1: preparar( ) 2: preparar( ) 3: *preparar(


3: )
preparar()
: GUIPedido : ControladorPedidos : Pedido : LineaPedido

lneas *

4: hayStock:=check( )
5: [hayStock] eliminar( )
8: [hayStock]<<>create>

6: pedir:=checkPedir( )

: ItemPedido : Item : ItemEntregado

7: [pedir]<<create>>
Ejemplo:

Caso de Uso: Pago por servicios.


Actores: Administrador, Agente, Husped (inicia).
Propsito: Controlar que el husped cancele su estada y los servicios solicitados.
Tipo: Primario y esencial.
Descripcin: El agente designado en administracin controla que el husped cancele su estada en el
hotel y los servicios solicitados.
CURSO NORMAL DE LOS EVENTOS

ACCIN DEL ACTOR RESPUESTA DEL SISTEMA

1.- Se inicia cuando el husped desea retirarse del hotel.


2.- El agente revisa que no exista daos ni perdidas
durante la estada del husped.
3.- El administrador calcula el saldo que debe cancelar, y
pide la cancelacin total al husped
4.- El husped cancela al administrador y este le 5.- El sistema actualiza el pago del husped.
proporciona una factura.

6.- El administrador recibe las llaves de la habitacin.



7.- El husped se retira.
EJEMPLO: HOTEL PLAZA