diagramas de interaccion

9,533 views 31 slides Jan 05, 2009
Slide 1
Slide 1 of 31
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31

About This Presentation

No description available for this slideshow.


Slide Content

DiagramasDiagramas
De InteracciónDe Interacción
Análisis y Diseño Orientado a ObjetosAnálisis y Diseño Orientado a Objetos
Septiembre 2005Septiembre 2005

2
Diagramas de Interacción
uModelan el comportamiento dinámico del sistema; el
flujo de control en una operación.
uDescribe la interacción entre objetos; los objetos
interactúan a través de mensajes para cumplir ciertas
tareas.
uLas interacciones provee un “comportamiento” y
típicamente implementan un Caso de Uso.
uExisten dos tipo de diagramas de interacción en UML:
–Diagramas de Secuencia (dimensión temporal)
–Diagramas de Colaboración (dimensión estructural)

3
Dependencia
Casos de
Uso
Diagrama de
Casos de
Uso
Modelo
Conceptual
Diagrama de
Secuencia del
Sistema
Diagrama de
Clases de Diseño
Diagrama
de Interacción
Depende de
Análisis Diseño

Diagramas de SecuenciaDiagramas de Secuencia

5
Diagramas de Secuencia
uModela interacciones en un gráfico de dos
dimensiones
uLos objetos que participan en la interacción son
ubicados en el eje-X, el tiempo en el eje-Y
uEl eje-Y modela la línea de vida de los objetos.
uEl diagrama de secuencia es un diagrama de
interacción que enfatiza el ordenamiento temporal
de los mensajes en una interacción.
uLos mensajes pasados entre objetos manifiestan la
interacción.

6
Diagramas de Secuencia ...
uPueden ser usados en dos formas:
–Forma de Instancia
–Forma Genérica
uDe instancia: describe un escenario especifico
(un escenario es una instancia de la ejecución
de un caso de uso).
uGenérico: describe la interacción para un caso
de uso; utiliza ramificaciones (“branches”),
condiciones y bucles.

7
Diagrama de Secuencia (del sistema)
:Sistema
crearNuevaVenta()
*[más items]
descripción, total
:cajero
ingresarItem(codItem, cant)
finalizarVenta()
total con imptos.
realizarPago()
monto cambio, recibo
Un diagrama de secuencia del sistema muestra, para un escenario particular de un caso de uso, los
eventos externos que los actores generan, su orden y los eventos inter-sistemas.
Bucle

8
Diagrama de Secuencia : Ejemplo
:JuegodeDados
dado1:Dados dado2:Dados
jugar()
lanzar()
val1:=getValorMostrado()
lanzar()
val2:=getValorMostrado()

9
Diagrama de Secuencia : Ejemplo
:Computer :PrintServer :Printer
print(arch)
print(arch) [no queue]
print(arch)

10
Diagrama de Secuencia - Elementos
uLínea de existencia de los objetos en el Eje-Y
uObjetos que participan en la interacción en el
Eje-X.
uElementos del Diagrama
–Roles de Clase
–Líneas de Existencia de Objetos
–Activaciones
–Mensajes

11
Diagrama de Secuencia - Conceptos
uRoles de Clase - objetos que participan en la
interacción
–un “rol” es la participación de un objeto de una clase.
–se muestran como cajones (rectángulos) de objetos
con etiquetas de la forma:
nombre-de-Rol: Nombre-de-la-Clase
uLíneas de Vida – son el tiempo de vida del objeto
–son líneas verticales punteadas que salen de los
cajones de los objetos.
–representan el período de tiempo de existencia de los
objetos.

12
Diagrama de Secuencia - Conceptos
uActivaciones - representan el concepto de control
–Se muestran como un rectángulo delgado en la línea de
vida del objeto.
–Representa el periodo de tiempo durante el cual un
objeto esta ejecutando una acción .
uMensajes - comunicación entre objetos
–Líneas horizontales entre líneas de vida de los objetos,
pueden tener etiquetas.
–La secuencia de los mensaje esta generalmente
implícitamente indicada por su ubicación.

13
Diagrama de Secuencia - Ejemplo
:Computer :PrintServer :Printer
print(arch)
print(arch) [no queue]
print(arch)
Mensaje
Línea de
vida
Activación
Mensaje
Sincrónico
Retorno
Condición
Objetos participantes en la interacción
Puede omitirse

14
Creación y Destrucción de Objetos
:ItemWindow
:Item
NuevoItem(data)
crearItem(data)
Flecha hacia un objeto
índica creación del objeto.
:ItemWindow :Item
EliminarItem()
BorrarItem()
X
X indica destrucción del objeto

