Tutorial del diagrama de secuencia: Guía completa con ejemplos

Este tutorial te ayudará a entender mejor los diagramas de secuencia; para explicarte todo lo que necesitas saber, desde cómo dibujar un diagrama de secuencia hasta los errores comunes que debes evitar al dibujar uno. Hay tres tipos de diagramas de interacción: diagramas de secuencia, diagramas de comunicación y diagramas de tiempo. Estos diagramas se utilizan para ilustrar las interacciones entre las partes 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ás sobre;

¿Qué es un diagrama de secuencia?

Los diagramas de secuencia, comúnmente utilizados por los desarrolladores, modelan las interacciones entre los objetos en un solo caso de uso. Ilustran la forma en que las diferentes partes de un sistema interactúan entre sí para llevar a cabo una función, y el orden en que se producen las interacciones cuando se ejecuta un caso de uso concreto. En palabras más sencillas, un diagrama de secuencia muestra diferentes partes de un sistema trabajando en una “secuencia” para conseguir 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 rápida visión general de las diversas partes de un diagrama de secuencia

Notación de línea de vida - Línea de vidaUnDiagrama de secuenciadiagrama de secuencia está compuesto por varias de estas notaciones de línea de vida que deberían estar dispuestas horizontalmente en la parte superior del diagrama. Ninguna de las dos anotaciones de la línea de vida debe superponerse. Representan los diferentes objetos o partes que interactúan entre sí en el sistema durante la secuencia.

Una notación de línea de vida con un símbolo de elemento actor se utiliza cuando el diagrama de secuencia particular es propiedad de un caso de uso. con un símbololínea de vidade elemento de entidad 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 gestionaría todos los datos relacionados con un cliente. de vida de la entidadLínea Una línea de vida con un elemento límite indica un límite del sistema/elemento de software en un sistema; por ejemplo, las pantallas de la interfaz de usuario, las puertas de la base de datos o los menús con los que interactúan los usuarios son límites. deLímite la línea de vida Y una línea de vida con un elemento de control indica una entidad controladora o gerente. Organiza y programa las interacciones entre los límites y entidades y sirve de mediador entre ellos.

Barras de Activación

Barras de activación de la línea de vida dealtcontrolalt La barra de activación es la caja que se coloca 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, una interacción entre dos objetos ocurre cuando un objeto envía un mensaje a otro. El uso de la barra de activación en los salvavidas del Llamador de mensajes (el objeto que envía el mensaje) y del Receptor de mensajes (el objeto que recibe el mensaje) indica que ambos están activos/están instanciados durante el intercambio del mensaje. - Barras de ActivaFlechas de Mensajes

Diagrama de Secuencia ción Flechas de Mensajes Una flecha desde el Llamador de Mensajes hasta el Receptor de Mensajes 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 vuelta al propio llamador de mensajes. Mientras que en la flecha se puede describir el mensaje que se está enviando de un objeto a otro, con diferentes puntas de flecha se puede indicar el tipo de mensaje que se está enviando o recibiendo.

La flecha del mensaje viene con una descripción, que se conoce como firma del mensaje, en ella. El formato de la firma de este mensaje es el siguiente. Todas las partes excepto el nombre_de_mensaje son opcionales.

atributo = nombre_de_mensaje (argumentos): tipo_retorno

  • Mensaje sincrónico

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

  • Mensaje asincrónico

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

  • Devolver el mensaje

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 el mensaje. Los mensajes de retorno son piezas de notación opcionales, ya que una barra de activación que se dispara por un mensaje sincrónico siempre implica un mensaje de retorno.

Consejo: Puede evitar que sus diagramas se desordenen minimizando el uso de mensajes de retorno, ya que el valor de retorno puede especificarse en la propia flecha del mensaje inicial. Ejemplo

  • Mensaje de creación del participante

Los objetos no viven necesariamente durante toda la duración de la secuencia de eventos. Los objetos o participantes pueden ser creados de acuerdo con el mensaje que se está enviando. La anotación de la casilla de participante eliminado puede utilizarse cuando se 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 añadir un cuadro de activación justo debajo del cuadro del participante. Ejemplo de creación de

  • Mensaje de destrucción del participante

Del mismo modo, los participantes cuando ya no se necesiten también pueden ser eliminados de un diagrama de secuencia. Esto se hace añadiendo una ‘X’ al final de la línea de vida de dicho participante. Participación Mensaje de destrucción

  • 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 ejemplo a continuación. Mensaje reflexivo Comentario Los diagramas UML generalmente permiten la anotación de comentarios en todos los tipos de diagramas UML. El objeto del 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 de puntos. objeto ejemplo

Comentario Nota:  Vea las Mejores Prácticas de Diagrama de Secuencia para aprender sobre los fragmentos de secuencia.

Diagrama de secuencia Mejores prácticas

  • Manejar interacciones complejas con fragmentos de secuencias

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

Se utiliza para mostrar interacciones complejas como flujos y bucles alternativos de una manera más estructurada. En la esquina superior izquierda del fragmento se encuentra un operador. Esto – el operador de fragmentos – 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 del “si no, entonces”.

El fragmento alternativo está representado por un gran rectángulo o un marco; se especifica mencionando “alt” dentro del recuadro del nombre del marco (también conocido como operador del fragmento).

Para mostrar dos o más alternativas, el rectángulo mayor se divide entonces en lo que se denomina operandos de interacción mediante una línea discontinua, como se muestra en el ejemplo del diagrama de secuencia anterior. Cada operando tiene una guardia para probar y se coloca en la esquina superior izquierda del operando.

Ejemplo de fragmento alternativo - tutorial Opciones

El fragmento de combinación de opciones se utiliza para indicar una secuencia que sólo se producirá bajo una determinada condición, de lo contrario, la secuencia no se producirá. Modela la declaración de “si entonces”.   

