DIAGRAMA DE DIAGRAMA DE
COLABORACIÓNCOLABORACIÓN
ANALISIS Y DISEÑO DE SISTEMAS IIANALISIS Y DISEÑO DE SISTEMAS II
Qué es un diagrama de Qué es un diagrama de
colaboración?colaboración?
Un diagrama de colaboración es Un diagrama de colaboración es
una forma de representar una forma de representar
interacción entre objetos .interacción entre objetos .
En que consiste un diagrama de En que consiste un diagrama de
colaboración ? colaboración ?
Muestra cómo las instancias específicas de las Muestra cómo las instancias específicas de las
clases trabajan juntas para conseguir un clases trabajan juntas para conseguir un
objetivo común. objetivo común.
Consiste Consiste especificar un contrato entre objetosespecificar un contrato entre objetos
Implementa las asociaciones del diagrama de Implementa las asociaciones del diagrama de
clases mediante el paso de mensajes de un clases mediante el paso de mensajes de un
objeto a otro. Dicha implementación es objeto a otro. Dicha implementación es
llamada "enlace". llamada "enlace".
¿Que representa el algoritmo ¿Que representa el algoritmo
de colabora ración?de colabora ración?
Representa la parte esencial Representa la parte esencial
para la descripción de un para la descripción de un
patrón de diseño.patrón de diseño.
DIAGRAMA DE COLABORACIONDIAGRAMA DE COLABORACION
Un Diagrama de Colaboración muestra una Un Diagrama de Colaboración muestra una
interacción organizada basándose en los objetos que interacción organizada basándose en los objetos que
toman parte en la interacción y los enlaces entre los mismos toman parte en la interacción y los enlaces entre los mismos
(en cuanto a la interacción se refiere). (en cuanto a la interacción se refiere).
UML –InteraccionesUML –Interacciones
Los objetos interactúan entre sí pasándose Los objetos interactúan entre sí pasándose mensajes.mensajes.
Los objetos se conectan a través de Los objetos se conectan a través de enlacesenlaces..
Mensaje:Mensaje: especifica transmisión de información entre especifica transmisión de información entre
objetos.objetos.
Enlace:Enlace: especifica un camino a lo largo del cual un objeto especifica un camino a lo largo del cual un objeto
puede enviar un mensaje a otro objeto.puede enviar un mensaje a otro objeto.
Es una conexión semántica entre objetos.Es una conexión semántica entre objetos.
Es una instancia de una relación.Es una instancia de una relación.
Puede contener los adornos de la relación.Puede contener los adornos de la relación.
Las Interacciones modelan aspectos dinámicos Las Interacciones modelan aspectos dinámicos
del sistemadel sistema
Llamada.-Llamada.-Invoca una operación sobre un objeto. Puede ser a sí Invoca una operación sobre un objeto. Puede ser a sí
mismo.mismo.
Retorno.-Retorno.-El receptor de una llamada devuelveEl receptor de una llamada devuelve un valor al un valor al
emisor, si es necesario.emisor, si es necesario.
Envío.-Envío.- Envía una señal a un objeto.Envía una señal a un objeto.
CreaciónCreación.- .- Para crear un objeto.Para crear un objeto.
DestrucciónDestrucción.-.- Para destruir un objeto. Puede destruirse a sí Para destruir un objeto. Puede destruirse a sí
mismo. mismo.
SecuenciaciónSecuenciación
El flujo de mensajes forma una secuencia.El flujo de mensajes forma una secuencia.
La secuencia es indicada por un número antes del mensaje y La secuencia es indicada por un número antes del mensaje y
una flecha dirigida.una flecha dirigida.
Para modelar caminos alternativos, se coloca el mismo Para modelar caminos alternativos, se coloca el mismo
número de secuencia seguido de un número de subsecuencia.número de secuencia seguido de un número de subsecuencia.
SecuenciaciónSecuenciación
Parámetros . RealesParámetros . Reales Se pueden modelar los Se pueden modelar los
parámetros reales enviados y tambiénparámetros reales enviados y también los los
retornos. Ej: 1.2.1: x:=operación(‘m’)retornos. Ej: 1.2.1: x:=operación(‘m’)
Elementos de un Diagrama de Elementos de un Diagrama de
ColaboraciónColaboración
Objetos o Roles:Objetos o Roles: nodos del grafo. nodos del grafo.
Enlaces o comunicaciones:Enlaces o comunicaciones: arcos del grafo. arcos del grafo.
Mensajes:Mensajes: llevan número de secuencia y flecha dirigida. llevan número de secuencia y flecha dirigida.
Anidamiento:Anidamiento: se utiliza la numeración decimal Ej: 1, se utiliza la numeración decimal Ej: 1,
1.1, 1.1.1 ........1.1, 1.1.1 ........
Iteración:Iteración: colocar un * antes del número de secuencia y colocar un * antes del número de secuencia y
una cláusula de condición, si es necesario. ej. *[x>0].una cláusula de condición, si es necesario. ej. *[x>0].
Bifurcación:Bifurcación: los caminos alternativos tendrán el mismo los caminos alternativos tendrán el mismo
número de secuencia, seguido del número de número de secuencia, seguido del número de
subsecuencia, y se deben distinguir por una condición.subsecuencia, y se deben distinguir por una condición.
Ejemplo:Ejemplo: Un lector solicita un libro al bibliotecario, y le Un lector solicita un libro al bibliotecario, y le
brinda su título. El bibliotecario busca el libro en un índice y brinda su título. El bibliotecario busca el libro en un índice y
solicita al asistente que le alcance el libro.solicita al asistente que le alcance el libro.
Diagrama de secuenciaDiagrama de secuencia
Solicita un libro Solicita un libro
brindándole el titulobrindándole el titulo
busca el librobusca el libro
devuelve informacióndevuelve información
solicita que le alcance el librosolicita que le alcance el libro
el libro es entregadoel libro es entregado
entrega el libroentrega el libro
LECTOR BIBLIOTECARIO ASISTENTEINDICE
Diagrama de colaboraciónDiagrama de colaboración
5:El libro es entregado()5:El libro es entregado()
4:Solicita que le alcance el libro ()4:Solicita que le alcance el libro ()
2:Busca el libro ()2:Busca el libro ()
3:devuelve información ()3:devuelve información ()
6:Entrega libro ()6:Entrega libro ()
1:Solicita libro ()1:Solicita libro ()
dándole el titulo ()dándole el titulo ()
LECTOR
BIBLIOTECARIO
ASISTENTE
INDICE
DEPENDENCIASDEPENDENCIAS
¿De qué artefactos depende su construcción?¿De qué artefactos depende su construcción?
R.- R.- Su construcción depende de:Su construcción depende de:
Los casos de uso (expandidos).Los casos de uso (expandidos).
Diagrama de secuencias.Diagrama de secuencias.
Diagrama de Clases.Diagrama de Clases.
¿Qué otros artefactos se generan ¿Qué otros artefactos se generan
a través de él?a través de él?
R.- Los artefactos que se generan son:R.- Los artefactos que se generan son:
Diagramas de Estado.Diagramas de Estado.
Diagrama de Componentes.Diagrama de Componentes.
Diagrama de DespliegueDiagrama de Despliegue
¿En qué etapa se realiza su ¿En qué etapa se realiza su
construcción?construcción?
Este tipo de diagramas se utilizan más Este tipo de diagramas se utilizan más
frecuentemente en la fase de frecuentemente en la fase de diseñodiseño, es , es
decir, cuando estamos decir, cuando estamos diseñando diseñando la la
implementación de las relaciones.implementación de las relaciones.
EJEMPLO DE EJEMPLO DE
APLICACIÓNAPLICACIÓN
CONTROL DE SEGURIDAD CONTROL DE SEGURIDAD
DEL HOTEL PLAZADEL HOTEL PLAZA
En cuanto a la representación, un En cuanto a la representación, un
Diagrama de Colaboración muestra a Diagrama de Colaboración muestra a
una serie de una serie de objetosobjetos con los con los enlacesenlaces
entre los mismos, y con los mensajes entre los mismos, y con los mensajes
que se intercambian dichos objetos. que se intercambian dichos objetos.
Los Los mensajesmensajes son son flechasflechas que van que van
junto al enlace por el que “circulan”, y junto al enlace por el que “circulan”, y
con el nombre del mensaje y los con el nombre del mensaje y los
parámetros (si los tiene) entre parámetros (si los tiene) entre
paréntesis. paréntesis. Cada mensaje lleva un Cada mensaje lleva un
número de secuencianúmero de secuencia que que denotadenota cuál cuál
es el mensaje que le es el mensaje que le precedeprecede, excepto , excepto
el mensaje que inicia el diagrama, que el mensaje que inicia el diagrama, que
no lleva número de secuencia. no lleva número de secuencia.
Se pueden indicar Se pueden indicar alternativasalternativas con con
condicionescondiciones entre entre corchetescorchetes ((por por
ejemploejemplo: : [condición_de_test] : [condición_de_test] :
nombre_de_método()nombre_de_método() ), tal y como ), tal y como
aparece en el ejemploaparece en el ejemplo..
También se puede mostrar el También se puede mostrar el
anidamiento de mensajes con números anidamiento de mensajes con números
de secuencia como 2.1de secuencia como 2.1 , que significa , que significa
que el mensaje con número de que el mensaje con número de
secuencia secuencia 2 no acaba de ejecutarse2 no acaba de ejecutarse
hasta que no se han ejecutado todos hasta que no se han ejecutado todos
los los 2. x .2. x .
Elementos básicos para el Elementos básicos para el
diagrama de Colaboracióndiagrama de Colaboración
ObjetoObjeto
Un objeto se representa con un rectángulo, que contiene el Un objeto se representa con un rectángulo, que contiene el
nombre y la clase del objeto en un formato nombre y la clase del objeto en un formato nombreObjeto: nombreObjeto:
nombreClasenombreClase. .
EnlacesEnlaces
Un enlace es una instancia de una asociación en un Un enlace es una instancia de una asociación en un
diagrama de clases. Se representa como una linea contínua diagrama de clases. Se representa como una linea contínua
que une a dos objetos. Esta acompañada por un número que une a dos objetos. Esta acompañada por un número
que indica el orden dentro de la interacción y por un que indica el orden dentro de la interacción y por un
estereotipo que indica que tipo de objeto recibe el mensaje. estereotipo que indica que tipo de objeto recibe el mensaje.
Flujo de mensajesFlujo de mensajes
Expresa el envío de un mensaje. Se representa Expresa el envío de un mensaje. Se representa
mediante una flecha dirigida cercana a un enlace. mediante una flecha dirigida cercana a un enlace.
Marcadores de creación y destrucción de objetosMarcadores de creación y destrucción de objetos
Puede mostrarse en la gráfica cuáles objetos son Puede mostrarse en la gráfica cuáles objetos son
creados y destruidos, agregando una restricción creados y destruidos, agregando una restricción
con la palabra con la palabra new new o o deletedelete, respectivamente, , respectivamente,
cercana al rectángulo del objeto cercana al rectángulo del objeto
Objeto compuestoObjeto compuesto
Es una representación Es una representación
alternativa de un objeto alternativa de un objeto
y sus atributos. En esta y sus atributos. En esta
representación se representación se
muestran los objetos muestran los objetos
contenidos dentro del contenidos dentro del
rectángulo que rectángulo que
representa al objeto que representa al objeto que
los contiene. Un los contiene. Un
ejemplo es el siguiente ejemplo es el siguiente
objeto objeto vehículo.vehículo.
Vehículo_hotel1:Vehículo
MT-1234 : Motor
FR-00145 : Frenos
TR-4583 : Transmisión
Ejemplo:Ejemplo:
Caso de Uso: Pago por servicios.
Actores: Administrador, Agente, Huésped (inicia).
Propósito: Controlar que el huésped cancele su estadía y los servicios solicitados.
Tipo: Primario y esencial.
Descripción:El agente designado en administración controla que el huésped cancele su
estadía en el hotel y los servicios solicitados.
CURSO NORMAL DE LOS EVENTOS
ACCIÓN DEL ACTOR RESPUESTA DEL SISTEMA
1.- Se inicia cuando el huésped desea retirarse del
hotel.
2.- El agente revisa que no exista daños ni perdidas
durante la estadía del huésped.
3.- El administrador calcula el saldo que debe
cancelar, y pide la cancelación total al huésped
4.- El huésped cancela al administrador y este le
proporciona una factura.
6.- El administrador recibe las llaves de la
habitación.
7.- El huésped se retira.
5.- El sistema actualiza el pago del huésped.
EJEMPLO: HOTEL PLAZA
CONCLUSIÓNCONCLUSIÓN
Un diagrama de colaboración es
un tipo de diagrama que muestra
las interacciones entre objetos
organizadas y enlazados entre
ellos.
A continuación tenemos los titulos fundamentales
de un diagrama de colaboración:
1.- Objeto
·2.- Enlaces
3.- Objeto compuesto
4.- Patrón de diseño
5.- Contexto5.- Contexto
6.- Objeto 6.- Objeto activo::
Un uso de un diagrama de colaboración es Un uso de un diagrama de colaboración es
mostrar la implementación de una operación. mostrar la implementación de una operación.
La colaboración muestra los parámetros y las La colaboración muestra los parámetros y las
variables locales de la operación, así como variables locales de la operación, así como
asociaciones más permanentes. Cuando se asociaciones más permanentes. Cuando se
implementa el comportamiento, la secuencia implementa el comportamiento, la secuencia
de los mensajes corresponde a la estructura de los mensajes corresponde a la estructura
de llamadas anidadas y el paso de señales de llamadas anidadas y el paso de señales
del programa.del programa.
Un diagrama de colaboración Un diagrama de colaboración
muestra relaciones entre roles muestra relaciones entre roles
geométricamente y relaciona los geométricamente y relaciona los
mensajes con las relaciones, pero mensajes con las relaciones, pero
las secuencias temporales están las secuencias temporales están
menos clarasmenos claras
Prefieren el diagrama de Prefieren el diagrama de
colaboración, porque pueden usar la colaboración, porque pueden usar la
distribución para indicar cómo se distribución para indicar cómo se
conectan estáticamente los objetosconectan estáticamente los objetos