Diagramas de Interacción - UML

33
Ingeniería de Software Diagramas de Interacción - UML Facultad de Ingeniería EAP. Ingeniería de Sistemas Ing. CIP. Eddy Iván Quispe Soto

Transcript of Diagramas de Interacción - UML

Page 1: Diagramas de Interacción - UML

Ingeniería de Software Diagramas de Interacción - UML

Facultad de IngenieríaEAP. Ingeniería de Sistemas

Ing. CIP. Eddy Iván Quispe Soto

Page 2: Diagramas de Interacción - UML

Enfoques de UML 2.0 - 2.1

ESTRUCTURA

COMPORTAMIENTO

INTERACCION

1. D. CLASES

2. D. OBJETOS

3. D. COMPONENTES

4. D. DESPLIEGUE

5. D. PAQUETES

6. D. ESTRUCTURA COMPUESTA

7. D. CASOS DE USO

8. D. ACTIVIDADES

9. D. ESTADOS

10 D. SECUENCIA

11 D. COMUNICACIÓN (COLABORACION)

12. D. VISION GENERAL( OverView)

13 D. TIEMPO

Page 3: Diagramas de Interacción - UML

Diagramas de Interacción

Page 4: Diagramas de Interacción - UML

Interacción Los objetos interactúan para realizar

colectivamente los servicios ofrecidos por las aplicaciones. Los diagramas de interacción muestran cómo se comunican los objetos en una interacción

Existen dos tipos de diagramas de interacción: los diagramas de colaboración y los diagramas de secuencia

Page 5: Diagramas de Interacción - UML

Diagramas de interacción Los Diagramas de Secuencia están bien

adaptados para representar interacciones.

Los Diagramas de Colaboración se prestán más al descubrimiento de abstracciones pues permite representar los objetos en una disposición próxima a la realidad.

Es frecuente empezar por uno de Colaboración y pasar después a Secuencia.

Page 6: Diagramas de Interacción - UML

Diagramas de Secuencia

Page 7: Diagramas de Interacción - UML

Diagramas de Secuencia Muestra la secuencia cronológica de

mensajes entre objetos durante un escenario concreto

Cada objeto viene dado por una barra vertical

El tiempo transcurre de arriba abajo Cuando existe demora entre el envío y

la atención se puede indicar usando una línea oblícua

Page 8: Diagramas de Interacción - UML

… Diagramas de Secuencia

Un ejemplo:

CBA

m1

m2

m3

m4

m5

Page 9: Diagramas de Interacción - UML

… Diagramas de Secuencia

Utilidad del Diagrama de Secuencia:

– Para la documentación de un Caso de Uso: en términos próximos al usuario y sin detallar la sincronización existente

– Para la representación precisa de las interacciones entre objetos

Page 10: Diagramas de Interacción - UML

… Diagramas de Secuencia

Ejemplo Q u ie n ll a m a L ín e a t e le fó n ic a L la m a d o

d e s c u e lg a

t o n o

m a r c ar

in d ic a c ió n d e l la m a d a t im b re

d e s c u e lg a

d ig a ?

Las bandas rectangulares representan los periodos de actividad de los objetos

Linea de Vida

Page 11: Diagramas de Interacción - UML

… Diagramas de Secuencia

Un objeto puede enviarse a sí mismo un mensaje:

a

m e ns a je ref le x iv oPuede representar también la entrada por parte del objeto en cierta actividad de más bajo nivel

Page 12: Diagramas de Interacción - UML

… Diagramas de Secuencia

• Gráficamente también se puede indicar cuándo el mensaje es para crear el objeto (va dirigido al rectángulo del objeto o etiquetado con new) o para destruirlo (va dirigido a la línea del objeto pero el final de la flecha es una cruz)

Page 13: Diagramas de Interacción - UML

… Diagramas de Secuencia

Normalmente no es necesario indicar el retorno del control:

a b

E l re t o rn o s e

c o n s id e ra im p l íc i t o

c u a n d o e l e n vío e s

s ín c ro n o

Page 14: Diagramas de Interacción - UML

… Diagrama de Secuencia

En el caso asíncrono el retorno, si existe, se debe representar:

a : a a b : a a

Page 15: Diagramas de Interacción - UML

Tipos de Control

El Diagrama de Secuencia refleja de manera indirecta las opciones de control

