Está en la página 1de 4

Diagrama de Secuencia

El diagrama de secuencia es un tipo de diagrama del lenguaje unificado de modelado (UML) que, a
su vez, se trata de un lenguaje orientado a objetos y está compuesto por elementos gráficos. UML
modela sistemas y procesos de la programación orientada a objetos, así como procesos de negocio
con el objetivo de presentar asuntos complejos de manera clara. Para ello, UML establece una
notación estandarizada y recurre a formas visuales para representar un componente o
comportamiento específico. El llamado meta modelado define las unidades lingüísticas y su
significado dentro de UML y determina cómo pueden interactuar ciertos elementos entre sí y qué
jerarquías existen entre las respectivas unidades lingüísticas.

El diagrama de secuencia describe básicamente cómo los objetos (e instancias) intercambian


mensajes en un orden determinado. Los objetos son los bloques de construcción básicos de los
diagramas UML y representan ciertas características de un elemento del sistema, que varían
dependiendo del diagrama. En las interacciones, los objetos son las conocidas como líneas de vida.

En un sistema se realizan solicitudes y se envían respuestas constantemente. El destinatario toma las


decisiones en función de la solicitud específica y de sus propias reglas predefinidas. El entramado
de posibles decisiones e interacciones suele estar representado por un diagrama de actividades. Si se
representan todas las decisiones posibles (sí/no) como un diagrama de árbol, probablemente se
obtendrá la imagen de una red fuertemente ramificada. No obstante, el diagrama de secuencia
muestra solo una ruta específica dentro de esta red.

Líneas de vida
Una línea de vida representa el curso del tiempo de un proceso. A la cabeza se sitúa un rectángulo
que contiene normalmente el nombre del objeto y el nombre de la clase. Si falta el nombre del
objeto, la línea de vida representa a una instancia de objeto sin nombre.

Mensajes
El mensaje es un elemento básico del diagrama de secuencia. En la programación orientada a
objetos, un sistema se compone de objetos. UML presenta estos objetos como nodos unidos entre sí
por los elementos de conexión, que en UML pueden realizar varias tareas. Concretamente, en el
diagrama de secuencia UML se encargan de modelar los mensajes de metaclase.
Ejemplos de diagrama de secuencias
Ejemplo del diagrama de secuencia de atención al cliente
Para ejemplificar este diagrama de secuencia, usaremos como referencia el sistema de atención
al cliente en un restaurante, tomado en cuenta cuatro ejecutores en el proceso, el cliente, el
mesero, el chef y el cajero.
Tal como se visualiza en el diagrama, cada barra representa el inicio y el fin en la ejecución de
una actividad realizada por cada actor interviniente.

En este ejemplo, el cliente pide el servicio de comida al mesero quien al finalizar el pedido este lo
entrega al chef para que prepare el servicio.
Mientras que el chef prepara el platillo, de manera simultánea el mesero atiende al cliente
ofreciéndole vino de beber mientras el chef termina de preparar el platillo, cuyo vino es rechazado
por el cliente, al estar el platillo listo el mesero sirve al cliente, quien al finalizar de comer paga la
cuenta en caja.
En este diagrama secuencial podemos resaltar dos actividades distintas que son ejecutadas al
mismo tiempo por dos actores en el proceso, el mesero y el chef, mientas el chef prepara el plato el
mesero ofrece vino.
No obstante, podemos observar que los mensajes siempre tienden en ser en su mayoría
sincrónicos, ya que en la mayoría de procesos sistemáticos la continuidad en la ejecución de un rol
va a depender de la interacción o aprobación de otros.
Diagrama de Colaboración
Un diagrama de colaboración muestra la misma información que un diagrama de secuencia pero de
forma diferente. En los diagramas de colaboración no existe una secuencia temporal en el eje
vertical; es decir, la colocación de los mensajes en el diagrama no indica cuál es el orden en el que
se suceden. Además, la colocación de los objetos es más flexible y permite mostrar de forma más
clara cuáles son las colaboraciones entre ellos. En estos diagramas la comunicación entre objetos se
denomina vínculo o enlace (link) y estará particularizada mediante los mensajes que intercambian.

Notación
Objeto
Un objeto se representa con un rectángulo dentro del que se incluye el nombre del objeto y, si se
desea, el nombre de la clase, separando ambos por dos puntos.

Vínculo
En el diagrama, un vínculo se representa como una línea continua que une ambos objetos y que
puede tener uno o varios mensajes asociados en ambas direcciones. Como un vínculo instancia una
relación de asociación entre clases, también se puede indicar la navegabilidad del mismo mediante
una flecha.

Mensaje
Un mensaje se representa con una pequeña flecha colocada junto a la línea del vínculo al que está
asociado. La dirección de la flecha va del objeto emisor del mensaje al receptor del mismo. Junto a
ella, se coloca el nombre del mensaje y sus argumentos.

A diferencia de los diagramas de secuencia, en los diagramas de colaboración siempre se muestra el


número de secuencia del mensaje delante de su nombre, ya que no hay otra forma de conocer la
secuencia de los mismos.

Además, los mensajes pueden tener asociadas condiciones e iteraciones que se representarán como
en los diagramas de secuencia.

Un uso de un diagrama de colaboración es mostrar la implementación de una operación. La


comunicación muestra los parámetros y las variables locales de la operación, así como asociaciones
más permanentes. Cuando se implementa el comportamiento, la secuencia de los mensajes
corresponde a la estructura de llamadas anidadas y el paso de señales del programa.

Un diagrama de secuencia muestra secuencias en el tiempo como dimensión geométrica, pero las
relaciones son implícitas. Un diagrama de comunicación muestra relaciones entre roles
geométricamente y relaciona los mensajes con las relaciones, pero las secuencias temporales están
menos claras.

Es útil marcar los objetos en cuatro grupos: los que existen con la interacción entera; los creados
durante la interacción (restricción {new}); los destruidos durante la interacción (restricción
{destroyed}); y los que se crean y se destruyen durante la interacción (restricción {transient}).
Ejemplos de diagramas de colaboración
Proceso de compra
En este ejemplo, se ilustra un diagrama de colaboración del proceso de compra de un consumidor
en un sitio web de una tienda virtual. Representa el pedido de compra desde el objeto "Artículo"
hasta el mensaje de "detalles del pedido" que se muestra.

También podría gustarte