Referencia de símbolos · Español

Diagrama de casos de uso: símbolos, include vs extend y ejemplo

En resumen

Un diagrama de casos de uso muestra qué hace un sistema y para quién. Usa pocos símbolos: actor (figura humana) para cada usuario o sistema externo, caso de uso (óvalo) para cada función que el sistema ofrece, límite del sistema (rectángulo) para el alcance, asociación (línea) entre actor y caso de uso, y tres relaciones entre casos de uso: «include» (siempre ocurre), «extend» (ocurre solo bajo una condición) y generalización (herencia).

Actualizado el · por el equipo de ChartCraft · Use case diagram notation (English)

¿Cuáles son los símbolos del diagrama de casos de uso?

Estos son todos los símbolos del diagrama de casos de uso UML con su significado y su sintaxis en Mermaid (tipo de diagrama usecase-beta, disponible desde Mermaid 12).

Símbolos del diagrama de casos de uso

SímboloNombreSignificadoMermaid
ActorAlguien o algo fuera del sistema que interactúa con él: una persona (Cliente, Administrador) u otro sistema (Banco, pasarela de pago). Se nombra con un rol, no con el nombre de una persona.actor Cliente
Caso de usoUna función que entrega un resultado útil al actor. Se nombra con un verbo en infinitivo: Retirar efectivo, Consultar saldo.Retirar("Retirar efectivo")
Límite del sistemaRectángulo que marca el alcance del sistema. Los casos de uso van dentro; los actores, fuera.systemBoundary Cajero["Cajero automático"] … end
AsociaciónLínea entre un actor y un caso de uso: el actor participa en ese caso de uso.Cliente --> Retirar
Inclusión «include»El caso de uso base siempre ejecuta otro caso de uso. Flecha punteada del caso base hacia el incluido.Retirar ..> : include Autenticar
Extensión «extend»Un caso de uso adicional que solo ocurre bajo cierta condición. Flecha punteada del caso que extiende hacia el caso base.Comprobante ..> : extend Retirar
GeneralizaciónHerencia: un actor o caso de uso específico hereda de uno general. Flecha con punta de triángulo vacío hacia el general.Gerente --|> Empleado

¿Qué es un diagrama de casos de uso?

Es un diagrama UML que muestra las funciones que ofrece un sistema (casos de uso) y quién las utiliza (actores). Responde a «¿para qué sirve el sistema y para quién?», no a «¿cómo funciona por dentro?»: el detalle paso a paso de cada caso de uso se describe con un diagrama de actividades, un diagrama de secuencia o una especificación textual.

¿Qué diferencia hay entre include y extend?

Include es obligatorio: cada vez que se ejecuta el caso de uso base, el caso incluido también se ejecuta. Extend es opcional: el caso que extiende solo ocurre bajo una condición. Además, las flechas apuntan en sentidos opuestos.

Aspecto«include»«extend»
NaturalezaObligatorio, siempre ocurreOpcional, condicionado
Dirección de la flechaDel caso base hacia el caso incluidoDel caso que extiende hacia el caso base
EjemploRetirar efectivo «include» Autenticar clienteImprimir comprobante «extend» Retirar efectivo (solo si el cliente lo pide)
Prueba rápida«¿Ocurre siempre?» — sí«¿Ocurre solo a veces?» — sí

¿Cuándo se usa la generalización en un diagrama de casos de uso?

Cuando varios actores o casos de uso comparten comportamiento. Por ejemplo, si un Gerente puede hacer todo lo que hace un Empleado y algo más, el Gerente hereda del Empleado y no hace falta repetir sus asociaciones; lo mismo vale para casos de uso, como Pagar con tarjeta y Pagar en efectivo, que heredan de Pagar.

¿Cómo se ve un diagrama de casos de uso de un cajero automático?

El Cliente puede retirar efectivo, consultar el saldo y depositar; el Banco es un actor externo que autoriza las operaciones. Retirar efectivo y Consultar saldo siempre incluyen Autenticar cliente («include»), e Imprimir comprobante extiende Retirar efectivo solo si el cliente lo solicita («extend»).

