Sei sulla pagina 1di 21

DIAGRAMA DE

COLABORACION
INTRODUCCION

Es un tipo de Diagrama de Interacción que muestra


justamente la interacción de un conjunto de objetos,
poniendo énfasis en la estructura organizacional de los
objetos que envían y reciben mensajes. Los Diagramas de
Colaboración muestran la colaboración entre los objetos
para realizar una tarea mediante el uso de mensajes
enviados entre ellos. A diferencia de los Diagramas de
Secuencia, éstos diagramas pueden mostrar el contexto
de la operación, y no reservan una dimensión para el
tiempo, sino que enumeran los mensajes para indicar la
secuencia.
Representación grafica
Los Diagramas de Colaboración tiene el
siguiente aspecto:

En este tipo de diagramas intervienen diferentes


elementos, tales como objetos, enlaces,
OBJETO
● Se representa con un rectángulo,
que contiene el nombre y la clase del
objeto en un formato
nombreObieto: nombreClase.
● Cuando sólo se hace referencia a la
clase no se subraya. Los mensajes
enviados a estas clases se utilizan
para invocar a los métodos de clase.
● En otras ocasiones se hace
referencia a una instancia de la clase
pero no se indica el nombre.
● La forma más común es darle un
nombre a una instancia indicando su
FORMAS EN QUE SE PRESENTAN LOS
OBJETOS

En los Diagramas de Colaboración, los


objetos pueden presentarse de diversas
formas, estos pueden ser: Objetos
Comunes, Objetos Activos, Objetos
Multiobjetos y Objetos Compuestos.
OBJETO ACTIVO
Un Objeto Activo es aquel que contiene su
propio flujo de control, a diferencia de un
Objeto Pasivo que encapsula datos y solo
reacciona al enviarle mensajes. Un Objeto
Activo puede contener o no otros objetos
Pasivos o Activos.
Un Objeto Activo se representa con un
ioctángulo de bordes gruesos
OBJETO MULTIOBJETO
Un Multiobjeto representa un conjunto lógico de
objetos (conjunto de instancias) esto es, una colección
de objetos que pertenecen a la misma clase. Los
mensajes dirigidos a multiobjetos indican que se le
envía el mensaje a todo el Objeto Colección no a
cada uno de los elementos. Por ejemplo, cuando se
busca un registro se envía el mensaje buscar() a todo
el Objeto Colección, formado por todos los registros
del tipo buscado.
Se representa mediante dos rectángulos, uno encima
de otro, tal como se muestra.
OBJETO COMPUESTO
Un Objeto Compuesto es aquel que consta
de otros objetos. Podemos representar un
Objeto Compuesto mostrando los objetos
contenidos dentro del rectángulo que
representa al objeto que los contiene.
ENLACE
● Un Enlace o Vínculo es una Instancia de una
Asociación de un Diagrama de Clases. Representa la
conexión entre dos instancias de objetos, indicando
alguna forma de navegación y visibilidad.

● Se representa como una línea continua que une dos


objetos.
● Esta acompañada por un número que indica el orden
dentro de la interacción y, opcionalmente por un
estereotipo. Los estereotipos de los enlaces indican la
visibilidad del objeto que recibe el mensaje, y pueden
ser tipo atributo (asociación), parámetro, local o
FLUJO DE MENSAJES
● Expresa el envío de un mensaje. Se representa
mediante una flecha dirigida colocada cerca a
un enlace.
● Esta flecha va acompañada del nombre del
mensaje con sus respectivos parámetros entre
paréntesis, en donde es opcional incluir el tipo
de dato del parámetro, y puede haber un valor
retornado al cual puede indicarse el tipo;
asimismo, cada mensaje debe llevar un número
de secuencia que indica el orden en que se
envían los mensajes. Un mensaje con todas sus
NUMERACION DE MENSAJES
Los mensajes ocurren en una determinada secuencia y esto
se representa mediante un número. El primer mensaje no
suele enumerarse, mientras que los siguientes mensajes se
enumeran mediante números consecutivos tales como 1:
msj2( ), 2:msj3(), ...
Pueden darse varios niveles de subíndices para indicar el
anidamiento de operaciones. Los mensajes anidados se
muestran anteponiendo el número principal, al número
anidado tal como 1.1: msj5( ), 1.2: msj6( ),...
Los hilos de ejecución (threads) de los Objetos Activos,
se denotan con las letras del alfabeto colocadas antes del
número de orden M mensaje. La sincronización entre hilos
se muestra mediante un '1 ' y el nuevo número de orden. Si
por ejemplo, el mensaje del proceso 3, va a dos procesos
MENSAJES AL MISMO OBJETO
Es permitido el envío de mensajes al mismo
objeto. Esto se representa como un enlace
consigo mismo.
MARCADORES DE CREACION Y
DESTRUCCION DE OBJETOS
En algunas situaciones los procesos crean objetos
y, terminada su utilización, los destruyen. El
mensaje para la creación de objetos será crear( ),
mientras que el mensaje para su destrucción será
borrar( ).
Puede mostrarse gráficamente cuáles objetos son
creados y destruidos, agregando la palabra new o
delete, respectivamente, dentro del rectángulo del
objeto.
MENSAJES CONDICIONALES
● Los mensajes condicionales se indican
mediante la forma [condición], la cual se
coloca después del número de secuencia.
MENSAJES CONDICIONALES
MUTUAMENTE EXCLUYENTES
Los mensajes mutuamente excluyentes se
representan colocando una letra en minúscula
inmediatamente después del número de
secuencia, esto lo diferencia de los mensajes
concurrentes en donde las letras van en
mayúsculas y delante del número de secuencia
ITERACION ES
● Las iteraciones se indican
mediante un asterisco ( * )
inmediatamente después del
número de secuencia.
● Cuando se conoce la cantidad
de repeticiones se acostumbra
a colocarla entre corchetes [ ]
inmediatamente después del
asterisco.
● Cuando existen un serie de
mensajes diferentes dentro de
la misma iteración, se debe
BECOME
Es un tipo de dependencia entre objetos
que se utiliza en los diagramas de
interacción, en el que el objeto destino
representa una nueva versión del objeto
origen, reemplazándolo. Normalmente se
utiliza para representar un cambio
cualitativo en un objeto como un cambio de
estado, un cambio de clase o un cambio de
localización. En estos casos el modelo
contiene dos versiones del objeto, pero la
BECOME (2)
● Se representa mediante una flecha
discontinua con el estereotipo «become»
dirigida desde la versión original del objeto
a la versión destino del mismo
● Las transiciones become pueden
utilizarse en diagramas de colaboración,
secuencia y actividad.
EJEMPLOS 1
Muestre el diagrama de colaboración del proceso
ingresar nuevo cliente
Solución:
● Se inicia con el evento ingresar cliente,
indicando el RUC, razón social dirección y
teléfono del cliente. Este mensaje se envía al
multiobjeto cliente pues es él quien debe
determinar si el cliente existe. En caso de no
existir el multiobjeto :Cliente, se envía un
mensaje a si mismo para crear el cliente, dando
como resultado una nueva instancia del objeto
DIAGRAMA DE COLABORACION
EJEMPLOS 2
Una fabrica produce artículos sobre pedido,
esto es; solo producen la solicitud del
cliente. Este proceso se inicia cuando un
cliente se dirige al área comercial de la
fabrica y hace el pedido el cual es derivado
al área de producción, en donde se planifica
la atención del pedido. Una vez listo se
envía al cliente. Utilice un diagrama de
colaboración para representar los objetos
que intervienen en este proceso.

Potrebbero piacerti anche