Tutorial de Diagrama de Secuencia – Guía Completa con Ejemplos

Publicado: 2017-01-27

Este tutorial de diagrama de secuencia es para ayudarlo a comprender mejor los diagramas de secuencia; para explicar todo lo que necesita saber, desde cómo dibujar un diagrama de secuencia hasta los errores comunes que debe evitar al dibujar uno.

Hay 3 tipos de diagramas de interacción; Diagramas de secuencia, diagramas de comunicación y diagramas de tiempos. Estos diagramas se utilizan para ilustrar las interacciones entre las partes dentro de un sistema. Entre los tres, los diagramas de secuencia son los preferidos tanto por los desarrolladores como por los lectores por su simplicidad.

En este tutorial de diagrama de secuencia, aprenderá sobre;

  • ¿Qué es un diagrama de secuencia?
  • Notaciones del diagrama de secuencia
  • Prácticas recomendadas del diagrama de secuencia
  • Cómo dibujar un diagrama de secuencia
  • Errores comunes del diagrama de secuencia
  • Plantillas y ejemplos de diagramas de secuencia
  • Diagrama de secuencia Presentación de SlideShare
  • Comentarios sobre la guía del diagrama de secuencia

¿Qué es un diagrama de secuencia?

Los diagramas de secuencia, comúnmente utilizados por los desarrolladores, modelan las interacciones entre objetos en un solo caso de uso. Ilustran cómo las diferentes partes de un sistema interactúan entre sí para llevar a cabo una función y el orden en que ocurren las interacciones cuando se ejecuta un caso de uso particular.

En palabras más simples, un diagrama de secuencia muestra diferentes partes de un sistema que funcionan en una 'secuencia' para hacer algo.

muestra diferentes partes del trabajo de un sistema en una 'secuencia' para hacer algo.

Notaciones del diagrama de secuencia

Un diagrama de secuencia está estructurado de tal manera que representa una línea de tiempo que comienza en la parte superior y desciende gradualmente para marcar la secuencia de interacciones. Cada objeto tiene una columna y los mensajes intercambiados entre ellos están representados por flechas.

Una descripción general rápida de las diversas partes de un diagrama de secuencia

Notación de línea de vida

Diagrama de secuencia - Línea de vida

Un diagrama de secuencia se compone de varias de estas anotaciones de línea de vida que deben organizarse horizontalmente en la parte superior del diagrama. No deben superponerse dos anotaciones de línea de vida. Representan los diferentes objetos o partes que interactúan entre sí en el sistema durante la secuencia.

Se usa una notación de línea de vida con un símbolo de elemento de actor cuando el diagrama de secuencia particular es propiedad de un caso de uso.

línea de vida con un símbolo de elemento de actor

Una línea de vida con un elemento de entidad representa los datos del sistema. Por ejemplo, en una aplicación de servicio al cliente, la entidad Cliente administraría todos los datos relacionados con un cliente.

Línea de vida de la entidad

Una línea de vida con un elemento de límite indica un límite de sistema/elemento de software en un sistema; por ejemplo, las pantallas de la interfaz de usuario, las puertas de enlace de la base de datos o los menús con los que interactúan los usuarios son límites.

Límite de línea de vida

Y una línea de vida con un elemento de control indica una entidad o administrador de control. Organiza y programa las interacciones entre los límites y las entidades y sirve como mediador entre ellos.

Línea de vida de control

Barras de activación

La barra de activación es el cuadro colocado en la línea de vida. Se utiliza para indicar que un objeto está activo (o instanciado) durante una interacción entre dos objetos. La longitud del rectángulo indica la duración de los objetos que permanecen activos.

En un diagrama de secuencia, se produce una interacción entre dos objetos cuando un objeto envía un mensaje a otro. El uso de la barra de activación en las líneas de vida de Message Caller (el objeto que envía el mensaje) y Message Receiver (el objeto que recibe el mensaje) indica que ambos están activos/se instancian durante el intercambio del mensaje.

Diagrama de secuencia - Barras de activación

Flechas de mensaje

