Saltar a contenido

Diagramas de Secuencia

Fundamentos

Los diagramas de secuencia son diagramas UML que representan cómo interactúan varios objetos a lo largo del tiempo para completar una tarea.
Su gran valor es que muestran el orden temporal de los mensajes (quién llama a quién y en qué momento), lo que ayuda a:

  • Entender el flujo de una funcionalidad antes de programarla.
  • Detectar dependencias innecesarias o acoplamiento excesivo.
  • Identificar posibles cuellos de botella o pasos redundantes.

En desarrollo orientado a objetos se usan mucho en análisis y diseño, sobre todo a partir de casos de uso.

Elementos de un diagrama de secuencia

Objetos (participantes)

Son instancias que intervienen en el escenario. Se colocan arriba del diagrama.

En UML suelen escribirse como objeto:Clase, pero en Mermaid (MkDocs) es más robusto usar nombres simples.

Mensajes

Son las comunicaciones entre participantes, dibujadas como flechas.

Tipos habituales:

  • Síncrono: el emisor espera respuesta.
  • Asíncrono: el emisor no espera.
  • Creación: se crea un objeto.
  • Destrucción: se finaliza un objeto.

Líneas de vida

Líneas verticales que representan el “tiempo” de cada participante.

Activación

Bloques estrechos sobre la línea de vida que indican que un participante está ejecutando una operación.

Pasos para construir un diagrama de secuencia

  1. Identificar los participantes (objetos o sistemas) que intervienen.
  2. Definir el escenario (qué ocurre y en qué orden).
  3. Añadir los mensajes en orden temporal (de arriba a abajo).
  4. Marcar activaciones cuando un objeto está procesando una operación.
  5. Revisar: comprobar que no faltan pasos y que el flujo es coherente.

Ejemplo práctico: Inicio de sesión en una aplicación web

Escenario

  • El usuario introduce credenciales.
  • La interfaz envía las credenciales al servicio de autenticación.
  • El servicio valida y devuelve OK o error.
  • La interfaz muestra el resultado.

Diagrama de secuencia

sequenceDiagram
    actor Usuario
    participant UI as Interfaz
    participant Auth as Autenticacion

    Usuario->>UI: Introduce credenciales
    UI->>Auth: Envia credenciales (sync)
    activate Auth
    Auth-->>UI: Devuelve resultado
    deactivate Auth
    UI-->>Usuario: Muestra exito o error

Actividades

  • AC 504. Elabora un diagrama de secuencia que represente el inicio de sesión de un usuario en una aplicación web.

  • AC 505. Modela mediante un diagrama de secuencia el proceso de realizar un pedido online, desde que el usuario confirma la compra hasta que recibe la confirmación.

  • AC 506. Representa un diagrama de secuencia para el proceso de registro de un nuevo usuario, incluyendo validación de datos y almacenamiento.