Está en la página 1de 10

Diagrama de Secuencia

Publicado el 27 agosto, 2012 por Daniel Muestra un diagrama bidimensional. La dimensin vertical es el eje del tiempo, el tiempo avanza hacia debajo de la pgina. La dimensin horizontal muestra los roles que representan cada uno de los objetos en la colaboracin. Cada rol est representado por una columna vertical que contiene una cabeza de smbolo y una lnea vertical que representa la vida del objeto. Durante el tiempo que el objeto existe la lnea punteada se muestra. Durante el tiempo que un procedimiento de un objeto est activo, la lnea de vida es dibujada como una lnea doble [Rumbaugh+2005]. Destaca la ordenacin temporal de los mensajes [Booch+2006]. Los usuarios tienden a entender los diagramas de secuencia mejor que los diagramas de comunicacin ya que son ms sencillos de leer. Los diagramas de comunicacin tienden a saturarse muy rpidamente () Son la forma de interaccin ms flexible [Arlow+2006].

Al igual que ocurre con los diagramas de clases, los desarrolladores suelen pensar que los diagramas de secuencia son exclusivamente para ellos. Sin embargo, el staff de la organizacin puede encontrar los diagramas de secuencia tiles para comunicar la forma en que la organizacin trabaja actualmente mostrando cmo interactan los objetos de negocio () Adems, los diagramas de secuencia se pueden utilizar como un documento para comunicar los requerimientos del futuro sistema [Bell2004-2].

Cuando se modela, normalmente empieza una realizacin de caso de uso, utilizando un diagrama de comunicacin porque es ms sencillo situar lneas de vida en el diagrama y conectarlas. Sin embargo, cuando necesita centrarse en la secuenciacin real de los eventos, siempre es mucho ms sencillo utilizar un diagrama de secuencia [Arlow+2006].

Creacin y destruccin de objetos


Los diagramas de secuencia pueden mostrar cmo los objetos se crean y se destruyen como parte del escenario documentado. Un objeto puede crear otro objeto a travs de un mensaje. El objeto creado es dibujado con su smbolo de objeto colocado donde es creado (sobre el eje de tiempo vertical). El mensaje de creacin es mostrado con lneas punteadas y cabeza de flecha abierta. Cuando el objeto es destruido, es marcado con un smbolo de ALTO; una X grande. La destruccin es indicada con una la lnea de vida de ese objeto slo hasta el punto en el que fue destruido [Eriksson+2004]. Ver Figura 3-35.

Figura 3-35: Creacin y destruccin de objetos [Eriksson+2004]

Elementos
Frame
En UML 2, se adicion un elemento a la notacin, denominado frame, ver Figura 3-36. El frame se utiliza como elemento de base para muchos otros elementos en UML 2, pero se lo encuentra como un elemento estructural que limita al diagrama. El frame es un elemento opcional.

Figura 3-36: Un frame UML 2 vaco [Bell2004-2]

Adems de proporcionar una frontera visual, el frame tiene una funcionalidad importante en los diagramas que representan interacciones, tales como el diagrama de secuencia. Los mensajes entrantes y salientes (alias, interacciones) pueden ser modelados por la conexin de los mensajes con la frontera del frame, ver Figura 3-37.

Figura 3-37: Diagrama de secuencia con mensajes entrantes y salientes [Bell2004-2]

Adicionalmente, la etiqueta del diagrama muestra las letras sd por Diagrama de Secuencia.

La especificacin de UML proporciona valores de texto especficos para tipos de diagramas (por ejemplo, sd=Diagrama de secuencia, activity=Diagrama de actividad, y use case=Diagrama de casos de uso) [Bell20042].

Mensajes
El primer mensaje de un diagrama de secuencia siempre comienza en la parte superior y, por lo general, se encuentra en la parte izquierda del diagrama para facilitar su lectura.

Los mensajes de retorno son opcionales, un mensaje de retorno se dibuja como una lnea de puntos con una punta de flecha de retorno hacia el objeto original, y encima de esta lnea se coloca el valor de retorno de la operacin. En la Tabla 3-5 se describen los mensajes.

Tabla 3-5: Tipo de mensajes [IBM2004]

Guardas
Establecen una condicin que debe cumplirse para que el mensaje sea enviado. Estos ya existan en UML 1.x. La notacin es: [Boolean Test] Por ejemplo: [pastDueBalance=0] [Bell2004-2]

Fragmentos combinados y operadores


Los diagramas de secuencia se pueden dividir en trozos llamados fragmentos combinados. Un fragmento combinado encapsula porciones del diagrama de secuencia. Estos fragmentos se encuentran rodeados por un frame. El especificador en la esquina superior izquierda describe como el fragmento es manejado [Eriksson+2004], ver Figura 3-38. Todo fragmento combinado tiene un operador, uno o ms operandos y cero o ms condiciones de proteccin. El operador determina como se ejecutan sus operandos [Arlow+2006].

Figura 3-38: Sintaxis de fragmento combinado [Arlow+2006]

Las condiciones de proteccin son expresiones booleanas, y el operando se ejecuta si y solo si la expresin se evala en verdadero. Una sola condicin de proteccin se puede aplicar a todos los operandos, o cada operando puede tener su propia condicin de proteccin nica, ver Tabla 3-6.

Tabla 3-6: Lista de operadores [Arlow+2006]

