Diagramas de colaboracion

28
DIAGRAMA DE DIAGRAMA DE COLABORACIÓN COLABORACIÓN ANALISIS Y DISEÑO DE ANALISIS Y DISEÑO DE SISTEMAS II SISTEMAS II

Transcript of Diagramas de colaboracion

Page 1: Diagramas de colaboracion

DIAGRAMA DE DIAGRAMA DE COLABORACIÓNCOLABORACIÓN

ANALISIS Y DISEÑO DE SISTEMAS IIANALISIS Y DISEÑO DE SISTEMAS II

Page 2: Diagramas de colaboracion

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 .

Page 3: Diagramas de colaboracion

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

Page 4: Diagramas de colaboracion

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

Page 5: Diagramas de colaboracion

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 –InteraccionesLos 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.

Page 6: Diagramas de colaboracion

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.

Page 7: Diagramas de colaboracion

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.

Page 8: Diagramas de colaboracion

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’)

Page 9: Diagramas de colaboracion

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.

Page 10: Diagramas de colaboracion

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

Page 11: Diagramas de colaboracion

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

Page 12: Diagramas de colaboracion

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.

Page 13: Diagramas de colaboracion

¿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

Page 14: Diagramas de colaboracion

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

Page 15: Diagramas de colaboracion

EJEMPLO DE EJEMPLO DE APLICACIÓNAPLICACIÓN

CONTROL DE SEGURIDAD CONTROL DE SEGURIDAD DEL HOTEL PLAZADEL HOTEL PLAZA

Page 16: Diagramas de colaboracion

En cuanto a la representación, un Diagrama En cuanto a la representación, un Diagrama de Colaboración muestra a una serie de de Colaboración muestra a una serie de objetosobjetos con los con los enlacesenlaces entre los mismos, y entre los mismos, y con los mensajes que se intercambian dichos con los mensajes que se intercambian dichos objetos. objetos.

Los Los mensajesmensajes son son flechasflechas que van junto al que van junto al enlace por el que “circulan”, y con el enlace por el que “circulan”, y con el nombre del mensaje y los parámetros (si los nombre del mensaje y los parámetros (si los tiene) entre paréntesis. tiene) entre paréntesis. Cada mensaje lleva Cada mensaje lleva un número de secuenciaun número de secuencia que que denotadenota cuál es cuál es el mensaje que le el mensaje que le precedeprecede, excepto el , excepto el mensaje que inicia el diagrama, que no lleva mensaje que inicia el diagrama, que no lleva número de secuencia. número de secuencia.

Page 17: Diagramas de colaboracion

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 , que significa que el mensaje con número de secuencia el mensaje con número de secuencia 2 2 no acaba de ejecutarseno acaba de ejecutarse hasta que no se hasta que no se han ejecutado todos los han ejecutado todos los 2. x .2. x .

Page 18: Diagramas de colaboracion

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.    

Page 19: Diagramas de colaboracion

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

Page 20: Diagramas de colaboracion

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

Page 21: Diagramas de colaboracion

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.    

Page 22: Diagramas de colaboracion

EJEMPLO: HOTEL PLAZA

Page 23: Diagramas de colaboracion

CONCLUSIÓNCONCLUSIÓN

Page 24: Diagramas de colaboracion

Un diagrama de colaboración es un tipo de diagrama que muestra las interacciones entre objetos organizadas y enlazados entre ellos.

Page 25: Diagramas de colaboracion

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ño5.- Contexto5.- Contexto6.- Objeto 6.- Objeto activo::

Page 26: Diagramas de colaboracion

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.

  

Page 27: Diagramas de colaboracion

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 colaboración, Prefieren el diagrama de colaboración, porque pueden usar la distribución porque pueden usar la distribución para indicar cómo se conectan para indicar cómo se conectan estáticamente los objetosestáticamente los objetos

Page 28: Diagramas de colaboracion