CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf ·...

24
CLASE 8 DIAGRAMAS DE COLABORACIÓN Universidad Simón Bolívar. Prof. Ivette C. Martínez

Transcript of CLASE 8 DIAGRAMAS DE COLABORACIÓN - ldc.usb.vemartinez/cursos/ci3715/clase8_AJ2010.pdf ·...

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

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

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

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

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

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

: 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

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

: 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

: 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

: 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

: 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

: 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

: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

: 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

: 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

: 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

: 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

: 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

: 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

: 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

: 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

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

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

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.