diagramas de interacción - uml
TRANSCRIPT
![Page 1: Diagramas de Interacción - UML](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/3.jpg)
Diagramas de Interacción
![Page 4: Diagramas de Interacción - UML](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/6.jpg)
Diagramas de Secuencia
![Page 7: Diagramas de Interacción - UML](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/8.jpg)
… Diagramas de Secuencia
Un ejemplo:
CBA
m1
m2
m3
m4
m5
![Page 9: Diagramas de Interacción - UML](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/9.jpg)
… 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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/10.jpg)
… 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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/11.jpg)
… 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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/12.jpg)
… 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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/13.jpg)
… 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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/14.jpg)
… 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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/16.jpg)
… Tipos de control
Un control descentralizado tiene una forma como esta:
![Page 17: Diagramas de Interacción - UML](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/17.jpg)
… 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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/18.jpg)
… 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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/19.jpg)
… 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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/21.jpg)
... 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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/23.jpg)
Diagramas de Colaboración
![Page 24: Diagramas de Interacción - UML](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/25.jpg)
… 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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/31.jpg)
… 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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081718/5571fb84497959916995156d/html5/thumbnails/33.jpg)
Ingeniería de Software Diagramas de Interacción - UML
Facultad de IngenieríaEAP. Ingeniería de Sistemas
Ing. CIP. Eddy Iván Quispe Soto