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¶
- Identificar los participantes (objetos o sistemas) que intervienen.
- Definir el escenario (qué ocurre y en qué orden).
- Añadir los mensajes en orden temporal (de arriba a abajo).
- Marcar activaciones cuando un objeto está procesando una operación.
- 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.