Read this post in: de_DEen_USfr_FRhi_INid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

Todo lo que necesitas saber sobre los diagramas de secuencia: una guía completa

Introducción

UMLLos diagramas de secuencia son diagramas de interacción que detallan cómo se realizan las operaciones. Capturan la interacción entre objetos en el contexto de una colaboración. Los diagramas de secuencia se centran en el tiempo y muestran visualmente el orden de la interacción utilizando el eje vertical del diagrama para representar el tiempo, los mensajes que se envían y cuándo.

¿Qué es un diagrama de secuencia?

Un diagrama de secuencia, también conocido como diagrama secuencial, es un diagrama de interacción de UML. Muestra la colaboración dinámica entre múltiples objetos describiendo el orden temporal en que se envían los mensajes entre ellos.

En UML, un objeto en un diagrama de secuencia se representa como un rectángulo que contiene el nombre del objeto, subrayado. Un objeto puede nombrarse de una de tres formas:

  • El nombre del objeto

  • El nombre del objeto y su clase

  • Solo el nombre de la clase (objeto anónimo)

Editar este diagrama de secuencia

Los objetos del diagrama de secuencia

  1. Mostrar el orden de las interacciones entre objetos: Modelar el comportamiento de interacción como paso de mensajes, y mostrar la interacción entre objetos de forma dinámica describiendo cómo se envían y reciben los mensajes entre ellos.

  2. Énfasis temporal: Comparado con otros diagramas UML, un diagrama de secuencia pone más énfasis en el orden cronológico del comportamiento de interacción.

  3. Visualización de concurrencia: Puede describir visualmente el proceso de concurrencia.

Los elementos del diagrama de secuencia

  1. Actor: Actores del sistema, que pueden ser personas, máquinas, otros sistemas o subsistemas; utilizados para representar en el diagrama de secuencia temporal.

  2. Objeto: Hay tres formas de nombrar objetos:

    • Objeto con nombre y clase: Incluye el nombre del objeto y el nombre de la clase, por ejemplo: objeto: clase

    • Objeto anónimo: Muestra solo el nombre de la clase, por ejemplo: :curso

    • Solo objeto con nombre: Muestra solo el nombre del objeto, pero no el nombre de la clase, por ejemplo: ponente

    Están disponibles los tres métodos de nombrado; elija el que sea más fácil de entender para las personas que leen el diagrama.

  3. Orden de los objetos:

    • El orden izquierdo y derecho de los objetos no es importante

    • Coloque los objetos con interacciones frecuentes lo más cerca posible

    • Coloque el objeto que inicia toda la actividad de interacción en el extremo izquierdo

Línea de vida

Una línea punteada que se extiende hacia abajo desde el icono del objeto en el diagrama de secuencia, indicando cuánto tiempo ha existido el objeto.

Foco de control (activación)

También conocido como período de activación, este es el símbolo para el período de tiempo durante el cual el objeto realizará la operación correspondiente. Puede interpretarse como un par de corchetes { } en la semántica de C; representado por un pequeño rectángulo. Representa el período durante el cual un elemento está realizando una operación. La parte superior y la inferior del rectángulo están alineadas con el momento de inicio y el momento de finalización, respectivamente.

Mensajes

Los mensajes generalmente se clasifican en tres tipos:

  1. Mensaje síncrono: El remitente de un mensaje pasa el control al receptor del mensaje, luego detiene la actividad y espera a que el receptor ceda o devuelva el control, lo cual se utiliza para indicar la sincronización.

  2. Mensaje asíncrono: El remitente de un mensaje transmite la señal al receptor del mensaje a través del mensaje y luego continúa su actividad sin esperar que el receptor devuelva el mensaje o el control. El receptor y el remitente de un mensaje asíncrono trabajan de forma concurrente.

  3. Mensaje de retorno: Indica una devolución desde una llamada a un procedimiento.

Mensajes de creación y destrucción

Los participantes no necesariamente viven durante toda la duración de la interacción en un diagrama de secuencia. Los participantes pueden crearse y destruirse según los mensajes que se están transmitiendo.

  • Mensaje constructor: Crea a su receptor. El remitente que ya existe al inicio de la interacción se coloca en la parte superior del diagrama. Los destinos que se crean durante la interacción mediante una llamada al constructor se colocan automáticamente más abajo en el diagrama.

  • Mensaje destructor: Destruye a su receptor. Hay otras formas de indicar que un destino se destruye durante una interacción. Solo cuando la destrucción de un destino está configurada como ‘después del destructor’ es necesario usar un destructor.

Mensajes no instantáneos

