Академический Документы
Профессиональный Документы
Культура Документы
FA C U LTA D D E I N G E N I E R I A Y A R Q U I T E C T U R A
ESCUELA DE INGENIERIA DE SISTEMAS
I N F O R M AT I C O S
Gua de Laboratorio #3
Ciclo
II
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
Contenido
1.
Objetivos ................................................................................................................................. 3
2.
Introduccin ............................................................................................................................ 3
3.
Diagramas de Secuencia.......................................................................................................... 4
4.
5.
6.
Mensaje ................................................................................................................................. 14
6.1.
6.1.1.
Llamada sncrona....................................................................................................... 16
6.1.2.
Llamada asncrona..................................................................................................... 16
6.1.3.
6.1.4.
6.1.5.
6.1.6.
6.2.
7.
6.2.1.
6.2.2.
Fragmento Combinado.......................................................................................................... 19
7.1.
7.2.
Operadores de interaccin............................................................................................ 20
7.2.1.
Alternativas ............................................................................................................... 20
7.2.2.
Opcin ....................................................................................................................... 21
7.2.3.
Loop ........................................................................................................................... 21
7.2.4.
Break.......................................................................................................................... 23
7.2.5.
Paralelo...................................................................................................................... 24
7.2.6.
7.2.7.
7.2.8.
7.2.9.
Ignore ........................................................................................................................ 28
7.2.10.
Consider..................................................................................................................... 28
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
7.2.11.
Confirmacin ............................................................................................................. 29
7.2.12.
Negacin.................................................................................................................... 29
8.
8.2.
8.3.
________________________________________________________________________________
1. Objetivos
Que el estudiante sea capaz de:
2. Introduccin
En UML 2.5 los diagramas de secuencia se encuentran clasificados como diagramas de
interaccin; al mismo nivel de los diagramas de comunicacin, de sincronizacin y los
diagramas generales de interaccin. Ubicados todos en la rama de los diagramas de
comportamiento, que modelan el comportamiento de los objetos de un sistema a travs de
los cambios ocurridos durante el tiempo. Permite normalmente el modelo de una vista de
negocios de algn escenario, contiene detalle de implementacin del mismo tales como
objetos y clases que se usan para el intercambio de mensajes. Es importante entender que
su orden de lectura, y por tanto de escritura, es desde la parte superior del diagrama hacia
abajo.
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
3. Diagramas de Secuencia
El diagrama de secuencia es el tipo de diagrama de interaccin ms comn, que se enfoca
en el intercambio de mensajes entre un nmero de lneas de vida (lifelines).
El diagrama de secuencia describe una interaccin enfocndose en la secuencia de
mensajes que son intercambiados, junto a sus correspondientes especificaciones de
ocurrencia en las lneas de vida.
Los siguientes nodos y ejes son tpicamente dibujados en un diagrama de secuencia de UML:
lnea de vida, especificacin de ejecucin, mensaje, fragmento combinado, uso de
interaccin, estado invariante, continuacin y destruccin de la ocurrencia.
Los elementos principales del diagrama de secuencia se muestran en la siguiente imagen.
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
Compuerta (Gate)
Fragmento de interaccin
ocurrencia,
ejecucin,
estado invariante,
fragmento combinado y
uso de interaccin.
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
Ocurrencia
Ocurrencia de mensaje y
Ocurrencia de ejecucin.
1. Ocurrencia de mensaje
Es una ocurrencia que representa los eventos tales como envo y recepcin de seales o
invocacin o recepcin de llamadas de operacin. El nombre completo UML es
especificacin ocurrencia de mensaje.
1.1. Ocurrencia de destruccin
Es un mensaje de ocurrencia que representa la destruccin de la instancia descrita por la
lnea de vida. Puede resultar en la subsecuente destruccin de otros objetos que este
objeto posee por composicin. Ninguna otra ocurrencia debe aparecer debajo del evento
de destruccin de una lnea de vida dada. El nombre completo UML para la ocurrencia es
especificacin de ocurrencia de destruccin. Hasta UML 2.4 era llamado evento de
destruccin, y antes alto. La destruccin de una instancia es representada por una cruz en
forma de X al final de una lnea de vida.
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
2. Ocurrencia de ejecucin
Es una ocurrencia que representa momentos en el tiempo en que acciones o
comportamientos comienzan o finalizan. Una ocurrencia de ejecucin referencia
exactamente a una especificacin de ejecucin que describe la ejecucin que es iniciada o
finalizada en esa ocurrencia de ejecucin. El nombre completo UML es especificacin de
ocurrencia de ejecucin.
Ejecucin.
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
Para las especificaciones de ejecucin que se refieren a acciones atmicas, tales como leer
atributos de una seal (llevada por el mensaje), el smbolo de accin puede ser asociado
con la especificacin de ocurrencia de recepcin de una lnea a fin de enfatizar que la accin
completa est asociada con solo una especificacin de ocurrencia (una asociacin de inicio
y fin se refieren a la misma especificacin de ocurrencia).
El solapamiento de las especificaciones de ejecucin en la misma lnea de vida se
representa por rectngulos solapados.
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
Estado invariante
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
El estado invariante puede ser presentado opcionalmente como una nota asociada a la
especificacin de ocurrencia.
Uso de Interaccin
Copia los contenidos de la interaccin referida hacia donde esta interaccin necesita
ser usada,
Substituye los parmetros formales con argumentos,
Conecta las compuertas formales con las reales.
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
Una restriccin impuesta por la especificacin UML que es en ocasiones difcil de seguir es
que la interaccin debe cubrir todas las lneas de vida involucradas representadas en la
interaccin englobante. Esto significa que todas las lneas de vida deberan de alguna forma
ser ubicadas cerca una de otra. Si tenemos otro uso de interaccin en el mismo diagrama
podra ser muy complicado reordenar todas las lneas de vida involucradas segn requiere
UML.
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
5. Interaccin UML
Una interaccin es una especializacin de tanto el comportamiento como del fragmento
de interaccin que representa una unidad de comportamiento enfocada en el intercambio
de informacin observable entre elementos conectables (connectable elements).
Una interaccin es un comportamiento emergente. Las interacciones se enfocan en pasar
informacin con mensajes entre elementos conectables del clasificador.
La semntica de una interaccin se define en UML como un par de conjuntos de rastros sean rastros vlidos o invlidos. Los rastros que no son incluidos en estos dos conjuntos no
son descritos por la interaccin, y es incierto si son vlidos o invlidos. Un rastro es una
secuencia de ocurrencia de eventos denotada por <e1, e2, , en>, cada uno de los que es
descrito en por una especificacin de ocurrencia.
Cada ocurrencia en las interacciones es normalmente interpretada por poseer duracin
cero. La duracin se asume que es medida en medio de las ocurrencias.
Tal como un comportamiento, una interaccin es especializable y redefinible. Especializar
una interaccin permite agregar ms rastros a aquellos de la original. Los rastros definidos
por la especializacin son combinados con aquellos de la interaccin heredad con la unin.
El clasificador que posee una interaccin puede ser especializado, y en la especializacin la
interaccin puede ser redefinida. Redefinir una interaccin significa intercambiar la
interaccin redefinida por la redefinida.
La notacin para una interaccin es un marco rectangular de lnea gruesa. El pentgono en
la esquina superior izquierda del rectngulo contiene la palabra clave sd seguido del
nombre de la interaccin y los parmetros. Usa la notacin general para el nombre del
comportamiento. La notacin dentro del marco rectangular es una de la forma de:
diagrama de secuencia, diagrama de comunicacin, diagrama de sincronizacin, o
diagrama de interaccin general (interaction overview diagram).
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
El diagrama de interaccin general puede incluir una lista de las lneas de vida de una
clusula de lnea de vida. La lista de lneas de vida es una lista de las lneas de vida
involucradas en la interaccin. Un diagrama general de interaccin no presenta por si
mismo las lneas de vida involucradas aun cuando las lneas de vida puedan ocurrir
explcitamente dentro de las interacciones en lnea en los nodos grficos.
Un diagrama de interaccin podra tambin incluir atributos locales con la misma sintaxis
de los atributos mostrados en los compartimentos de las clases. Estass definiciones de
atributos pueden aparecer cerca de la parte superior del marco del diagrama o dentro de
smbolos de nota en otros lugares del diagrama.
6. Mensaje
Es un elemento nombrado que define un tipo especfico de comunicacin entre lneas de
vida de una interaccin. El mensaje especifica no solo el tipo de comunicacin sino
tambin el emisor y el receptor, quienes normalmente son dos especificaciones de
ocurrencia (puntos al final de los mensajes).
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
Un mensaje es representado como una lnea desde el final del emisor del mensaje hacia el
final del receptor del mensaje. La lnea debe ser tal que cada fragmento de lnea sea
horizontal o hacia abajo cuando se trace del evento emisor al evento receptor. Ambos
mensajes de emisin y recepcin deberan estar en la misma lnea de vida. La forma de la
lnea o cabeza de flecha refleja propiedades del mensaje.
6.1. Mensajes por tipo de accin
Un mensaje puede reflejar tanto la operacin de llamada e inicio de ejecucin, o el envo y
recepcin de una seal.
Cuando un mensaje representa una operacin de llamada, los argumentos del mensaje
son argumentos de la operacin. Cuando un mensaje representa una seal, los
argumentos del mensaje son atributos de la seal.
Dependiendo del tipo de accin que fue usada para generar el mensaje, el mensaje puede
ser uno de:
Llamada sncrona
Llamada asncrona
Seal asncrona
Creado
Borrado
Respuesta
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
Tome en cuenta que est convencin rara de enviar un mensaje a un objeto inexistente
para que se cree a s mismo es usado en UML 1.x y 2.x. En la prctica OOAD (Anlisis y
Diseo Orientado a Objetos) el mensaje de crear debera ser enviado probablemente a la
clase.
6.1.5. Mensaje de Borrado
El mensaje de borrado (llamado parada (stop) en versiones previas de UML) es enviado a
terminar otra lnea de vida. La lnea de vida usualmente termina con una cruz en la forma
de una X en la parte baja, denotando una ocurrencia de destruccin.
La especificacin UML 2.4 no provee ni notacin especfica ni estereotipo para un mensaje
de borrado. Hasta que no provean alguna notacin, podemos usar el estereotipo
destroy.
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
Mensaje completo
Mensaje perdido
Mensaje encontrado
Mensaje desconocido (por defecto)
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
7. Fragmento Combinado
Es un fragmento de interaccin que define una combinacin (expresin) de fragmentos
de interaccin. Un fragmento combinado se define por un operador de interaccin y sus
correspondientes operadores de interaccin. A travs del uso de fragmentos combinados
el usuario ser capaz de describir un gran nmero de rastros de una manera concisa y
compacta.
Los fragmentos combinados pueden tener restricciones de interaccin tambin llamados
guardias (guards) en UML 2.4.
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
alt alternativas
opt opcin
loop iteracin
break descanso
par paralelo
strict secuenciacin estricta
seq secuenciacin dbil
critical regin crtica
ignore ignorar
consider considerar
assert afirmacin
neg negativa
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
7.2.2. Opcin
El operador de interaccin opt significa que el fragmento combinado representa una
opcin de un comportamiento donde u ocurre la operacin o no ocurre nada. Una opcin
es semnticamente equivalente a un fragmento combinado de alternativa donde hay una
operando con contenido y el siguiente operando est vaco.
7.2.3. Loop
El operador de interaccin loop significa que el fragmento combinado representa un ciclo
(loop). El operando loop ser repetido numerosas veces. La construccin del loop
representa una aplicacin recursiva del operador seq donde el operando loop es
secuenciado despus del resultado de iteraciones previas.
El loop puede ser controlado tanto por una como por ambas fronteras de iteracin y un
guard. El operador loop puede tener fronteras de iteracin que pueden incluir un nmero
menor y uno mayor para la cantidad de iteraciones del ciclo. La sintaxis textual del
operador loop es:
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
SINTAXIS:
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
7.2.4. Break
El operador de interaccin break representa una ruptura o escenario excepcional que es
llevado a cabo en lugar del remanente del fragmento de interaccin correspondiente.
Un operador break con un guard es escogido cuando el guard es verdadero (true). En este
caso el resto del fragmento directo de interaccin que encierra es ignorado. Cuando el
guard del operador break es falso, el operador break es ignorado y el resto del fragmento
de interaccin que encierra procede.
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
Un fragmento combinado con el operador break debera cubrir todas las lneas de vida del
fragmento de interaccin que encierra.
Tome en cuenta que, UML permite solamente abandonar un nivel del fragmento directo
de interaccin que encierra. Esto puede volverse realmente molesto si un doble loop o un
nico loop con otros fragmentos combinados, debe ser roto.
UML 2.3 dicta que cuando un operando break no tiene guard, la eleccin entre el
operador break y el resto del fragmento de interaccin que encierra se hace de manera
no determinstica, lo que al final significa de manera impredecible. Por tanto, no use
un break sin guard.
7.2.5. Paralelo
El operador de interaccin par define potenciales ejecuciones en paralelo o
comportamientos de los operando de un determinado fragmento combinado. Diferentes
operando pueden ser intercalados de cualquier manera siempre y cuando el orden
impuesto por cada operando sea respetado.
Un conjunto de rastros del operador paralelo describe todas las maneras o combinaciones
posibles en que especificaciones de ocurrencia de los operando pueden ser intercaladas
sin cambiar el orden dentro de cada operando.
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
El fragmento combinado paralelo tiene aplicacin notable para las situaciones comunes
donde el orden de los eventos de una lnea de vida es insignificante. En una regin comn
(coregion) de una lnea de vida acotada por corchetes horizontales todos los fragmentos
directamente contenidos son considerados como operadores separados de un fragmento
combinado paralelo.
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
Una secuenciacin dbil se reduce a una unin paralela cuando los operando estn en un
conjunto diferente de participantes. Una secuenciacin dbil se reduce a una
secuenciacin estricta cuando los operando trabajan en el mismo participante.
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
7.2.9. Ignore
La semntica y el propsito del operador de interaccin ignore son obscuras. UML 2.3
define su significado como hay algunos tipos de mensaje que no se muestran en el
fragmento combinado. Estos tipos de mensajes pueden ser considerados insignificantes y
son implcitamente ignorados si aparecen en la correspondiente ejecucin. De manera
alternativa, uno puede entender que ignore significa que los tipos de mensajes que son
ignorados pueden aparecer en cualquier parte dentro de los rastros.
Por otro lado, otras explicaciones son que este tipo de interaccin puede ser usado para
especificar un test de un sistema existente. En tiempo de ejecucin, los mensajes
ignorados en los test sern, por supuesto, manejados de alguna manera por el sistema
que ejecuta.
La lista de los mensajes ignorados sigue al operando encerrado entre llaves. La operacin
de ignorar se combina tpicamente con otras operaciones, tales como assert ignore {m,
s}.
7.2.10. Consider
El operador de interaccin consider define cuales mensajes deberan ser considerados
dentro de este fragmento combinado, significando que cualquier otro mensaje debera ser
ignorado.
La lista de mensajes considerados sigue al operando encerrado por llaves. La operacin
considerar se combina tpicamente con otras operaciones, tales como assert consider {m,
s}.
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
7.2.11. Confirmacin
El operador de interaccin assert significa que el fragmento combinado representa la
confirmacin que las secuencias de operadores assert son la nica continuacin vlida
(debe ser satisfecha por el correcto diseo del sistema). Todas las otras continuaciones
resultan en un rastro invlido.
7.2.12. Negacin
El operador de interaccin neg describe un fragmento combinado de rastros que se
definen como negativos (invlidos). Los rastros negativos son rastros que ocurren cuando
el sistema ha fallado. Todos los fragmentos de interaccin que son diferentes del negativo
son considerados positivos, significando que describen rastros que son vlidos y que
deberan de ser posibles.
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3
Si la aplicacin web obtiene el token de acceso para el usuario de Facebook, puede realizar
solicitudes de autorizacin en nombre de ese usuario de Facebook al incluir ese token en
las solicitudes de la API Facebook Graph. Si el usuario no autoriz a la aplicacin web,
Facebook emite un re direccionamiento de la solicitud a la URI especificada con
anterioridad, y agrega el parmetro error_reason para notificar a la aplicacin web que la
solicitud de autorizacin fue negada.
9. Resumen
Al final de esta prctica de laboratorio el estudiante deber de ser capaz de:
Universidad de El Salvador
TOO-115
Gua de Laboratorio #3