usecase-beta
direction LR
actor Cliente
actor Banco
systemBoundary Cajero["Cajero automático"]
  Retirar("Retirar efectivo")
  Saldo("Consultar saldo")
  Depositar("Depositar")
  Autenticar("Autenticar cliente")
  Comprobante("Imprimir comprobante")
end
Cliente --> Retirar
Cliente --> Saldo
Cliente --> Depositar
Retirar --> Banco
Retirar ..> : include Autenticar
Saldo ..> : include Autenticar
Comprobante ..> : extend Retirar

usecase-beta sigue en fase beta en Mermaid 12; su sintaxis puede cambiar en versiones posteriores.

¿Qué lleva la especificación (descripción) de un caso de uso?

Cada óvalo del diagrama suele acompañarse de una ficha textual con el nombre, el actor principal, las precondiciones, el flujo básico paso a paso, los flujos alternativos y las postcondiciones. El diagrama da la vista general; la ficha documenta el detalle.

CampoEjemplo: Retirar efectivo
Actor principalCliente (actor secundario: Banco)
PrecondiciónEl cajero está en servicio y tiene efectivo.
Flujo básico1. El cliente inserta la tarjeta. 2. Se ejecuta Autenticar cliente. 3. El cliente elige el monto. 4. El Banco autoriza. 5. El cajero entrega el efectivo y devuelve la tarjeta.
Flujos alternativos4a. Saldo insuficiente: se muestra un aviso y se vuelve al paso 3. 5a. El cliente pide comprobante: Imprimir comprobante («extend»).
PostcondiciónEl saldo de la cuenta disminuye en el monto retirado.

¿Cómo se hace un diagrama de casos de uso paso a paso?

Se identifican los actores, se listan los objetivos de cada actor (cada objetivo es un caso de uso), se dibuja el límite del sistema con los casos de uso dentro, se une cada actor con sus casos de uso y, al final, se agregan include, extend y generalización solo donde aportan claridad.

  1. Identificar los actores: quién o qué sistema interactúa con el sistema.
  2. Escribir los objetivos de cada actor: esos son los casos de uso.
  3. Dibujar el límite del sistema y colocar los casos de uso dentro.
  4. Unir cada actor con sus casos de uso mediante asociaciones.
  5. Agregar include, extend y generalización solo cuando sean necesarios.

Después, cada caso de uso se detalla con un diagrama de actividades: su flujo con decisiones y carriles se puede generar con el generador de diagramas de actividad.

¿Cómo se ven estos símbolos en diagramas reales?

Estos son diagramas reales de la galería pública de ChartCraft, generados a partir de una descripción en texto. Cada uno muestra el prompt con el que se creó (la galería está en inglés).

Preguntas frecuentes

¿Cuáles son los símbolos del diagrama de casos de uso?

Actor (figura humana), caso de uso (óvalo), límite del sistema (rectángulo), asociación (línea), include y extend (flechas punteadas con su estereotipo) y generalización (flecha con punta de triángulo vacío).

¿Qué diferencia hay entre include y extend?

Include se ejecuta siempre que se ejecuta el caso base (obligatorio). Extend solo se ejecuta bajo una condición (opcional). La flecha de include apunta al caso incluido; la de extend apunta al caso base.

¿Un sistema puede ser actor en un diagrama de casos de uso?

Sí. Un actor es un rol externo al sistema, y puede ser otro sistema: un banco, una pasarela de pago o un servicio de correo.

¿Qué significa el óvalo en un diagrama de casos de uso?

Es un caso de uso: una función del sistema que entrega un resultado al actor, como Retirar efectivo o Inscribirse a un curso.

¿Qué diferencia hay entre un diagrama de casos de uso y un diagrama de actividades?

El diagrama de casos de uso muestra qué funciones ofrece el sistema y quién las usa. El diagrama de actividades muestra paso a paso cómo se realiza una de esas funciones, con decisiones y flujos paralelos.

Otras referencias de símbolos en español

Todas las guías de símbolos de ChartCraft en español:

¿Sin ganas de dibujar símbolo por símbolo? Basta con describir el diagrama.

Generador de diagramas de actividad →