15
Tipos de Mensajes
Mensaje Simple / Sincrónico
No se dan detalles de la comunicación cuando no
son conocidos o no son relevantes.
Mensaje Asincrónico
Sintaxis del mensaje:
Número de secuencia [condición] * [expresión iteración]
valor de retorno := nombre del mensaje (parámetros)
Respuesta / Resultado

16
Ramificaciones (“Branching”)
a1:ClaseA b1:ClaseB
uUna ramificación es mostrada por múltiples mensaje que
abandonan un mismo punto, cada una etiquetada con una
condición
uSi las condiciones son mutuamente excluyentes representan
condiciones; de otra manera representan concurrencia.
:ClaseC
[x>0] Op1()
X
[x<0] Op1()

17
Iteración
a1:Order b1:OrderLine
Sintaxis: * [expresión-iteación ] mensaje
*[for each] subtotal()
OrderTotal()

18
Activaciones
Para cada línea de
la orden calcular
subtotales.
Sumar todos los
subtotales para
obtener el total de
la orden.
uAlgún texto puede ser ubicado a un lado del símbolo de la activación
para describir las acciones que se ejecutan.
uRestricciones de tiempo pueden ser especificadas.
a1:Order b1:OrderLine
*[for each] subtotal()
OrderTotal()

19

Diagramas deDiagramas de
ColaboraciónColaboración

21
Diagramas de Interacción
uModelan el comportamiento dinámico del sistema; el flujo
de control en una operación.
uDescribe la interacción entre objetos; los objetos
interactúan a través de mensajes para cumplir ciertas
tareas.
uLas interacciones provee un “comportamiento” y
típicamente implementan un Caso de Uso.
uExisten dos tipo de diagramas de interacción en UML:
–Diagramas de Secuencia (dimensión temporal)
–Diagramas de Colaboración (dimensión estructural)

22
Diagrama de Colaboración
uEs un diagrama de interacción que enfatiza la
organización estructural de los objetos que
participan en una interacción.
uMuestra
–objetos / clases
–relaciones/uniones entre ellos
–mensajes
uLos mensajes son numerados para mostrar
secuencias.

23
Ejemplo: Diagrama de Colaboración para la función “ingresar
un ítem” en una aplicación de Punto-de-Venta
:Terminal
3: makeLineItem(spec,qty)
enterItem(upc,qty)
sl:SalesLineItem
:Sale
2: spec := specification(upc)
:SalesLineItem
:Product
Specification
:Product
Catalog
1: [new sale] create()
3.1: create(spec,qty)
1.1: create()
2.1: spec := find(upc)
3.2: add(sl)

24
Notación
:Terminal :Sale
1: addPayment(amount:Money)
Sintaxis:
retorno := mensaje(parametro : tipoParam) : tipoRetorno
Notación de Diagramas de Colaboración
Sale
una clase
:Sale
una instancia
s1:Sale
una instancia nombrada

25
Iteración
:Terminal :Sale
1*:li := nextLineItem(): SalesLineItem
:Terminal :Sale
1*[i := 1..10] li := nextLineItem(): SalesLineItem
Cláusula de la iteración
El “*” después del número de secuencia indica iteración – ej., el
mensaje esta siendo enviado repetidamente dentro de un bucle al
receptor.

26
Creación de Instancias
:Terminal :Sale
1:create(cashier)
Mensaje de creación con parámetros
de inicialización opcionales
Nueva instancia
<<new>>
:Sale
Notación alternativa

27
Secuencia de mensaje
:ClassA :ClassB
1:msg2()
:ClassC
:ClassD
msg1()
1.1:msg3()
2.1:msg5()
2:msg4()
2.2:msg6()
1 2
3
4
5
6

28
Mensajes Condicionales
:Terminal :Sale
1: [new Sale] create()
:SalesLineItem
msg1()
1.1: create()
Cláusula condicional

29
Condiciones mutuamente excluyentes
:ClassE
:ClassA
:ClassD
msg1()
:ClassB
:ClassC
2: msg6()
1b: [not cond-1] msg4()
1a: [cond-1] msg2()
1b.1: msg5()
1a.1: msg3()

30
Mensaje a múltiples objetos
:Sale :SalesLineItem
msg1()
1: s := size() : int
Mensaje enviado a una
colección de objetos.

31
Mensaje a una Clase
:Sale Date
msg1()
Mensajes a una clase
Una clase
(no subrayada)
1: d1 := today() : Date
Tags