EN QUE CONSISTE UN DIAGRAMA DE
COLABORACIÓN
v Muestra
cómo las instancias específicas de las clases trabajan juntas para conseguir un
objetivo común.
v Consiste
especificar un contrato entre objetos
v Implementa
las asociaciones del diagrama de clases mediante el paso de mensajes de un
objeto a otro. Dicha implementación es llamada "enlace".
¿Que representa el algoritmo de colabora
ración?
v Representa
la parte esencial para la descripción de un patrón de diseño.
DIAGRAMA
DE COLABORACIÓN
Un Diagrama
de Colaboración muestra una interacción organizada
basándose en los objetos
que toman parte en la interacción y los enlaces entre los mismos (en
cuanto a la interacción se refiere).
UML
–Interacciones
v Los
objetos interactúan entre sí pasándose mensajes.
v Los
objetos se conectan a través de enlaces.
Mensaje: específica
transmisión de información entre objetos.
Enlace:
especifica un camino a lo largo del cual un objeto puede enviar un mensaje a
otro objeto.
v Es
una conexión semántica entre objetos.
v Es
una instancia de una relación.
Puede
contener los adornos de la relación.
LAS
INTERACCIONES MODELAN ASPECTOS DINÁMICOS DEL SISTEMA
Llamada.-Invoca
una operación sobre un objeto. Puede ser a sí mismo.
Retorno.-El
receptor de una llamada devuelve un valor al emisor, si es necesario.
Envío.-
Envía
una señal a un objeto.
Creación.-
Para
crear un objeto.
Destrucción.-
Para
destruir un objeto. Puede destruirse a sí mismo.
SECUENCIACIÓN
v El
flujo de mensajes forma una secuencia.
v La
secuencia es indicada por un número antes del mensaje y una flecha dirigida.
v Para
modelar caminos alternativos, se coloca el mismo número de secuencia seguido de
un número de subsecuencia.
Parámetros
. Reales Se pueden modelar los parámetros reales enviados y
también los retornos. Ej: 1.2.1: x:=operación(‘m’)
ELEMENTOS
DE UN DIAGRAMA DE COLABORACIÓN
v Objetos
o Roles: nodos del grafo.
v Enlaces
o comunicaciones: arcos del grafo.
v Mensajes:
llevan número de secuencia y flecha dirigida.
v Anidamiento: se
utiliza la numeración decimal Ej: 1,
1.1, 1.1.1 ........
v Iteración: colocar
un * antes del número de secuencia y una cláusula de condición, si es
necesario. ej. *[x>0].
v Bifurcación: los
caminos alternativos tendrán el mismo número de secuencia, seguido del número
de subsecuencia, y se deben distinguir por una condición.
¿De qué artefactos depende su construcción?
Este tipo de diagramas se utilizan más frecuentemente en la fase de diseño, es decir, cuando estamos diseñando la implementación de las relaciones.
DEPENDENCIAS
¿De qué artefactos depende su construcción?
Su construcción depende de:
v Los casos de
uso (expandidos).
v Diagrama de
secuencias.
v Diagrama de
Clases.
¿Qué otros artefactos se generan a través de él?
Los artefactos que se generan son:
v Diagramas de
Estado.
v Diagrama de
Componentes.
v Diagrama de
Despliegue
¿En qué etapa se realiza su construcción?
Este tipo de diagramas se utilizan más frecuentemente en la fase de diseño, es decir, cuando estamos diseñando la implementación de las relaciones.
EJEMPLO
DE CONTROL DE SEGURIDAD DEL HOTEL PLAZA
En cuanto a la representación, un Diagrama de
Colaboración 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 parámetros (si los tiene)
entre paréntesis. Cada mensaje lleva un número de secuencia que denota cuál es
el mensaje que le precede, excepto el mensaje que inicia el diagrama, que no
lleva número de secuencia.
Se pueden indicar alternativas con condiciones entre
corchetes (por ejemplo: [condición_de_test]
: nombre_de_método() ), tal y como aparece en el ejemplo.
También se puede mostrar el anidamiento de mensajes
con números de secuencia como 2.1, que significa que el mensaje con número de
secuencia 2 no acaba de ejecutarse hasta que no se han ejecutado todos los 2. x
.
ELEMENTOS
BÁSICOS PARA EL DIAGRAMA DE COLABORACIÓN
Objeto
Un
objeto se representa con un rectángulo, que contiene el nombre y la clase del
objeto en un formato nombreObjeto: nombreClase.
Enlaces
Un
enlace es una instancia de una asociación en un diagrama de clases. Se
representa como una linea contínua que une a dos objetos. Esta acompañada por
un número que indica el orden dentro de la interacción y por un estereotipo que
indica que tipo de objeto recibe el mensaje.
Flujo
de mensajes
Expresa
el envío de un mensaje. Se representa mediante una flecha dirigida cercana a un
enlace.
Marcadores
de creación y destrucción de objetos
Puede
mostrarse en la gráfica cuáles objetos son creados y destruidos, agregando una
restricción con la palabra new o delete, respectivamente, cercana
al rectángulo del objeto
Objeto
compuesto
Es una representación alternativa de un objeto y sus atributos. En esta representación se muestran los objetos contenidos dentro del rectángulo que representa al objeto que los contiene. Un ejemplo es el siguiente objeto vehículo.
Es una representación alternativa de un objeto y sus atributos. En esta representación se muestran los objetos contenidos dentro del rectángulo que representa al objeto que los contiene. Un ejemplo es el siguiente objeto vehículo.
En este caso se muestra tanto los requerimientos que desea el
huésped como lo que desea solicitar como retirarse y o cancelar como un mensaje
al igual como los demás miembros como el administrador y personal, se muestra de
forma más grafica y de fácil comprensión.
Conclusión
Un
uso de un diagrama de colaboración es
mostrar la implementación de una operación. La colaboración muestra los
parámetros y las variables locales de la operación, así como asociaciones más
permanentes. Cuando se implementa el comportamiento, la secuencia de los
mensajes corresponde a la estructura de llamadas anidadas y el paso de señales
del programa.
Un
diagrama de colaboración muestra relaciones entre roles geométricamente y
relaciona los mensajes con las relaciones, pero las secuencias temporales están
menos claras.
Prefieren
el diagrama de colaboración, porque pueden usar la distribución para indicar
cómo se conectan estáticamente los objetos.