View
88
Download
2
Category
Preview:
Citation preview
Facultad de IngenieríaFacultad de IngenieríaEAP. Ingeniería de SistemasEAP. Ingeniería de Sistemas
Ing. CIP. Eddy Iván Quispe SotoIng. CIP. Eddy Iván Quispe Soto
Enfoques de UML 2.0 - 2.1 Enfoques de UML 2.0 - 2.1
ESTRUCTURAESTRUCTURA
COMPORTAMIENTOCOMPORTAMIENTO
INTERACCIONINTERACCION
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ónDiagramas de Interacción
InteracciónInteracció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ónDiagramas 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 SecuenciaDiagramas de Secuencia
Diagramas de SecuenciaDiagramas 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 SecuenciaDiagramas de Secuencia
Un ejemplo:
CBA
m1
m2
m3
m4
m5
… … Diagramas de SecuenciaDiagramas 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 SecuenciaDiagramas 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 ?
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 SecuenciaDiagramas de Secuencia
Un objeto puede enviarse a sí mismo un mensaje:
a
m e ns a je ref le x iv o
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 SecuenciaDiagramas 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 SecuenciaDiagramas 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
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 SecuenciaDiagrama de Secuencia
En el caso asíncrono el retorno, si existe, se debe representar:
a : a a b : a aa : a a b : a a
Tipos de ControlTipos de Control
El Diagrama de Secuencia refleja de manera indirecta las opciones de control
Un control centralizado tiene una forma como esta:
… … Tipos de controlTipos de control
Un control descentralizado tiene una forma como esta:
… … Estructuras de controlEstructuras 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
W h i le X
L o o p
e n d L o o p
… … Estructuras de controlEstructuras 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* [ c o n d ic ió n ] M e n s a je
… … Estructuras de controlEstructuras 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
If c o n d ic ió n
e ls e
e n d i f
ResumenResumenTipos 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... 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
EjemploEjemplo
: Administrador : Administrador : InicioSecion : InicioSecion : Acceso : Acceso : Usuario : Usuario
ingresa usuario y clave
envio datos de acceso
permisos de acceso
confirma el acceso
: 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ónDiagramas 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ónDiagramas de Colaboración
… … Diagramas de ColaboraciónDiagramas 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
A
B1 : A . 1 , B . 3 / M e n s a je
MensajesMensajes
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
A
B
1 : * [i := 1 ..n ] : M e n s a je
… … MensajesMensajes
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
A
B
1 : * | | [ i := 1 ..n ] : M e n s a je
… … MensajesMensajes
Un mensaje se envía de manera condicionada:
A
B
1 : [x> y]: M e n s a je
… … MensajesMensajes
Un mensaje que devuelve un resultado:
A
B
1 : p : = c u e s t ió n
A
B
1 : p : = c u e s t ió n
… … MensajesMensajes
… … MensajesMensajes
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
EjemploEjemplo
: 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
: 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
Facultad de IngenieríaFacultad de IngenieríaEAP. Ingeniería de SistemasEAP. Ingeniería de Sistemas
Ing. CIP. Eddy Iván Quispe SotoIng. CIP. Eddy Iván Quispe Soto
Recommended