CLASE 8 DIAGRAMAS DE COLABORACIÓN Universidad Simón Bolívar. Prof. Ivette C. Martínez
Objetivos Ser capaz de describir el comportamiento de un sistema, subsistema u operación particular mediante un Diagrama de Colaboración, utilizando para ello los conceptos de colaboración, interacción, rol de colaboración y mensajes entre objetos.
Modelos y Diagramas Diagramas de interacción Un Diagrama de Colaboración describe las interaciones entre objetos enumerando los mensajes en el tiempo Diagramas de Casos de Uso Diagramas de Clases Diagramas de Objeto Diagramas de Secuencia Diagramas de Colaboración
Objetivos: Diagramas de Colaboración Ser capaz de representar en forma de un grafo: Objetos, diferentes tipos de interacciones y mensajes con el objeto de describir el comportamiento de un sistema, subsistema, operación
Diagramas de secuencia y Diagramas de colaboración : C1 : C2 mensaje 0 (p) mensaje 1 (p) mensaje 2 () mensaje 0 (p) 1: mensaje 1 (p ) 2: mensaje 2 ( ) : C1 : C2 Diagrama de Secuencia Diagrama de Colaboración
Notación Básica: Objetos y mensajes mensaje 0 (p) : C1 Primer mensaje y parámetro Mensajes, orden y dirección 1: mensaje 1 (p ) 2: mensaje 2 ( ) Objetos : C2 Línea de asociación
Notación Básica: Objetos y mensajes Qué representa cada figura? C1 una clase xx un objeto : C2 un objeto ob:c un objeto
Notación Básica: Asociaciones : C1 Asociación entre dos objetos Es posible la navegación y visibilidad entre los objetos : C2
Notación Básica: mensajes y parámetros Primer mensaje y parámetro mensaje 0 (p) : C1 1: mensaje 1 (p ) 2: mensaje 2 ( ) Reacción en cadena Mensajes y dirección : C2 1.1: mensaje 3 (p ) 1.2: mensaje 4 :C3 Mensajes y numeración
Notación Básica: Recursión mensaje 0 (p) : C1 1: mensaje 1() Recursión Mensaje a si mismo ( self, this )
Notación Básica: Recursión Ejemplo: factorial (n) : Calculadora 1: factorial (n-1)
Notación Básica: Creación de Objetos mensaje 0 (p) : C1 Creación de objetos 1: crear() :C2
Notación Básica: Creación de Objetos Ejemplo: agregarproducto (cod,cant) :Venta 1: crear() 2: modificar(cod,cant) :Línea de Producto
Notación Básica: Mensajes Condicionales mensaje 0 (p) : C1 1[condición]: mensaje 1 () Mensaje condicional : C2
Notación Básica: Mensajes Condicionales Ejercicio: Escribir el Diagrama de Colaboración equivalente : Ciudadano : Calculador declaraciónimpuesto () [sueldo>límite] impuesto (sueldo)
Notación Básica: Mensajes Condicionales Excluyentes mensaje 0 (p) : C1 1a [condición 1]: mensaje 1 () : C3 1b [condición 2]: mensaje 2 () : C2 Mensajes condicionales mútuamente excluyentes
Notación Básica: Mensajes Condicionales Excluyentes Ejercicio: Escribir el Diagrama de Colaboración equivalente repararcarro () : Taller [falladirección] reparar() : Especialista en Sistemas de Dirección : Especialista en Sistemas de Inyección [fallainyección] reparar()
Notación Básica: Iteración mensaje 0 (p) : C1 1* [i:=1..n]: v i :=mensaje 2 () : C2 La iteración se indica con * seguido de una clausula de iteración opcional
Notación Básica: Iteración Ejercicio: Escribir el Diagrama de Colaboración equivalente : Simulador Random simular() [i:=1..n]: num:=proximo()
Notación Básica: Iteración sobre una colección mensaje 0 (p) : C1 1* : mensaje 2 () : C2 * El indicador de multiplicidad * indica que el mensaje es enviado a cada objeto en la colección Multiobjeto: conjunto de instancias
Notación Básica: Iteración sobre una colección Ejemplo: t:=obtenertotal() : Venta 1* : st:=obtenersubtotal() * : Línea deproducto Venta
Utilidad de los diagramas de secuencia Maneja la comunicación entre el sistema y el mundo exterior captura requerimientos de la interfaz de usuario no muestra como la interfaz será implementada Son un medio para clarificar escenarios
Utilidad de los diagramas de colaboración Maneja la comunicación entre los elementos del sistema. Cómo deben colaborar los objetos del sistema para llavar a cabo una operación. Muestran cómo será implementada la operación Son un medio el diseño de las clases del sistema.
Resumen: Diagramas de Colaboración 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.