Ingeniería de Software Diagramas de Interacción - UML
Facultad de IngenieríaEAP. Ingeniería de Sistemas
Ing. CIP. Eddy Iván Quispe Soto
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
Diagramas de Interacción
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
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.
Diagramas de Secuencia
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
… Diagramas de Secuencia
Un ejemplo:
CBA
m1
m2
m3
m4
m5
… 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
… 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
… 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
… 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)
… 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
… Diagrama de Secuencia
En el caso asíncrono el retorno, si existe, se debe representar:
a : a a b : a a
Tipos de Control
El Diagrama de Secuencia refleja de manera indirecta las opciones de control
Un control centralizado tiene una forma como esta:
… Tipos de control
Un control descentralizado tiene una forma como esta:
… 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
… 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
… 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
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.
... 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
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
Diagramas de Colaboración
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
… 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
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
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
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
Un mensaje se envía de manera condicionada:
A
B
1 : [x> y]: M e n s a je
… Mensajes
Un mensaje que devuelve un resultado:
A
B
1 : p : = c u e s t ió n
… Mensajes
… 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
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
Ingeniería de Software Diagramas de Interacción - UML
Facultad de IngenieríaEAP. Ingeniería de Sistemas
Ing. CIP. Eddy Iván Quispe Soto
Top Related