Un control centralizado tiene una forma como esta:

Page 16: Diagramas de Interacción - UML

… Tipos de control

Un control descentralizado tiene una forma como esta:

Page 17: Diagramas de Interacción - UML

… Estructuras de control

Podemos representar iteraciones en el envío de mensajes mientras, p.e., se cumpla una condición:

W h ile X

L o o p

e n d L o o p

Page 18: Diagramas de Interacción - UML

… Estructuras de control

La iteración puede expresarse también como parte del mensaje:

* [ c o n d ic ió n ] M e n s a je

Page 19: Diagramas de Interacción - UML

… Estructuras de control

Las bifurcaciones condicionales pueden representarse de esta forma:

If c o n d ic ió n

e ls e

e n d i f

Page 20: Diagramas de Interacción - UML

ResumenTipos de Línea de mensaje:

Simple representa el envío de un mensaje sencillo de un objeto a otro, dentro de la secuencia

SíncronoEnvio de mensaje de un objeto, pero el objeto que envía el mensaje espera la respuesta para seguir su flujo.

AsíncronoEnvio de mensaje de un objeto, no importando que el objeto emisor tenga que esperar la respuesta para continuar su flujo.

Page 21: Diagramas de Interacción - UML

... Resumen

Es la barra que se inicia sobre la línea de vida de los objetos que interviene en la secuencia, donde representa al foco de control para indicar el desplazamiento en el tiempo.

Foco de control:

Inicio de tiempo

Fin de tiempo

Mensaje recursivo, cuando un mensaje recae sobre el mismo objeto

Fin de Línea de Vida

Page 22: Diagramas de Interacción - UML

Ejemplo

: Administrador : Administrador : InicioSecion : InicioSecion : Acceso : Acceso : Usuario : Usuario

ingresa usuario y clave

envio datos de acceso

permisos de acceso

confirma el acceso

boundary

control entity

Page 23: Diagramas de Interacción - UML

Diagramas de Colaboración

Page 24: Diagramas de Interacción - UML

Son útiles en la fase exploratoria para identificar objetos

La distribución de los objetos en el diagrama permite representar una disposición espacial

La estructura estática viene dada por los enlaces; la dinámica por el envío de mensajes por los enlaces

Diagramas de Colaboración

Page 25: Diagramas de Interacción - UML

… Diagramas de Colaboración

El contexto de una interacción comprende los argumentos, las variables locales creadas en ejecución y los enlaces entre los objetos que participan en la interacción

La colaboración es mediante el intercambio de mensajes

Page 26: Diagramas de Interacción - UML

Un mensaje desencadena una acción en el objeto destinatario.

Un mensaje se envía si han sido enviados los mensajes de una lista (sincronización):

A

B1 : A . 1 , B . 3 / M e n s a je

Mensajes

Page 27: Diagramas de Interacción - UML

Un mensaje se envía iterada y secuencialente a un conjunto de instancias:

A

B

1 : * [i := 1 ..n ] : M e n s a je

… Mensajes

Page 28: Diagramas de Interacción - UML

Un mensaje se envía iterada y concurrentemente a un conjunto de instancias:

A

B

1 : * | | [ i := 1 ..n ] : M e n s a je

… Mensajes

Page 29: Diagramas de Interacción - UML

Un mensaje se envía de manera condicionada:

A

B

1 : [x> y]: M e n s a je

… Mensajes

Page 30: Diagramas de Interacción - UML

Un mensaje que devuelve un resultado:

A

B

1 : p : = c u e s t ió n

… Mensajes

Page 31: Diagramas de Interacción - UML

… Mensajes

Los argumentos de un mensaje pueden ser valores obtenidos como consecuencia de las llamadas anteriores

Los argumentos pueden ser también expresiones de navegación construidas a partir del objeto cliente

Los argumentos pueden omitirse en el diagrama

Page 32: Diagramas de Interacción - UML

Ejemplo

: Administrador : InicioSecion

: Acceso : Usuario

2:

1: ingresa usuario y clave6: datos cliente

3: envio datos de acceso

5: confirma el acceso

4: permisos de acceso

Page 33: Diagramas de Interacción - UML

Ingeniería de Software Diagramas de Interacción - UML

Facultad de IngenieríaEAP. Ingeniería de Sistemas

Ing. CIP. Eddy Iván Quispe Soto