Los mensajes a menudo se consideran instantáneos, por lo tanto, el tiempo que tarda en llegar al receptor es despreciable. Los mensajes se dibujan como una flecha horizontal. Para indicar que transcurre cierto tiempo antes de que el receptor reciba realmente un mensaje, se utiliza un se utiliza una flecha inclinada.

Fragmentos combinados

Un fragmento de secuencia se representa como un cuadro llamado fragmento combinado, que encierra una parte de la interacción en el gráfico de secuencia. El operador de fragmento (en la esquina superior izquierda) indica el tipo de fragmento.

Los fragmentos interactivos te permiten agrupar mensajes relacionados en un diagrama de secuencia. Existen varios tipos de fragmentos predefinidos, lo que te permite especificar resultados alternativos, mensajes paralelos o bucles.

Los fragmentos en el diagrama de secuencia son marcos rectangulares dibujados sobre una parte del diagrama. Representan la estructura condicional que afecta el flujo de mensajes. Estos marcos se denominan fragmentos combinados en la especificación UML, y los contenedores se llaman operandos de interacción. Los marcos están etiquetados en la esquina superior izquierda. Esta etiqueta se conoce como operador de interacción en UML.

Ejemplo – Escenario de colocar un pedido

Un miembro de la nave que desea realizar un pedido en línea. Los artículos pedidos serán enviados al miembro por mensajería urgente o correo ordinario, dependiendo de su estado de membresía (VIP, miembro regular). Si el miembro selecciona la opción de notificación en el pedido, la tienda enviará una notificación de confirmación al miembro.

Editar este diagrama de secuencia

Otro ejemplo: Colocar un pedido

Un diagrama de secuencia es un diagrama bidimensional con el eje horizontal que representa objetos y el eje vertical que representa el tiempo, donde los mensajes se transmiten horizontalmente entre objetos y se organizan verticalmente en orden cronológico. El ejemplo muestra un diagrama de secuencia con tres objetos participantes: Cliente, Pedido y Stock.

  1. Paso 1 y 2: El cliente crea un pedido.

  2. Paso 3: El cliente agrega artículos al pedido.

  3. Paso 4, 5: Cada artículo se verifica para su disponibilidad en el inventario.

  4. Paso 6, 7, 8: Si el producto está disponible, se agrega al pedido.

  5. Paso 9: Devolver

  6. Paso 10, 11: Guardar y destruir el pedido

Editar este diagrama de secuencia

Fragmentos combinados comúnmente utilizados

Los tipos de fragmentos incluyen ref, assert, loop, break, alt, opt y neg, ref, sd.

Operador Significado
alt Fragmentos múltiples alternativos: solo el que tenga la condición verdadera se ejecutará.
opt Opcional: el fragmento se ejecuta solo si la condición proporcionada es verdadera. Equivalente a un alt con solo una traza.
par Paralelo: cada fragmento se ejecuta en paralelo.
loop Bucle: el fragmento puede ejecutarse múltiples veces, y la condición guarda indica la base de la iteración.
crítico Región crítica: el fragmento puede tener solo un hilo ejecutándolo a la vez.
neg Negativo: el fragmento muestra una interacción inválida.
ref Referencia: se refiere a una interacción definida en otro diagrama. El marco se dibuja para cubrir las líneas de vida involucradas en la interacción. Puedes definir parámetros y un valor de retorno.
dd Diagrama de secuencia: se utiliza para rodear todo un diagrama de secuencia.

Notas importantes:

  • Es posible combinar marcos para capturar, por ejemplo, bucles o ramificaciones.

  • Palabras clave de fragmentos combinados: alt, opt, break, par, seq, strict, neg, crítico, ignore, consider, assert y loop.

  • Las restricciones suelen usarse para mostrar restricciones de tiempo en los mensajes. Pueden aplicarse al tiempo de un mensaje o a los intervalos entre mensajes.

Ejemplos de fragmentos combinados

1. Elección (Alt)

Un fragmento alternativo proporciona varios fragmentos alternativos protegidos (separados por operandos de interacción), es decir, se utiliza para especificar elecciones mutuamente excluyentes entre dos o más secuencias de mensajes, equivalente al clásico if..else…

Editar este diagrama de secuencia

2. Opción (Opt)

Contiene una secuencia de ocurrencias posibles o no ocurrencias, lo que significa que un fragmento opcional solo se ejecuta si alguna condición de guarda es verdadera:

Editar este diagrama de secuencia

3. Bucle (Loop)

Un bucle permite que un fragmento se repita hasta que alguna condición de guarda se vuelva falsa:

Editar este diagrama de secuencia

4. Interrupción

Una interrupción permite salir de un bucle envolvente cuando alguna condición de guarda se vuelve verdadera:

Editar este diagrama de secuencia