Una flecha desde el emisor del mensaje hasta el receptor del mensaje especifica un mensaje en un diagrama de secuencia. Un mensaje puede fluir en cualquier dirección; de izquierda a derecha, de derecha a izquierda o de regreso a la persona que llama. Si bien puede describir el mensaje que se envía de un objeto a otro en la flecha, con diferentes puntas de flecha puede indicar el tipo de mensaje que se envía o recibe.

La flecha del mensaje viene con una descripción, que se conoce como firma del mensaje. El formato para la firma de este mensaje se encuentra a continuación. Todas las partes, excepto el nombre del mensaje, son opcionales.

atributo = nombre_mensaje (argumentos): tipo_retorno

  • mensaje síncrono

Como se muestra en el ejemplo de las barras de activación, se utiliza un mensaje síncrono cuando el remitente espera a que el receptor procese el mensaje y regrese antes de continuar con otro mensaje. La punta de flecha utilizada para indicar este tipo de mensaje es sólida, como la siguiente.

Flecha de mensaje síncrono
  • mensaje asíncrono

Un mensaje asíncrono se usa cuando la persona que llama no espera a que el receptor procese el mensaje y regrese antes de enviar otros mensajes a otros objetos dentro del sistema. La punta de flecha utilizada para mostrar este tipo de mensaje es una flecha de línea como la que se muestra en el siguiente ejemplo.

Ejemplo de mensaje asíncrono
  • mensaje de vuelta

Un mensaje de retorno se utiliza para indicar que el receptor del mensaje ha terminado de procesar el mensaje y está devolviendo el control a la persona que llama. Los mensajes de retorno son piezas de notación opcionales, ya que una barra de activación que se desencadena por un mensaje síncrono siempre implica un mensaje de retorno.

Ejemplo de mensaje de retorno

Sugerencia: puede evitar saturar sus diagramas minimizando el uso de mensajes de retorno, ya que el valor de retorno se puede especificar en la flecha del mensaje inicial.

  • Mensaje de creación de participantes

Los objetos no necesariamente viven durante toda la secuencia de eventos. Se pueden crear objetos o participantes según el mensaje que se esté enviando.

La notación de cuadro de participante descartado se puede usar cuando necesita mostrar que el participante en particular no existía hasta que se envió la llamada de creación. Si el participante creado hace algo inmediatamente después de su creación, debe agregar un cuadro de activación justo debajo del cuadro del participante.

Ejemplo de creación de participantes
  • Mensaje de destrucción de participantes
Mensaje de destrucción de participación

Del mismo modo, los participantes cuando ya no se necesitan también se pueden eliminar de un diagrama de secuencia. Esto se hace agregando una 'X' al final de la línea de vida de dicho participante.

  • mensaje reflexivo

Cuando un objeto se envía un mensaje a sí mismo, se llama mensaje reflexivo. Se indica con una flecha de mensaje que comienza y termina en la misma línea de vida, como se muestra en el siguiente ejemplo.

mensaje reflexivo

Comentario

Los diagramas UML generalmente permiten la anotación de comentarios en todos los tipos de diagramas UML. El objeto de comentario es un rectángulo con una esquina doblada como se muestra a continuación. El comentario se puede vincular al objeto relacionado con una línea discontinua.

Ejemplo de objeto de comentario

Nota:   Vea las mejores prácticas del diagrama de secuencia para obtener información sobre los fragmentos de secuencia.

Prácticas recomendadas del diagrama de secuencia

  • Gestione interacciones complejas con fragmentos de secuencia

Un fragmento de secuencia se representa como un cuadro que enmarca una sección de interacciones entre objetos (como se muestra en los ejemplos a continuación) en un diagrama de secuencia.

Se utiliza para mostrar interacciones complejas, como flujos y bucles alternativos, de una forma más estructurada. En la esquina superior izquierda del fragmento se encuentra un operador. Esto, el operador de fragmento, especifica qué tipo de fragmento es.

Alternativas

El fragmento de combinación alternativa se utiliza cuando es necesario elegir entre dos o más secuencias de mensajes. Modela la lógica “si entonces si no”.

El fragmento alternativo está representado por un rectángulo grande o un marco; se especifica mencionando 'alt' dentro del cuadro de nombre del marco (también conocido como operador de fragmento).

Para mostrar dos o más alternativas, el rectángulo más grande se divide en lo que se llama operandos de interacción utilizando una línea discontinua, como se muestra en el ejemplo de diagrama de secuencia anterior. Cada operando tiene una protección contra la cual probar y se coloca en la esquina superior izquierda del operando.

