clase 8 diagramas de colaboraciÓn - ldc.usb.vemartinez/cursos/ci3715/clase8_aj2010.pdf ·...
TRANSCRIPT
![Page 1: CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf · Objetivos Ser capaz de describir el comportamiento de un sistema, subsistema u operación](https://reader030.vdocuments.net/reader030/viewer/2022021805/5ba5372b09d3f2634c8c85b7/html5/thumbnails/1.jpg)
CLASE 8
DIAGRAMAS DE COLABORACIÓN
Universidad Simón Bolívar. Prof. Ivette C. Martínez
![Page 2: CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf · Objetivos Ser capaz de describir el comportamiento de un sistema, subsistema u operación](https://reader030.vdocuments.net/reader030/viewer/2022021805/5ba5372b09d3f2634c8c85b7/html5/thumbnails/2.jpg)
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.
![Page 3: CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf · Objetivos Ser capaz de describir el comportamiento de un sistema, subsistema u operación](https://reader030.vdocuments.net/reader030/viewer/2022021805/5ba5372b09d3f2634c8c85b7/html5/thumbnails/3.jpg)
Modelos y Diagramas
Diagramas de Casos de Uso
Diagramas de Clases
Diagramas de Objeto
Diagramas de Secuencia
Diagramas de Colaboración
Diagramas de interacción
Un Diagrama de Colaboración describe las interaciones
entre objetos enumerando los mensajes en el tiempo
![Page 4: CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf · Objetivos Ser capaz de describir el comportamiento de un sistema, subsistema u operación](https://reader030.vdocuments.net/reader030/viewer/2022021805/5ba5372b09d3f2634c8c85b7/html5/thumbnails/4.jpg)
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
![Page 5: CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf · Objetivos Ser capaz de describir el comportamiento de un sistema, subsistema u operación](https://reader030.vdocuments.net/reader030/viewer/2022021805/5ba5372b09d3f2634c8c85b7/html5/thumbnails/5.jpg)
Diagrama de Colaboración Diagrama de Secuencia
: C1 : C2
mensaje 1 (p) mensaje 0 (p)
mensaje 2 ()
Diagramas de secuencia y Diagramas de colaboración
: C1
: C2
1: mensaje 1 (p )
2: mensaje 2 ( )
mensaje 0 (p)
![Page 6: CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf · Objetivos Ser capaz de describir el comportamiento de un sistema, subsistema u operación](https://reader030.vdocuments.net/reader030/viewer/2022021805/5ba5372b09d3f2634c8c85b7/html5/thumbnails/6.jpg)
: C1
: C2
1: mensaje 1 (p )
2: mensaje 2 ( )
Mensajes, orden y dirección
Objetos
Notación Básica: Objetos y mensajes
Línea de asociación
Primer mensaje y parámetro
mensaje 0 (p)
![Page 7: CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf · Objetivos Ser capaz de describir el comportamiento de un sistema, subsistema u operación](https://reader030.vdocuments.net/reader030/viewer/2022021805/5ba5372b09d3f2634c8c85b7/html5/thumbnails/7.jpg)
C1
: C2
Notación Básica: Objetos y mensajes
xx
ob:C
¿Qué representa cada figura?
una clase
un objeto
un objeto
un objeto
![Page 8: CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf · Objetivos Ser capaz de describir el comportamiento de un sistema, subsistema u operación](https://reader030.vdocuments.net/reader030/viewer/2022021805/5ba5372b09d3f2634c8c85b7/html5/thumbnails/8.jpg)
: C1
: C2
Notación Básica: Asociaciones
Asociación entre dos objetos
Es posible la navegación y visibilidad entre los objetos
![Page 9: CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf · Objetivos Ser capaz de describir el comportamiento de un sistema, subsistema u operación](https://reader030.vdocuments.net/reader030/viewer/2022021805/5ba5372b09d3f2634c8c85b7/html5/thumbnails/9.jpg)
: C1
: C2
1: mensaje 1 (p )
2: mensaje 2 ( )
:C3 1.1: mensaje 3 (p )
Notación Básica: mensajes y parámetros
Reacción en cadena
Primer mensaje y parámetro
Mensajes y dirección
1.2: mensaje 4
mensaje 0 (p)
Mensajes y numeración
![Page 10: CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf · Objetivos Ser capaz de describir el comportamiento de un sistema, subsistema u operación](https://reader030.vdocuments.net/reader030/viewer/2022021805/5ba5372b09d3f2634c8c85b7/html5/thumbnails/10.jpg)
: C1
Notación Básica: Recursión
mensaje 0 (p)
1: mensaje 1()
Recursión
Mensaje a si mismo (“self” , “this”)
![Page 11: CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf · Objetivos Ser capaz de describir el comportamiento de un sistema, subsistema u operación](https://reader030.vdocuments.net/reader030/viewer/2022021805/5ba5372b09d3f2634c8c85b7/html5/thumbnails/11.jpg)
: Calculadora
Notación Básica: Recursión
factorial (n)
1: factorial (n-1)
Ejemplo:
![Page 12: CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf · Objetivos Ser capaz de describir el comportamiento de un sistema, subsistema u operación](https://reader030.vdocuments.net/reader030/viewer/2022021805/5ba5372b09d3f2634c8c85b7/html5/thumbnails/12.jpg)
: C1
Notación Básica: Creación de Objetos
Creación de objetos
:C2 1: crear()
mensaje 0 (p)
![Page 13: CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf · Objetivos Ser capaz de describir el comportamiento de un sistema, subsistema u operación](https://reader030.vdocuments.net/reader030/viewer/2022021805/5ba5372b09d3f2634c8c85b7/html5/thumbnails/13.jpg)
:Venta
Notación Básica: Creación de Objetos
:Línea de Producto
1: crear()
2: modificar(cod,cant)
agregarProducto (cod,cant)
Ejemplo:
![Page 14: CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf · Objetivos Ser capaz de describir el comportamiento de un sistema, subsistema u operación](https://reader030.vdocuments.net/reader030/viewer/2022021805/5ba5372b09d3f2634c8c85b7/html5/thumbnails/14.jpg)
: C1
: C2
Mensaje condicional
1[condición]: mensaje 1 ()
Notación Básica: Mensajes Condicionales
mensaje 0 (p)
![Page 15: CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf · Objetivos Ser capaz de describir el comportamiento de un sistema, subsistema u operación](https://reader030.vdocuments.net/reader030/viewer/2022021805/5ba5372b09d3f2634c8c85b7/html5/thumbnails/15.jpg)
: Ciudadano
declaraciónImpuesto () [sueldo>Límite] impuesto (sueldo)
Ejercicio: Escribir el Diagrama de Colaboración
equivalente
Notación Básica: Mensajes Condicionales
: Calculador
![Page 16: CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf · Objetivos Ser capaz de describir el comportamiento de un sistema, subsistema u operación](https://reader030.vdocuments.net/reader030/viewer/2022021805/5ba5372b09d3f2634c8c85b7/html5/thumbnails/16.jpg)
: C1
Notación Básica: Mensajes Condicionales Excluyentes
mensaje 0 (p)
: C2
: C3
Mensajes condicionales
mútuamente excluyentes
1a [condición 1]: mensaje 1 ()
1b [condición 2]: mensaje 2 ()
![Page 17: CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf · Objetivos Ser capaz de describir el comportamiento de un sistema, subsistema u operación](https://reader030.vdocuments.net/reader030/viewer/2022021805/5ba5372b09d3f2634c8c85b7/html5/thumbnails/17.jpg)
: Taller
repararCarro ()
Ejercicio: Escribir el Diagrama de Colaboración
equivalente : Especialista en
Sistemas de Dirección
: Especialista en Sistemas de
Inyección
[fallaDirección] reparar()
[fallaInyección] reparar()
Notación Básica: Mensajes Condicionales Excluyentes
![Page 18: CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf · Objetivos Ser capaz de describir el comportamiento de un sistema, subsistema u operación](https://reader030.vdocuments.net/reader030/viewer/2022021805/5ba5372b09d3f2634c8c85b7/html5/thumbnails/18.jpg)
: C1
Notación Básica: Iteración
mensaje 0 (p)
: C2 La iteración se indica con * seguido de una clausula de iteración opcional
1* [i:=1..N]: vi:=mensaje 2 ()
![Page 19: CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf · Objetivos Ser capaz de describir el comportamiento de un sistema, subsistema u operación](https://reader030.vdocuments.net/reader030/viewer/2022021805/5ba5372b09d3f2634c8c85b7/html5/thumbnails/19.jpg)
: Simulador Random
simular() [i:=1..N]: num:=proximo()
Ejercicio: Escribir el Diagrama de Colaboración equivalente
Notación Básica: Iteración
![Page 20: CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf · Objetivos Ser capaz de describir el comportamiento de un sistema, subsistema u operación](https://reader030.vdocuments.net/reader030/viewer/2022021805/5ba5372b09d3f2634c8c85b7/html5/thumbnails/20.jpg)
: C1
Notación Básica: Iteración sobre una colección
mensaje 0 (p)
: C2
Multiobjeto: conjunto de instancias
El indicador de multiplicidad * indica que el mensaje es enviado a cada objeto en la colección
1* : mensaje 2 ()
*
![Page 21: CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf · Objetivos Ser capaz de describir el comportamiento de un sistema, subsistema u operación](https://reader030.vdocuments.net/reader030/viewer/2022021805/5ba5372b09d3f2634c8c85b7/html5/thumbnails/21.jpg)
: Venta
Notación Básica: Iteración sobre una colección
t:=obtenerTotal()
: Línea deProducto Venta
1* : st:=obtenerSubtotal()
*
Ejemplo:
![Page 22: CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf · Objetivos Ser capaz de describir el comportamiento de un sistema, subsistema u operación](https://reader030.vdocuments.net/reader030/viewer/2022021805/5ba5372b09d3f2634c8c85b7/html5/thumbnails/22.jpg)
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
![Page 23: CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf · Objetivos Ser capaz de describir el comportamiento de un sistema, subsistema u operación](https://reader030.vdocuments.net/reader030/viewer/2022021805/5ba5372b09d3f2634c8c85b7/html5/thumbnails/23.jpg)
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.
![Page 24: CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf · Objetivos Ser capaz de describir el comportamiento de un sistema, subsistema u operación](https://reader030.vdocuments.net/reader030/viewer/2022021805/5ba5372b09d3f2634c8c85b7/html5/thumbnails/24.jpg)
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.