Diagrama de Colaboración Integrantes: Gonzalo Colque Ramos Edson Rios Hamachi Edson Rios Hamachi...

22
Diagrama de Diagrama de Colaboración Colaboración Integrantes: Integrantes: Gonzalo Colque Gonzalo Colque Ramos Ramos Edson Rios Edson Rios Hamachi Hamachi Carla Ortiz Cori Carla Ortiz Cori

Transcript of Diagrama de Colaboración Integrantes: Gonzalo Colque Ramos Edson Rios Hamachi Edson Rios Hamachi...

Page 1: Diagrama de Colaboración Integrantes: Gonzalo Colque Ramos Edson Rios Hamachi Edson Rios Hamachi Carla Ortiz Cori Carla Ortiz Cori.

Diagrama de ColaboraciónDiagrama de Colaboración

Integrantes: Integrantes: Gonzalo Colque Gonzalo Colque RamosRamos

Edson Rios HamachiEdson Rios Hamachi

Carla Ortiz CoriCarla Ortiz Cori

Page 2: Diagrama de Colaboración Integrantes: Gonzalo Colque Ramos Edson Rios Hamachi Edson Rios Hamachi Carla Ortiz Cori Carla Ortiz Cori.

Diagrama de ColaboraciónDiagrama de Colaboración

Un diagrama de colaboración muestra como las instancias trabajan juntas para conseguir un objetivo en común, implementa las asociaciones del diagrama de clases mediante el paso de mensajes de un objeto a otro.

Page 3: Diagrama de Colaboración Integrantes: Gonzalo Colque Ramos Edson Rios Hamachi Edson Rios Hamachi Carla Ortiz Cori Carla Ortiz Cori.

IntroducciónIntroducción

Los diagramas UML de secuencia y de colaboración (llamadosdiagramas de interacción) se utilizan para modelar los aspectosdinámicos de un sistema.

Un diagrama de interacción consiste en un conjunto de objetosy sus relaciones, incluyendo los mensajes que se pueden enviarentre ellos.

Los diagramas de secuencia destacan el orden temporal de losmensajes. Los diagramas de colaboración destacan la organiza-ción estructural de los objetos que envían y reciben mensajes.

Page 4: Diagrama de Colaboración Integrantes: Gonzalo Colque Ramos Edson Rios Hamachi Edson Rios Hamachi Carla Ortiz Cori Carla Ortiz Cori.

objetoA:A objetoB:B objetoC:C

<<create>>

mensaje1( )

mensaje2( )

mensaje3( )

mensaje4( )

EjemplosEjemplos

Diagrama de secuencia:destaca el orden temporal

de los mensajes.

objetoA:A

objetoB:B objetoC:C

1: <<create>>2: mensaje1( )3: <<destroy>>2:

2.1: mensaje2( )2.2: mensaje3( )

Diagrama de colaboración:destaca la relación estructuralentre los objetos que interactúan

objetos

tiempo

<<destroy>>

Page 5: Diagrama de Colaboración Integrantes: Gonzalo Colque Ramos Edson Rios Hamachi Edson Rios Hamachi Carla Ortiz Cori Carla Ortiz Cori.

ConceptosConceptos

Ambos diagramas (secuencia y colaboración) equivalentes. Se puede pasar de uno a otro sin pérdidade información.

En los diagramas de secuencia, la linea de vida de un objetoes la línea discontinua vertical, que representa la existenciade un objeto a lo largo de un periodo de tiempo. El foco decontrol es un rectángulo delgado que representa el periodo detiempo durante el cual un objeto ejecuta una acción.

Page 6: Diagrama de Colaboración Integrantes: Gonzalo Colque Ramos Edson Rios Hamachi Edson Rios Hamachi Carla Ortiz Cori Carla Ortiz Cori.

Conceptos Fundamentales de un Conceptos Fundamentales de un Diagrama de ColaboraciónDiagrama de Colaboración

Objeto: Se representa con un rectángulo que contiene el nombre y la clase del objeto en un formato nombreObjeto : nombreClase.

Enlaces: Un enlace es una instancia de una asociación en un diagrama de clases. Se representa como una línea continua que une a dos objetos, acompañada por un número que indica el orden dentro de la interacción..

Flujo de mensajes: Expresa el envío de un mensaje. Se representa mediante una flecha dirigida cerca de un enlace.

Marcadores de creación y destrucción de objetos: Puede mostrarse en la gráfica qué objetos son creados y destruidos, agregando una restricción con la palabra new o delete respectivamente.