Al igual que el fragmento alternativo, el fragmento de la opción también se representa con un marco rectangular donde “opt” se coloca dentro del recuadro del nombre.

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

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

Bucles

El fragmento de bucle se utiliza para representar una secuencia repetitiva. Coloca las palabras “bucle” en el cuadro de nombres y la condición de guardia cerca de la esquina superior izquierda del cuadro.

Además de la prueba booleana, el protector en un fragmento de bucle puede ser sometido a otras dos condiciones especiales. Estas son iteraciones mínimas (escritas como minint = [el número ] y máximas (escritas como maxint = [el número]).

Si se trata de un guarda de iteraciones mínimas, el bucle debe ejecutar no menos del número indicado, y si se trata de un guarda de iteraciones máximas, el bucle no debe ejecutar más del número indicado.

(Encuentre un ejemplo de un fragmento de bucle más abajo en las plantillas de diagramas de secuencia y en la sección de ejemplos)

Fragmento de referencia

Puede utilizar el fragmento de referencia para gestionar el tamaño de grandes diagramas de secuencia. Permite reutilizar parte de un diagrama de secuencia en otro, o en otras palabras, se puede hacer referencia a parte de un diagrama en otro diagrama utilizando el fragmento ref.

Para especificar el fragmento de referencia, hay que mencionar “ref” en el recuadro del nombre del marco y el nombre del diagrama de secuencia al que se hace referencia dentro del marco.

Ejemplo de fragmento de referencia Para más fragmentos de secuencias consulteMás allá de los fundamentos de los diagramas de secuencias: Parte 1, Parte 2 y Parte 3.

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

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

También en lugar de dibujar docenas de diagramas de secuencia, averigua qué es lo común entre los escenarios y concéntrate en eso. Y si el código es expresivo y puede sostenerse 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 narración del caso de uso particular. Luego, antes de empezar a dibujar el diagrama de secuencia o de decidir qué interacciones deben incluirse en él, es necesario dibujar el diagrama de caso de uso y preparar una descripción exhaustiva de lo que hace el caso de uso particular.

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 narración del caso de uso particular. Luego, antes de comenzar a dibujar el diagrama de secuencia o de decidir qué interacciones deben incluirse en él, es necesario preparar una descripción exhaustiva de lo que hace el caso de uso particular.

A partir del ejemplo del diagrama de secuencia anterior de “Crear una nueva cuenta de biblioteca en línea”, nos centraremos en el caso de uso denominado “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 participarían en la creación de una nueva cuenta de usuario. Estos serían;

  • Bibliotecario
  • Sistema de gestión de la biblioteca en línea
  • Base de datos de credenciales de usuario
  • Sistema de correo electrónico

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

Estos son los pasos que se dan en el caso de uso llamado ‘Crear una nueva cuenta de usuario de la biblioteca’.

  • El bibliotecario pide al sistema que cree una nueva cuenta de biblioteca en línea
  • El bibliotecario entonces selecciona el tipo de cuenta de usuario de la biblioteca
  • El bibliotecario introduce los datos del usuario
  • Los datos del usuario se comprueban mediante la base de datos de credenciales de usuario
  • Se crea la nueva cuenta de usuario de la biblioteca
  • Un resumen de los detalles de la nueva cuenta se envía por correo electrónico al usuario

A partir de cada uno de estos pasos, se puede especificar fácilmente qué mensajes deben intercambiarse entre los objetos del diagrama de secuencia. Una vez que esté claro, puedes seguir adelante y empezar a dibujar el diagrama de secuencia.

El diagrama de secuencia que se muestra a continuación muestra cómo los objetos del sistema de gestión de la biblioteca en línea interactúan entre sí para realizar la función “Crear una nueva cuenta de usuario de la biblioteca”.

Cómo dibujar un diagrama de secuencia - tutorial

Diagrama de secuencia Errores comunes

Cuando se dibujan diagramas de secuencia, los diseñadores tienden a cometer estos errores comunes. Evitando estos errores puedes asegurar la calidad de tu diagrama.

  • Añadiendo demasiados detalles. Esto desordena el diagrama y dificulta su lectura.
  • Diagramas de secuencia obsoletos y desfasados que son irrelevantes cuando se comparan con las interfaces, arquitecturas reales, etc. del sistema. No te olvides de reemplazarlos o modificarlos.
  • No se deja ningún espacio en blanco entre el texto del caso de uso y la flecha del mensaje; esto dificulta la lectura del diagrama por parte de cualquiera.
  • Sin considerar cuidadosamente los orígenes de las flechas de los mensajes.

Vea estos errores comunes explicados en detalle en la Guía de Diagrama de Secuencia: Errores comunes a evitar cuando se dibujan diagramas de secuencia.

Ejemplos y plantillas de diagramas de secuencia

A continuación se presentan algunos ejemplos de diagramas de secuencia y plantillas que se dibujan usando Creately. Crear diagramas de secuencia en línea usando la herramienta en línea de Creately. Haz 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

Diagrama de secuencia Ejemplo 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

 Lazos - Ejemplo de diagrama de secuencia

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

Tutorial de diagrama de secuencia – Presentación de diapositivas

Retroalimentación en el Tutorial del Diagrama de Secuencia

Este tutorial de diagramas de secuencia cubre todo lo que necesitas saber sobre los diagramas de secuencia y su dibujo. Si tiene alguna sugerencia o pregunta sobre el tutorial del diagrama de secuencia, no dude en dejar un comentario.

Más tutoriales de diagramas

Join over thousands of organizations that use Creately to brainstorm, plan, analyze, and execute their projects successfully.

Get started here

Leave a comment

*
*

4 × one =

Back to top