Los operandos ms importantes son: opt, alt, loop, break, ref, par y critical [Arlow+2006].

Alt Alternativas

Las alternativas son usadas para designar una opcin mutuamente excluyente entre dos o ms secuencias de mensaje. Permiten el modelado del clsico "if then else" lgico [Bell2004-2]. Cada operando tiene su propia condicin y se ejecutar si la condicin es verdadera. Un operando opcional con una condicin [else] se ejecuta si ninguna de las otras condiciones son verdaderas, ver Figura 3-39.

Figura 3-39: operadores opt y alt [Arlow+2006]

Opt Opcin
Una opcin se utiliza para modelar un simple " if then " [Bell2004-2]. El operador opt, indica que su nico operando se ejecuta si, y slo si, la condicin de proteccin es verdadera, ver Figura 3-39. De lo contrario, la ejecucin contina despus del fragmento combinado, opt es equivalente al constructor de programacin:

if (condicion1) then accin1

loop Bucle
Sirve para modelar secuencias repetitivas. En UML 2, las secuencias repetitivas han mejorado con la adicin del fragmento loop. El fragmento loop es muy similar al option, se trata de un frame que muestra la palabra loop [Bell2004-2].

Tabla 3-7: Tipos de bucles [Arlow+2006]

break Pausa
Puede utilizar break para indicar bajo qu condiciones el bucle se rompe [Arlow+2006].

par Paralelo
Un fragmento paralelo (par), tiene dos o ms sub-fragmentos. Cuando es el turno del fragmento, todos los subfragmentos son ejecutados simultneamente. La secuencia relativa de los mensajes de los sub-fragmentos es indeterminada y los mensajes pueden ser intercalados en cualquier orden. Cuando todos los sub-fragmentos han finalizado su ejecucin, la ejecucin concurrente se une de nuevo en un solo flujo [Rumbaugh+2005].

Recursividad
Ocurre cuando una funcin se llama a s misma, usada en numerosos algoritmos. El mensaje es siempre sncrono y marcado como tal en el diagrama de secuencia, el valor de respuesta es considerado implcito y puede prescindirse [Eriksson+2004], ver Figura 3-40.

Figura 3-40: la funcin oper() se llama a s misma [Eriksson+2004]

Referenciar a otro diagrama de secuencia


Los diagramas de secuencia pueden referenciar a otras interacciones. Se pueden construir completos y complejos diagramas de secuencia a partir pequeas y simples interacciones. Una interaccin es representada con un frame etiquetado con la etiqueta ref, y el nombre de la interaccin a que se hace referencia se encuentra dentro del marco del rea de contenido, junto con los parmetros y los tipos de retorno [IBM2004]. Por ejemplo, en la Figura 3-41, el diagrama de secuencia hace referencia a los diagramas Balance Lookup y Debit Account. La secuencia se inicia cuando el cliente enva un mensaje al objeto cajero, el cajero enva un mensaje al objeto theirBank, el diagrama de secuencia Balance Lookup es llamado, el cual devuelve la variable balance. A continuacin el fragmento de combinacin option es llamado a verificar que el balance es superior al monto. El diagrama de secuencia Debit Account es llamado, pasa el nmero de cuenta y el monto como parmetros, despus de que se completa la secuencia, el monto de cash es retornado al cliente [Bell2004-2].

Figura 3-41: Un diagrama de secuencia que hace referencia a otros dos [Bell2004-2]

Bibliografa
[Arlow+2006] Arlow, Jim y Neustadt, Ila. 2006. UML2. [ed.] Victor Manuel Ruiz Caldern y Susana Krahe Prez-Rubn. [trad.] Beatriz Parra Fernndez. Madrid : ANAYA MULTIMEDIA, 2006. pg. 609. ISBN: 84-4152033-X. [Bell2004-2] Bell, Donald. 2004. UML's Sequence Diagram. [En lnea] 16 de Febrero de 2004. [Citado el: 18 de Abril de 2008.] http://www.ibm.com/developerworks/rational/library/3101.html. [Booch+2006] Booch, Grady, Rumbaugh, James y Jacobson, Ivar. 2006. El Lenguaje Unificado de Modelado: Gua de usuario. [ed.] Martn-Romo Miguel. [trad.] Jess J. Garcia Molina y Jos Sez Martnez. Segunda Edicin. Rivera del Loira : PEARSON EDUCACIN S.A., 2006. pg. 527. ISBN 10: 84-7829-076-1. [Eriksson+2004] Eriksson, Hans-Erik, y otros. 2004. UML 2 Toolkit. [ed.] Kevin Kent. Indianapolis, Indiana, EE.UU. : Wiley Publishing, Inc., 2004. 0-471-46361-2. [IBM2004] IBM. 2004. Messages in UML diagrams. [En lnea] 2004. [Citado el: 31 de Diciembre de 2008.] http://publib.boulder.ibm.com/infocenter/rsmhelp/v7r0m0/index.jsp?topic=/com.ibm.xtools.sequence.doc/t opics/cmsg_v.html. [Rumbaugh+2005] Rumbaugh, James, Jacobson, Ivar y Booch, Grady. 2005. The Unified Modeling Language: Reference Manual. Second Edition. Boston : Pearson Education, Inc., 2005. pg. 742. ISBN 0-32124562-8.

También podría gustarte