Ejemplo de fragmento alternativo: tutorial de diagrama de secuencia

Opciones

El fragmento de combinación de opciones se usa para indicar una secuencia que solo ocurrirá bajo una determinada condición; de lo contrario, la secuencia no ocurrirá. Modela la declaración "si entonces".  

Similar al fragmento alternativo, el fragmento de opción también se representa con un marco rectangular donde se coloca 'opt' dentro del cuadro de nombre.

A diferencia del fragmento alternativo, un fragmento de opción no se divide en dos o más operandos. El protector de la opción se coloca en la esquina superior izquierda.

(Encuentre un diagrama de secuencia de ejemplo con un fragmento de opción en la sección Plantillas y ejemplos de diagramas de secuencia).

Bucles

El fragmento de bucle se utiliza para representar una secuencia repetitiva. Coloque las palabras 'bucle' en el cuadro de nombre y la condición de protección cerca de la esquina superior izquierda del marco.

Además de la prueba booleana, la protección en un fragmento de bucle puede tener otras dos condiciones especiales contra las que se prueba. Estas son iteraciones mínimas (escritas como minint = [el número] e iteraciones máximas (escritas como maxint = [el número]).

Si es una guardia de iteraciones mínimas, el ciclo debe ejecutar no menos del número mencionado, y si es una guardia de iteraciones máximas, el ciclo no debe ejecutar más del número indicado.

(Encuentre un ejemplo de un fragmento de bucle a continuación en las plantillas de diagrama de secuencia y la sección de ejemplos)

Fragmento de referencia

Puede usar el fragmento ref para administrar el tamaño de diagramas de secuencia grandes. Le permite reutilizar parte de un diagrama de secuencia en otro, o en otras palabras, puede hacer referencia a parte de un diagrama en otro diagrama usando el fragmento ref.

Para especificar el fragmento de referencia, debe mencionar 'ref' en el cuadro de nombre del cuadro y el nombre del diagrama de secuencia al que se hace referencia dentro del cuadro.

Ejemplo de fragmento de referencia

Para obtener más fragmentos de secuencia, consulte Más allá de los conceptos básicos de los diagramas de secuencia: Parte 1 , Parte 2 y Parte 3 .

  • Dibuje diagramas de secuencia más pequeños que capturen la esencia del caso de uso

En lugar de saturar su diagrama de secuencia con varios objetos y grupos de mensajes que confundirán al lector, dibuje algunos diagramas de secuencia más pequeños que expliquen adecuadamente lo que hace su sistema. Asegúrese de que el diagrama quepa en una sola página y también deje espacio para notas explicativas.

Además, en lugar de dibujar docenas de diagramas de secuencia, descubra qué es común entre los escenarios y concéntrese en eso. Y si el código es expresivo y puede valerse por sí mismo, no hay necesidad de dibujar un diagrama de secuencia en primer lugar.

Cómo dibujar un diagrama de secuencia

Un diagrama de secuencia representa el escenario o flujo de eventos en un solo caso de uso. El flujo de mensajes del diagrama de secuencia se basa en la narrativa del caso de uso particular.

Luego, antes de comenzar a dibujar el diagrama de secuencia o decidir qué interacciones deben incluirse en él, debe dibujar el diagrama de casos de uso y preparar una descripción completa de lo que hace el caso de uso particular.

Cómo dibujar un diagrama de secuencia Un diagrama de secuencia representa el escenario o el flujo de eventos en un solo caso de uso. El flujo de mensajes del diagrama de secuencia se basa en la narrativa del caso de uso particular. Luego, antes de comenzar a dibujar el diagrama de secuencia o decidir qué interacciones deben incluirse en él, debe preparar una descripción completa de lo que hace el caso de uso particular.

Del ejemplo de diagrama de caso de uso anterior de 'Crear una nueva cuenta de biblioteca en línea', nos centraremos en el caso de uso llamado 'Crear una nueva cuenta de usuario' para dibujar nuestro ejemplo de diagrama de secuencia.

Antes de dibujar el diagrama de secuencia, es necesario identificar los objetos o actores que estarían involucrados en la creación de una nueva cuenta de usuario. Estos serían;

  • bibliotecario
  • Sistema de gestión de bibliotecas en línea
  • Base de datos de credenciales de usuario
  • Sistema de correo electrónico

Una vez que identifique los objetos, es importante escribir una descripción detallada de lo que hace el caso de uso. A partir de esta descripción, puede averiguar fácilmente las interacciones (que deberían ir en el diagrama de secuencia) que ocurrirían entre los objetos anteriores, una vez que se ejecute el caso de uso.

Estos son los pasos que ocurren en el caso de uso denominado 'Crear nueva cuenta de usuario de biblioteca'.

  • El bibliotecario solicita al sistema que cree una nueva cuenta de biblioteca en línea
  • El bibliotecario luego selecciona el tipo de cuenta de usuario de la biblioteca
  • El bibliotecario ingresa los datos del usuario
  • Los detalles del usuario se verifican utilizando la base de datos de credenciales de usuario
  • Se crea la nueva cuenta de usuario de la biblioteca.
  • Luego se envía por correo electrónico al usuario un resumen de los detalles de la nueva cuenta.

A partir de cada uno de estos pasos, puede especificar fácilmente qué mensajes deben intercambiarse entre los objetos en el diagrama de secuencia. Una vez que esté claro, puede continuar y comenzar a dibujar el diagrama de secuencia.

El siguiente diagrama de secuencia muestra cómo los objetos en el sistema de administración de bibliotecas en línea interactúan entre sí para realizar la función 'Crear nueva cuenta de usuario de biblioteca'.

Cómo dibujar un diagrama de secuencia - tutorial de diagrama de secuencia

Errores comunes del diagrama de secuencia

Al dibujar diagramas de secuencia, los diseñadores tienden a cometer estos errores comunes. Al evitar estos errores, puede garantizar la calidad de su diagrama.

  • Añadir demasiados detalles. Esto desordena el diagrama y lo hace difícil de leer.
  • Diagramas de secuencia obsoletos y desactualizados que son irrelevantes en comparación con las interfaces, arquitecturas reales, etc. del sistema. No olvides reemplazarlos o modificarlos.
  • No dejar espacios en blanco entre el texto del caso de uso y la flecha del mensaje; esto hace que sea difícil para cualquiera leer el diagrama.
  • No considerar cuidadosamente los orígenes de las flechas de mensajes.

Vea estos errores comunes explicados en detalle en la Guía de diagramas de secuencia: Errores comunes que se deben evitar al dibujar diagramas de secuencia.

Ejemplos y plantillas de diagramas de secuencia

Los siguientes son algunos ejemplos de diagramas de secuencia y plantillas que se dibujan con Creately. Cree diagramas de secuencia en línea usando la herramienta en línea de Creately. Haga clic en la plantilla para abrirla en el editor.

Diagrama de secuencia de un sistema de examen en línea

Examen en línea - Plantilla de diagrama de secuencia
Haga clic en la imagen para editarla en línea

Sistema de examen en línea - Diagrama de clase (UML)

Ejemplo de diagrama de secuencia de un sistema de gestión escolar

Sistema de gestión escolar - Plantilla de diagrama de secuencia

Ejemplo de un fragmento de combinación de opciones

Ejemplo de un fragmento de opción

Ejemplo de una secuencia de bucle

Bucles - Ejemplo de diagrama de secuencia

Aquí hay más plantillas y ejemplos de diagramas de secuencia que puede editar de inmediato.

Tutorial de diagrama de secuencia – Presentación de SlideShare

Guía del diagrama de secuencia Power Point (PPT) de Creately

Comentarios sobre el tutorial del diagrama de secuencia

Este tutorial de diagrama de secuencia cubre todo lo que necesita saber sobre diagramas de secuencia y cómo dibujarlos. Si tiene alguna sugerencia o pregunta sobre el tutorial del diagrama de secuencia, no dude en dejar un comentario.

Más tutoriales de diagramas

  • Tutorial de modelado de procesos de negocio (Guía de BPM que explica las funciones)
  • Ultimate Flowchart Guide (Tutorial completo de diagrama de flujo con ejemplos)
  • Tutorial de Diagrama de Casos de Uso (Guía con Ejemplos)