Page 7: Diagrama de Colaboración Integrantes: Gonzalo Colque Ramos Edson Rios Hamachi Edson Rios Hamachi Carla Ortiz Cori Carla Ortiz Cori.

Conceptos Fundamentales de un Conceptos Fundamentales de un Diagrama de ColaboraciónDiagrama de Colaboración

Objeto compuesto: Es una representación alternativa de un objeto y sus atributos. En esta representación se muestran los objetos contenidos dentro del rectángulo que representa al objeto que los contiene.

Patrón de diseño: Un diagrama de colaboración puede especificar un contrato entre objetos, parte esencial para la descripción de un patrón de diseño. Una ``instanciación'' del patrón se representa como una elipse unida mediante flechas punteadas a los objetos o clases que participan realmente en el patrón. Estas flechas pueden tener roles, indicando cuál es el papel de cada elemento dentro del patrón.

Page 8: Diagrama de Colaboración Integrantes: Gonzalo Colque Ramos Edson Rios Hamachi Edson Rios Hamachi Carla Ortiz Cori Carla Ortiz Cori.

Conceptos Fundamentales de un Conceptos Fundamentales de un Diagrama de ColaboraciónDiagrama de Colaboración

Contexto: Un contexto es una vista de uno o más elementos dentro del modelo que colaboran en el desarrollo de una acción. Se usa para separar los demás elementos en el modelo de este problema en particular y darle énfasis. Puede mostrar sólo los detalles relevantes de las clases u objetos que contiene, para resaltar su utilidad.

Objeto activo: Un objeto activo es el que contiene su propio flujo de control, a diferencia de un objeto pasivo que encapsula datos y sólo reacciona al enviarle mensajes. Un objeto activo se representa con un rectángulo de bordes gruesos. Puede contener otros objetos pasivos o activos.

Page 9: Diagrama de Colaboración Integrantes: Gonzalo Colque Ramos Edson Rios Hamachi Edson Rios Hamachi Carla Ortiz Cori Carla Ortiz Cori.

UsosUsos

Un uso de un diagrama de comunicación es mostrar la implementación de una operación. La comunicación muestra los parámetros y las variables locales de la operación, así como asociaciones más permanentes. Cuando se implementa el comportamiento, la secuencia de los mensajes corresponde a la estructura de llamadas anidadas y el paso de señales del programa.

Es útil marcar los objetos en cuatro grupos: los que existen con la interacción entera; los creados durante la interacción (restricción {new}); los destruidos durante la interacción (restricción {destroyed}); y los que se crean y se destruyen durante la interacción (restricción crean y se destruyen durante la interacción (restricción

{transient}).{transient}).

TiposTipos

Page 10: Diagrama de Colaboración Integrantes: Gonzalo Colque Ramos Edson Rios Hamachi Edson Rios Hamachi Carla Ortiz Cori Carla Ortiz Cori.

MensajesMensajes

Los mensajes se muestran como flechas etiquetadas unidas a los enlaces. Cada mensaje tiene un número de secuencia, una lista opcional de mensajes precedentes, una condición opcional de guarda, un nombre y una lista de argumentos y un nombre de valor de retorno opcional.

Flujo "become“ se dibuja como una flecha de línea discontinua con el estereotipo "become" y puede ser etiquetado con un número de serie para mostrar

Un flujo de conversión también se utiliza para mostrar la migración de un objeto a partir de una localización a otra distinta para otro lugar.

FlujosFlujos

Page 11: Diagrama de Colaboración Integrantes: Gonzalo Colque Ramos Edson Rios Hamachi Edson Rios Hamachi Carla Ortiz Cori Carla Ortiz Cori.

NotaciónNotación

Los diagramas de colaboración explican gráficamentelas interacciones entre las instancias del modelo (objetos).Por ejemplo:

Page 12: Diagrama de Colaboración Integrantes: Gonzalo Colque Ramos Edson Rios Hamachi Edson Rios Hamachi Carla Ortiz Cori Carla Ortiz Cori.

NotaciónNotación

Secuencia de los mensajes en un diagrama de colaboración:

Page 13: Diagrama de Colaboración Integrantes: Gonzalo Colque Ramos Edson Rios Hamachi Edson Rios Hamachi Carla Ortiz Cori Carla Ortiz Cori.

Los mensajes entre objetos pasivos se denotan mediante una flecha completa, mientras que los mensajes entre objetos activos se denotan con una media flecha. Los hilos de ejecución se denotan con las letras A y B antes del número de orden del mensaje. .

Page 14: Diagrama de Colaboración Integrantes: Gonzalo Colque Ramos Edson Rios Hamachi Edson Rios Hamachi Carla Ortiz Cori Carla Ortiz Cori.

