DIAGRAMAS DE SECUENCIA
VISTA DE LA INTERACCIN
Describe las secuencias de intercambios de mensajes
entre roles que implementan el comportamiento del
sistema. Muestra el flujo de control a travs de
muchos
objetos.
Un diagrama de secuencia muestra:
Interaccin de un conjunto de objetos en una
aplicacin a travs del tiempo.
Un conjunto de mensajes, dispuestos en una
secuencia temporal.
Cada rol en la secuencia como una lnea de vida,
es decir: una lnea vertical.
Un diagrama de secuencia representa una interaccin como
un grfico bidimensional.
La dimensin vertical: es el eje del tiempo
La dimensin horizontal muestra los roles de clasificador
que representan objetos individuales en la colaboracin
Un rol de clasificador:
Es la descripcin de un objeto que desempea un
determinado papel dentro de una interaccin,
distinto de los otros objetos de la misma clase.
La primera utilizacin de los diagramas
de secuencia corresponde a la documentacin
de los casos de uso, se concentra en la
descripcin de la interaccin,
La segunda utilizacin corresponde a un
uso ms informtico y permite la representacin
precisa de las interacciones entre objetos.
Por lo tanto puede mostrar:
Escenario como la historia individual de la transaccin
que detalla los casos de uso, aclarndolos al nivel de
mensajes de los objetos existentes, como tambin
El uso de los mensajes de las clases diseadas en el
contexto de una operacin.
Cuando est implementado el comportamiento,
cada mensaje en un diagrama de secuencia
corresponde a:
Una operacin en una clase,
A un evento disparador, o
A una transicin en una mquina de estados.
ACTIVACION:
Es la ejecucin de un procedimiento, incluyendo el tiempo
que espera a los procedimientos anidados para
ejecutarse.
Muestra el periodo de tiempo en el cual el objeto se
encuentra desarrollando alguna operacin, bien sea por s
mismo o por medio de delegacin a alguno de sus
atributos.
Se denota como un rectngulo delgado sobre la lnea
de vida del objeto.
El diagrama siguiente muestra el caso de un objeto A que
activa otro objeto B.
Mensaje
El mensaje denota el hecho de aportar
informacin de un objeto (u otra instancia) a
otro.
Puede ser una seal o llamadas a una
operacin.
La notacin para UML del envo de mensajes
entre objetos es con una flecha dirigida, desde
el objeto que emite el mensaje hacia el objeto
que lo ejecuta.
Cuando el diagrama de secuencia corresponde a la
documentacin de los casos de uso se concentra en la
descripcin de la interaccin, a menudo en trminos
prximos al usuario y sin entrar en detalles de
sincronizacin.
La indicacin que acompaa a las flechas corresponde
entonces, a eventos que ocurren en el mbito de la
aplicacin.
En este estadio del modelamiento, las flechas no
corresponden an a envos de mensajes en el sentido de
lenguajes de programacin, y la distincin entre flujos de
control y flujos de datos generalmente no se opera
Cuando el diagrama de secuencia corresponde
a un uso ms informtico, permite la
representacin precisa de las interacciones
entre objetos.
En este caso el concepto de mensaje unifica
todas las formas de comunicacin entre
objetos, en particular la llamada de
procedimiento, el evento discreto, la seal
entre flujos de ejecucin o la interrupcin de
hardware.
Tipos de flujos de control:
Los envos sncronos (flujos de control plano)
Muestran la progresin al prximo paso de la
secuencia.
Son envos secuenciales, en los que el emisor
est bloqueado y espera que el receptor haya
terminado de tratar el mensaje;
Los envos o flujos de control asncronos:
En los que el emisor no est bloqueado y
puede continuar su ejecucin.
Llamada a procedimiento u otro flujo de
control anidado
La secuencia anidada completa debe finalizar
antes de reanudar la secuencia de nivel externo.
Se puede emplear en llamadas normales a
procedimiento.
Tambin se puede usar con objetos activos
concurrentemente cuando uno de ellos enva una
seal y espera a que finalice una secuencia de
comportamiento anidada.
Retorno de una llamada a procedimiento
La flecha de retorno puede suprimirse, por
cuanto queda implcita al final de la activacin
La flecha que simboliza un mensaje puede
representarse oblicua para materializar las
demoras de transmisin respecto a la dinmica
general de la aplicacin.
Un objeto puede enviarse un mensaje a si
mismo, o sea un mensaje reflexivo que se
representa de la siguiente forma:
Ocurre una llamada recursiva cuando el control
vuelve a entrar en una operacin en un objeto,
pero la segunda llamada es una activacin
separada de la primera.
Objeto activo
Es un objeto que contiene la raz de una pila
de activaciones.
Cada objeto activo tiene su propio hilo de
control dirigido por eventos que se ejecuta en
paralelo a otros objetos activos.
Los objetos que son llamados por un objeto activo son
objetos pasivos; reciben el control solamente cuando son
llamados y lo ceden cuando retornan.
Si varios hilos de control concurrentes tienen sus
propios flujos de procedimientos de control usando
llamadas anidadas, los diversos hilos deben distinguirse
usando los nombres de los hilos, colores u otros medios
para evitar confusin.
Lnea de vida de un objeto
La Lnea de vida de un objeto se representa
como una lnea vertical punteada con un
rectngulo de encabezado y con rectngulos a
travs de la lnea principal que denotan la
ejecucin de mtodos (activacin)
Creacin y Destruccin de objetos
La creacin de objetos se representa haciendo apuntar el
mensaje de creacin sobre un rectngulo que simboliza el
objeto creado.
La destruccin se indica por el fin de la lnea de vida y
por una letra x, bien a la altura del mensaje que causa la
destruccin, o bien tras el ltimo mensaje enviado por un
objeto que se suicida.
Creacin y Destruccin de objetos
Estructuras de control
Las formas de diagramas de secuencia reflejan
indirectamente las opciones de estructura.
Los diagramas de secuencia pueden completarse por
indicaciones textuales, expresadas en forma de texto libre
o de pseudocdigo.
El instante de emisin de un mensaje llamado
transicin, puede tener nombre en el diagrama cerca del
punto de partida de la flecha que simboliza el mensaje.
Este nombre sirve entonces, de referencia, por ejemplo,
para construir restricciones temporales.
Cuando la propagacin de un mensaje toma un tiempo
significativo respecto a la dinmica del sistema, los
instantes de emisin y de recepcin de los mensajes se
materializan por un par (nombre, nombre primo).
La adicin de pseudocdigo sobre la parte
izquierda del diagrama permite la representacin de
bucles y bifurcaciones
De modo que los diagramas de secuencia pueden
presentar la forma general de una interaccin, ms
all de la simple consideracin de un escenario
particular.
Bucles o iteraciones:
El objeto A enva sin solucin de continuidad un
mensaje a B mientras la condicin X es verdad.
El bucle while puede representarse tambin por
medio de una condicin de iteracin colocada
directamente sobre el mensaje.
La iteracin se simboliza entonces por el carcter
*,
colocado delante de la condicin entre corchetes.
Las bifurcaciones condicionales
Pueden materializarse por medio de pseudocdigo
colocado a la izquierda del diagrama.
El diagrama siguiente muestra que el objeto A enva
un mensaje al objeto B o al objeto C segn la
condicin X.
Las condiciones colocadas delante de los mensajes
pueden sustituir al pseudocdigo.
Las diferentes ramas se materializan entonces por
varias flechas que tienen su origen en el mismo instante
y se distinguen por las condiciones colocadas delante de
los mensajes.
A cada bifurcacin, las condiciones
deben
ser mutuamente exclusivas, y deben cubrirse todos los
casos.
Las alternativas, en el lado del destinatario del
mensaje, se representan desdoblando la lnea de
vida del objeto destinatario.
La distincin entre las ramas se indica por una
condicin colocada esta vez detrs del mensaje,
cerca del punto de entrada sobre la lnea de vida del
objeto destinatario.
La representacin grfica
condicionales es la siguiente:
de
las
bifurcaciones
Ejemplo: Diagrama de secuencia para un control asncrono
Ejemplo: Diagrama de Secuencia con flujo de control
procedural. Diagrama resumen