Recursos
Descargar DOCx Hora 10
Descargar PPTx Hora 10
El diagrama de colaboración es un tipo de diagrama de interacción cuyo objetivo es describir el comportamiento dinámico del sistema de información mostrando cómo interactúan los objetos entre sí, es decir, con qué otros objetos tiene vínculos o intercambia mensajes un determinado objeto.
- Muestra cómo las instancias específicas de las clases trabajan juntas para conseguir un objetivo común.
- Implementa las asociaciones del diagrama de clases mediante el paso de mensajes de un objeto a otro. Dicha implementación es llamada "enlace".
Descripción
Un diagrama de colaboración muestra la misma información que un diagrama de secuencia pero de forma diferente. En los diagramas de colaboración no existe una secuencia temporal en el eje vertical; es decir, la colocación de los mensajes en el diagrama no indica cuál es el orden en el que se suceden. Además, la colocación de los objetos es más flexible y permite mostrar de forma más clara cuáles son las colaboraciones entre ellos. En estos diagramas la comunicación entre objetos se denomina vínculo o enlace (link) y estará particularizada mediante los mensajes que intercambian.
Un diagrama de colaboración muestra la misma información que un diagrama de secuencia pero de forma diferente. En los diagramas de colaboración no existe una secuencia temporal en el eje vertical; es decir, la colocación de los mensajes en el diagrama no indica cuál es el orden en el que se suceden. Además, la colocación de los objetos es más flexible y permite mostrar de forma más clara cuáles son las colaboraciones entre ellos. En estos diagramas la comunicación entre objetos se denomina vínculo o enlace (link) y estará particularizada mediante los mensajes que intercambian.
Notación
Objeto
Un objeto se representa con un rectángulo dentro del que se incluye el nombre del objeto y, si se desea, el nombre de la clase, separando ambos por dos puntos.
Vínculo
En el diagrama, un vínculo se representa como una línea continua que une ambos objetos y que puede tener uno o varios mensajes asociados en ambas direcciones. Como un vínculo instancia una relación de asociación entre clases, también se puede indicar la navegabilidad del mismo mediante una flecha.
Mensaje
Un mensaje se representa con una pequeña flecha colocada junto a la línea del vínculo al que está asociado. La dirección de la flecha va del objeto emisor del mensaje al receptor del mismo. Junto a ella, se coloca el nombre del mensaje y sus argumentos.
A diferencia de los diagramas de secuencia, en los diagramas de colaboración siempre se muestra el número de secuencia del mensaje delante de su nombre, ya que no hay otra forma de conocer la secuencia de los mismos.
Además, los mensajes pueden tener asociadas condiciones e iteraciones que se representarán como en los diagramas de secuencia.
Ejemplo
Diagrama de colaboración para el caso de uso: Prestar un ejemplar de una aplicación encargada de los préstamos y reservas de una biblioteca.
Ejercicio
Convertir el diagrama de colaboración del caso de uso de ejemplo en un diagrama de secuencia.
Conclusió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 de Colaboración ofrece una mejor visión del
escenario cuando el analista está intentando
comprender la participación de un objeto en el sistema.
Son útiles en la fase exploratoria para
identificar objetos.
La distribución de los objetos en el diagrama
permite observar adecuadamente la
interacción de un objeto con respecto de los
demás.
La estructura estática viene dada por los
enlaces; la dinámica por el envío de
mensajes por los enlaces .
Sintaxis para mensajes:
predecesor / guarda secuencia: retorno := msg(args)
Un mensaje desencadena una acción en
el objeto destinatario
§ Un mensaje se envía si han sido
enviados los mensajes de una lista
(sincronización):
Un mensaje se envía de manera
condicionada:
Un mensaje que devuelve un resultado:
Ejemplo
Ejercicio ¿Secuencia o colaboración?
Lista de eventos caso de uso Extraer dinero (cajero).
- El usuario introduce la tarjeta de cambio de divisas en el cajero.
- El cajero solicita al banco la verificación de la clave / password.
- El banco le ofrece al cajero una respuesta afirmativa.
- El usuario introduce en el cajero la cantidad a retirar y la moneda en que ha de ser retirada.
- El cajero le envía al banco la cantidad a retirar y las divisas a obtener.
- El banco envía a la cuenta una petición para actualizar saldos. n La cuenta le ofrece el nuevo saldo al banco.
- El banco le envía al cajero la orden de expender la cantidad de dinero deseada en la moneda que se requirió.
Los diagramas de secuencia se leen de arriba
abajo y de izquierda a derecha. Los de colaboración requieren de una
numeración para seguir el control.
Los diagramas de secuencia suelen ser + complejos y difíciles de leer. Mientras que los de colaboración ocupan menos espacio y son + fáciles de comprender.
Se les llama de colaboración, muestran una parte estática (diagrama de clases) y otra dinámica ( diagrama de secuencia).
Tienen una equivalencia semántica.