Ejemplo 1Ejemplo 1

Ejemplo: Se quiere modelar una llamada a través de una central telefónica.

Para esto se tienen cuatro objetos involucrados: dos interlocutores(s y r), una central y una conversación. La secuencia empieza cuando un interlocutor envía un mensaje a la central al descolgarel auricular. La central da el tono de llamada, y el interlocutor marcael número al que desea llamar. El tiempo de marcado debe sermenor que 30 segundos.

Page 15: Diagrama de Colaboración Integrantes: Gonzalo Colque Ramos Edson Rios Hamachi Edson Rios Hamachi Carla Ortiz Cori Carla Ortiz Cori.

EjemploEjemplo

s:Interlocutor :Central r:Interlocutor

c:Conversación

descolgarAuricular( )

darTonoDeLlamada( )

*marcarDigito( )

marcando

{marcando.tiempoEjecucion < 30 segs}

enrutarLlamadas(s,n)

<<create>>

llamar( )

descolgarAuricular( )conectar(r,s)

conectar(r) conectar(s)

Los interlocutopres r y s puedenintercambiar información despuésde conectarse.

Page 16: Diagrama de Colaboración Integrantes: Gonzalo Colque Ramos Edson Rios Hamachi Edson Rios Hamachi Carla Ortiz Cori Carla Ortiz Cori.

Ejemplo 2Ejemplo 2

Ejemplo: Matricular un nuevo estudiante en la universidad.

Hay cuatro objetos involucrados: un encargado de matrícula,un estudiante, un curso y la universidad. La acción comienzacuando el encargado de matrícula crea un objeto estudiante,lo añade a la universidad, y le pide al objeto estudiante quese matricule. El objeto estudiante obtiene (de sí mismo) suplan de estudio, e identifica los cursos que quiere matricular.

Page 17: Diagrama de Colaboración Integrantes: Gonzalo Colque Ramos Edson Rios Hamachi Edson Rios Hamachi Carla Ortiz Cori Carla Ortiz Cori.

EjemploEjemplo

s:Estudiante

matriculado = False

s:Estudiante

matriculado = True

r:EncargadoMatricula :Universidad

3.4: <<become>>

c1:Curso c2:Curso

1: <<create>>3: matricular( )

3.3: agregar(s)3.2: agregar(s)

3.1: obtenerPlanEstudios( )

2: agregarEstudiante(s)

{asociación} {asociación}

Page 18: Diagrama de Colaboración Integrantes: Gonzalo Colque Ramos Edson Rios Hamachi Edson Rios Hamachi Carla Ortiz Cori Carla Ortiz Cori.

Uso de diagramasUso de diagramas

Ejemplo: caso de uso para compra de productos en un supermercado.

Caso de uso: Comprar productosActores: Cliente, cajeroTipo: PrimarioDescripción: Un Cliente llega a la caja registradora con los artículos que va a comprar. El Cajero registra los artículos y cobra el importe. Al terminar la operación, el Cliente se marcha con los productos.

Page 19: Diagrama de Colaboración Integrantes: Gonzalo Colque Ramos Edson Rios Hamachi Edson Rios Hamachi Carla Ortiz Cori Carla Ortiz Cori.

Uso de diagramasUso de diagramas

Ejemplo: caso de uso para compra de productos en un supermercado.

Page 20: Diagrama de Colaboración Integrantes: Gonzalo Colque Ramos Edson Rios Hamachi Edson Rios Hamachi Carla Ortiz Cori Carla Ortiz Cori.

Uso de diagramasUso de diagramas

Ejemplo: caso de uso para compra de productos en un supermercado.

Def.: Un evento es una acción externa de entrada, que un actor produceen el sistema. En el ejemplo anterior, se tienen tres eventos: pasarProducto,terminarVenta y efectuarPago. Una vez que se identifican los eventos, se registran en la entidad que corresponda. Por ejemplo:

Page 21: Diagrama de Colaboración Integrantes: Gonzalo Colque Ramos Edson Rios Hamachi Edson Rios Hamachi Carla Ortiz Cori Carla Ortiz Cori.

Uso de diagramasUso de diagramas

Ejemplo: caso de uso para compra de productos en un supermercado.

Para cada evento que se produce en el sistema, se debe hacer undiagrama de colaboración. Ejemplo:

Page 22: Diagrama de Colaboración Integrantes: Gonzalo Colque Ramos Edson Rios Hamachi Edson Rios Hamachi Carla Ortiz Cori Carla Ortiz Cori.