Las interrupciones se utilizan con mayor frecuencia para modelar el manejo de excepciones. Este ejemplo de diagrama de secuencia utiliza un fragmento combinado de interrupción porque trata la condición balance < amount como una excepción en lugar de como un flujo alternativo. Para leer este ejemplo, comenzamos en la esquina superior izquierda de la secuencia y leemos hacia abajo. Cuando la secuencia llega al valor de retorno «balance», verifica si el saldo es menor que la cantidad. Si el saldo no es menor que la cantidad, el siguiente mensaje enviado es el mensaje addDebitTransaction, y la secuencia continúa normalmente.

5. Paralelo

Un fragmento paralelo permite que múltiples interacciones se ejecuten en paralelo:

Editar este diagrama de secuencia

Marcos

Un marco proporciona una forma de encapsular un diagrama de secuencia.

Editar este diagrama de secuencia

Referencia (Ref)

Un marco puede ser referenciado en otro diagrama de secuencia:

Editar este diagrama de secuencia

Protocolos

Editar este diagrama de secuencia

Colaboraciones

Editar este diagrama de secuencia

Escenarios

Editar este diagrama de secuencia

Señales y recepciones

Un subastador emite un precio propuesto para un artículo a una sala abarrotada de postores ansiosos. Cuando un postor escucha la propuesta, decide aceptar el precio o no.

En una subasta automatizada, ¿cómo emitirá el subastador la propuesta? Un objeto puede tener operaciones designadas que deben llamarse automáticamente si se reciben ciertos tipos de señales de broadcast. Estos métodos se llaman recepciones. Las señales son un tipo especial de clase. El nombre de la recepción suele coincidir con el nombre de la señal. Las recepciones se muestran en un compartimento separado:

Editar este diagrama de secuencia

En un diagrama de secuencia podemos representar una señal como una señal asíncrona, y la recepción como una invocación de recepción:

Editar este diagrama de secuencia

Crítico

Editar este diagrama de secuencia

Otros tipos de fragmentos

  • Estricto

  • Afirmar

  • Considerar

  • Ignorar

  • Región

  • Neg

Resumen de la notación del diagrama de secuencia

Descripción de la notación Representación visual
Actor

  • un tipo de rol desempeñado por una entidad que interactúa con el sujeto (por ejemplo, intercambiando señales y datos)
  • externo al sujeto (es decir, en el sentido de que una instancia de un actor no forma parte de la instancia de su correspondiente sujeto).
  • representan roles desempeñados por usuarios humanos, hardware externo o otros sujetos.

Obsérvese que:

  • Un actor no necesariamente representa una entidad física específica, sino simplemente un rol particular de alguna entidad
  • Una persona puede desempeñar el rol de varios actores diferentes y, por el contrario, un actor dado puede ser interpretado por múltiples personas diferentes.
UML Sequence Diagram: Actor example
Línea de vida

  • Una línea de vida representa un participante individual en la interacción.
UML Sequence Diagram: Lifeline example
Activaciones

  • Un rectángulo delgado en una línea de vida representa el período durante el cual un elemento está realizando una operación.
  • La parte superior y la parte inferior del rectángulo están alineadas con el tiempo de inicio y el tiempo de finalización, respectivamente
UML Sequence Diagram: Activation example
Mensaje de llamada

  • Un mensaje define una comunicación particular entre las líneas de vida de una interacción.
  • Un mensaje de llamada es un tipo de mensaje que representa una invocación de una operación de la línea de vida objetivo.
UML Sequence Diagram: Call message example
Mensaje de retorno

  • Un mensaje define una comunicación particular entre las líneas de vida de una interacción.
  • Un mensaje de retorno es un tipo de mensaje que representa la transmisión de información de vuelta al llamador de un mensaje anterior correspondiente.
UML Sequence Diagram: Return message example
Mensaje auto

  • Un mensaje define una comunicación particular entre las líneas de vida de una interacción.
  • Un mensaje auto es un tipo de mensaje que representa la invocación de un mensaje de la misma línea de vida.
UML Sequence Diagram: Self message example
Mensaje recursivo

  • Un mensaje define una comunicación particular entre las líneas de vida de una interacción.
  • Un mensaje recursivo es un tipo de mensaje que representa la invocación de un mensaje de la misma línea de vida. Su destino apunta a una activación encima de la activación desde la cual se invocó el mensaje.
UML Sequence Diagram: Recursive message example
Mensaje de creación

  • Un mensaje define una comunicación particular entre las líneas de vida de una interacción.
  • Un mensaje de creación es un tipo de mensaje que representa la instanciación de la línea de vida (destino).
UML Sequence Diagram: Create message example
Mensaje de destrucción

  • Un mensaje define una comunicación particular entre las líneas de vida de una interacción.
  • Un mensaje de destrucción es un tipo de mensaje que representa la solicitud de destruir el ciclo de vida de la línea de vida destino.
