UML: Diagrama de Colaboración



Introducción.

Los diagramas de colaboración son otro tipo de diagramas de interacción, que contiene la misma información que los diagramas de secuencia, sólo que se centran en las responsabilidades de cada objeto, en lugar del tiempo en que los mensajes son enviados. Un Diagrama de Colaboración describe en forma de un grafo el comportamiento de sistemas, subsistemas y operaciones, representando los objetos que intervienen, así como los mensajes que intercambian, enumerados en el tiempo.

Definición.


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í.

Propósitos.

  • Manejar la comunicación entre los elementos del sistema. 
  • Mostrar cómo será implementada una operación. 
  • Indicar cómo deben colaborar los objetos del sistema para llevar a cabo una operación. 

Características.
  • 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". 

Ventajas.

  1. Permite elegir el orden en que pueden hacerse las cosas. 
  2. Puede describir procesos o casos de uso. 
  3. Muestra los aspectos dinámicos de un sistema. 
  4. Establece las reglas de secuencia a seguir. 
  5. Ayuda a un programador a desarrollar código a través de una descripción lógica de un proceso. 
Desventajas

La gran desventaja de los diagramas de colaboración es que no indican de forma explícita que los objetos ejecutan qué actividades ni tampoco la forma en que el servicio de mensajería trabaja entre ellos. Para mostrar tales interacciones de forma clara son necesarios los diagramas de interacción, los cuales son más utilizados en la práctica.

Elementos.

Objetos o Roles
: nodos del grafo.
Enlaces o comunicaciones: arcos del grafo.
Mensajes: llevan número de secuencia y flecha dirigida.
Anidamiento: se utiliza la numeración decimal
Iteración: colocar un * antes del número de secuencia y una cláusula de condición, si es necesario.
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.


Ejercicio Práctico:

Caso de Uso: Generar pedido




Comentarios