Diagramas de Estado¶
Conceptos clave¶
Los diagramas de estado (o diagramas de máquinas de estados) son un tipo de diagrama UML que permiten representar los estados por los que pasa un objeto a lo largo de su ciclo de vida y las transiciones entre esos estados como respuesta a eventos.
A diferencia de otros diagramas de comportamiento, los diagramas de estado se centran en cómo cambia el estado interno de un objeto, no en la interacción entre varios objetos. Son especialmente útiles cuando:
- Un objeto tiene múltiples estados claramente diferenciados.
- El comportamiento depende del estado actual.
- Existen eventos que provocan cambios de estado bien definidos.
Elementos de un diagrama de estado¶
Estados¶
Representan una situación concreta en la vida de un objeto.
Se muestran como rectángulos con esquinas redondeadas y un nombre en su interior.
Ejemplos: Nuevo, Procesando, Enviado, Entregado.
Transiciones¶
Son flechas dirigidas que conectan estados.
Indican el paso de un estado a otro como consecuencia de un evento.
Una transición puede incluir:
- Evento
- Condición (guarda)
- Acción
Eventos¶
Son sucesos que provocan un cambio de estado, como:
- Una acción del usuario
- Un mensaje recibido
- El paso del tiempo
Acciones¶
Son operaciones que se ejecutan:
- Al entrar en un estado
- Al salir de un estado
- Durante una transición
Metodología para crear un diagrama de estado¶
- Identificar el objeto que se va a modelar.
- Enumerar todos los estados posibles del objeto.
- Determinar los eventos que provocan cambios de estado.
- Definir las transiciones entre estados.
- Añadir acciones y condiciones si son necesarias.
Ejemplo práctico: Pedido en una tienda online¶
Estados del pedido¶
- Nuevo: el pedido acaba de realizarse.
- Procesando: el pedido se está preparando.
- Enviado: el pedido ha salido del almacén.
- Entregado: el pedido ha sido recibido por el cliente.
Diagrama de estado en Mermaid (MkDocs Material)¶
stateDiagram-v2
[*] --> Nuevo
Nuevo --> Procesando : iniciarProcesamiento
Procesando --> Enviado : enviarPedido
Enviado --> Entregado : confirmarRecepcion
Procesando : entry / notificarCliente
Enviado : entry / actualizarBaseDeDatos
Entregado --> [*]
Este diagrama muestra de forma clara cómo el pedido avanza por distintos estados y qué eventos provocan cada transición.
Actividades¶
-
AC 510. Define un diagrama de estados para un pedido online, desde que se crea hasta que se entrega o cancela.
-
AC 511. Modela los estados de un reproductor multimedia (reproduciendo, pausado, detenido).
-
AC 512. Crea un diagrama de estados para un usuario de una aplicación, teniendo en cuenta estados como registrado, activo y bloqueado.