UML Sequence Diagram: Destroy message example
Mensaje de duración

  • Un mensaje define una comunicación particular entre las líneas de vida de una interacción.
  • Un mensaje de duración muestra la distancia entre dos instantes de tiempo para la invocación de un mensaje.
UML Sequence Diagram: Duration message example
Nota
Una nota (comentario) permite adjuntar diversas observaciones a elementos. Un comentario no tiene fuerza semántica, pero puede contener información útil para un modelador.

Generación de diagramas de secuencia impulsada por IA

Visual Paradigm ofrece un sólido soporte impulsado por IA para diagramas de secuencia UML, centrándose en transformar descripciones en lenguaje natural en modelos de interacción detallados y con una arquitectura sólida. Sus herramientas te permiten omitir el dibujo manual, pasando directamente de un escenario basado en texto a un diagrama profesional en segundos.

Características principales de diagramas de secuencia con IA

  • Generación de lenguaje natural: Puedes escribir un prompt sencillo como «un usuario inicia sesión en un sitio web», y la IA identifica automáticamente a los participantes (líneas de vida), flujos de mensajes y secuencias de activación.

  • Automatización de lógica compleja: La IA maneja inteligentemente notaciones avanzadas de UML como fragmentos alternativos (alt), fragmentos opcionales (opt) y bucles basados en tu descripción textual de lógica condicional.

  • Herramienta de refinamiento con IA: Esta aplicación especializada convierte código de interacción simple o prompts de alto nivel en plantillas detalladas de MVC (Modelo-Vista-Controlador). Descompone automáticamente un escenario en capas arquitectónicas adecuadas como componentes de Vista, Controlador y Modelo.

  • Edición conversacional: A través de la “Chatbot de IA de Visual Paradigm, puedes refinar diagramas de forma iterativa utilizando comandos como «Agregar un estado de reinicio» o «Cambiar Usuario por Cliente».

  • Análisis de diseño inteligente: Puedes pedirle a la IA que critique tu diagrama, por ejemplo, identificando llamadas síncronas que deberían ser asíncronas para mejorar el rendimiento del sistema.

Ecosistema e integración

  • Acceso multiplataforma: Genera diagramas utilizando el Chatbot de IA o Visual Paradigm Online, y luego importarlos en el aplicación Visual Paradigm Desktop para modelado avanzado y ingeniería de código.

  • Documentación automatizada: La IA puede generar resúmenes del proyecto, modelos de comportamiento detallados y documentación de arquitectura MVC directamente a partir de tus diagramas de secuencia.

  • Sinergia entre modelos: La IA de Visual Paradigm puede conectar diferentes tipos de diagramas, por ejemplo, convertir un caso de uso de alto nivel en un diagrama de actividad o de secuencia detallado con descomposición paso a paso guiada.


  1. Referencias
  2. Diagrama de secuencia UML: Una guía definitiva para modelar interacciones con IA: Guía completa sobre el uso de IA para modelar diagramas de secuencia UML e interacciones
  3. Cómo convertir requisitos en diagramas con un chatbot de IA: Aprende a transformar requisitos textuales en diagramas visuales utilizando tecnología de chatbot de IA
  4. Herramienta gratuita para mejorar diagramas de secuencia con IA: Accede a la herramienta impulsada por IA de Visual Paradigm para mejorar y potenciar diagramas de secuencia
  5. Herramienta de mejora de diagramas de secuencia con IA – Visual Paradigm: Funciones profesionales para la creación y mejora de diagramas de secuencia con asistencia de IA
  6. Chatbot de IA de Visual Paradigm: Chatbot de IA interactivo para crear y editar diagramas UML mediante lenguaje natural
  7. Características del chatbot de IA – Visual Paradigm: Visión general de las capacidades del chatbot de IA para la generación y modelado de diagramas
  8. Tutorial de diagramas de secuencia con IA de Visual Paradigm: Tutorial en video que demuestra la creación de diagramas de secuencia con IA
  9. Revisión completa: características de generación de diagramas con IA de Visual Paradigm: Revisión detallada de las capacidades de generación de diagramas con IA de Visual Paradigm
  10. Demostración de las funciones de IA de Visual Paradigm: Video de demostración de las funciones de IA en Visual Paradigm
  11. Tutorial de IA de Visual Paradigm: Tutorial que muestra las capacidades de IA en Visual Paradigm
  12. Cómo el ecosistema impulsado por IA de Visual Paradigm transforma el desarrollo de UML: Análisis de cómo la IA transforma los flujos de trabajo de desarrollo de UML en Visual Paradigm