Ejemplos de diagramas de casos de uso
Dos diagramas de casos de uso de sistemas que todo el mundo entiende, más uno dibujado mal a propósito, porque el error que arruina la mayoría de estos diagramas se reconoce más fácil de lo que se define.
8 min de lecturaUML 2.5.112 de 35
La respuesta corta
- Dos actores, cinco elipses y una frontera son un diagrama completo. Un sistema de biblioteca cubre a ese tamaño include, extend y los dos tipos de actor.
- Iniciar sesión normalmente no es un caso de uso. Nadie abre una aplicación para iniciar sesión: el objetivo es aquello para lo que inició sesión.
- Una línea simple entre dos elipses es ilegal. Las asociaciones van de actor a caso de uso; entre casos valen include, extend o generalización.
- De tres a una docena de casos de uso. Por encima, las elipses son pasos en vez de objetivos, o la frontera se trazó alrededor de dos sistemas.
01Ejemplo 1: un sistema de biblioteca#
La biblioteca es el primer ejemplo estándar por una razón: todo el mundo conoce ya el dominio, así que lo único que queda por mirar es la notación. Dos actores, cinco casos de uso, y una frontera que dice de cuáles es responsable el software.
Fíjate en qué son las elipses. Tomar prestado un libro es un objetivo - un socio quiere marcharse con un libro - y sigue siendo un objetivo tanto si el mostrador es una persona, un quiosco de autoservicio o una aplicación. Esa independencia del mecanismo es la prueba de un caso de uso: si sustituir la interfaz cambiaría la etiqueta, la etiqueta es un paso.
Dos relaciones hacen trabajo de verdad. Comprobar la membresía está incluida por Tomar prestado un libro, lo que significa que siempre ocurre como parte de él, y la flecha va del préstamo al comportamiento incluido. No tiene actor propio, y eso es correcto: nadie llega a la biblioteca queriendo que le comprueben la membresía. Pagar una multa por retraso extiende Devolver un libro: ocurre solo a veces, y la flecha va al revés, del comportamiento opcional a la base.
02Ejemplo 2: una tienda en línea, con un sistema externo#
El segundo ejemplo añade la pieza que la mayoría de los primeros diagramas deja fuera: un sistema del que dependes y que no controlas.
La Payment gateway es un actor secundario. No inicia nada - en este diagrama todo lo empieza el cliente - pero el sistema la llama, así que va fuera de la frontera con una línea hacia el caso de uso que la necesita. Dibujarla es lo que hace que un diagrama de casos de uso se gane su sitio en una conversación de alcance: la frontera muestra ahora exactamente de qué comportamiento respondes tú y cuál estás comprando.
Aplicar un código de descuento extiende Realizar un pedido porque la mayoría de los pedidos no lo llevan. Si casi todos lo llevaran, sería un include en su lugar. La pregunta no es si el comportamiento es importante, sino si ocurre siempre.
Cuatro elipses es un tamaño razonable. Una tienda real tiene cientos de comportamientos, y el diagrama no crece con ellos: dibujas uno por conversación, acotado a la pregunta que se está haciendo, que es la disciplina de la que va acotar un modelo.
03Ejemplo 3: la misma notación usada mal#
La mayoría de los diagramas de casos de uso malos lo son exactamente de una forma, y vale la pena verla una vez.
Cuatro elipses, un actor, una frontera, ni un solo error de notación, y el diagrama no vale nada. Cada etiqueta es un paso de una interfaz en vez de un objetivo que tiene una persona. Nadie quiere escribir un nombre de usuario; quiere iniciar sesión, y hasta eso suele ser solo al servicio de otra cosa.
El diagrama entero se reduce a un único caso de uso, y los cuatro pasos pertenecen a su descripción textual o, si la ramificación importa de verdad, a un diagrama de actividad. Esa es la reparación estándar: la secuencia se va a actividad, los objetivos se quedan aquí.
04Adaptarlos a tu sistema#
Los dos diagramas buenos de arriba son el mismo diagrama con otros sustantivos, y eso es lo útil de esta notación: en cuanto tienes la forma en la mano, el siguiente lleva diez minutos.
Úsalo cuando
- Objetivos que un usuario nombraría, formulados como verbo más objeto: realizar un pedido, tomar prestado un libro.
- Una frontera dibujada alrededor de exactamente un sistema, con los actores fuera.
- Actores secundarios para cada servicio externo que el sistema llame, para que las dependencias se vean.
- Include para comportamiento que ocurre siempre; extend para el que ocurre a veces.
Usa otra cosa cuando
- Pasos de interfaz: pulsar, escribir, seleccionar, enviar. No son objetivos.
- CRUD esparcido por el diagrama: crear, leer, actualizar y borrar algo es un caso de uso, no cuatro.
- Líneas simples entre dos elipses. Ahí solo son legales include, extend y la generalización.
- Más de una docena de elipses aproximadamente. Divide mejor por actor o por subsistema.
05Qué recordar#
En una línea cada uno
- 01Un caso de uso es un objetivo que sobrevive a un rediseño de la interfaz. Si la etiqueta cambiaría, es un paso.
- 02Include apunta de la base al comportamiento siempre incluido; extend apunta del comportamiento opcional de vuelta a la base.
- 03Los casos de uso incluidos no tienen actor propio, y eso es correcto.
- 04Los actores secundarios son lo que hace útil el diagrama en una conversación de alcance.
- 05De tres a una docena de elipses. Más allá, el diagrama se ha convertido en una lista de pantallas.
06Preguntas frecuentes#
¿Cuál es un buen ejemplo de diagrama de casos de uso?
Un sistema de biblioteca: un Socio busca en el catálogo, presta y devuelve libros; un Bibliotecario atiende el mostrador de esos mismos dos; prestar incluye comprobar la membresía; y pagar una multa extiende devolver. Dos actores, cinco elipses y una frontera bastan.
¿Iniciar sesión es un caso de uso?
Normalmente no por sí solo. Nadie abre una aplicación para iniciar sesión: inicia sesión para hacer otra cosa, y esa otra cosa es el objetivo. Dibújelo como caso de uso incluido cuando varios objetivos lo exijan de verdad; en otro caso, déjelo fuera.
¿Cuántos casos de uso debe tener un diagrama?
Entre tres y una docena. Menos de tres y habría bastado una frase; más de una docena y las elipses son pasos en vez de objetivos, o la frontera del sistema se trazó alrededor de dos sistemas.
¿Pueden dos casos de uso unirse con una asociación simple?
No. Las asociaciones van solo entre un actor y un caso de uso. Entre dos casos de uso lo legal es include, extend y generalización; una línea simple entre dos elipses es la señal de que alguien dibuja una secuencia de pasos en lugar de un conjunto de objetivos.
¿Qué es un actor secundario en un diagrama de casos de uso?
Una parte externa a la que el sistema llama, no una que inicie nada: una pasarela de pago, un proveedor de identidad, un servicio de correo. Se dibuja como actor al otro lado de la frontera y es la parte que muestra de qué depende sin controlarlo.
En esta serie
- 01¿Qué es UML?
- 02Símbolos UML
- 03Elegir un diagrama
- 04Diagramas de clases
- 05Ejemplos de diagramas de clases
- 06Cómo dibujar un diagrama de clases
- 07Símbolos del diagrama de clases
- 08Diagramas de secuencia
- 09Ejemplos de diagramas de secuencia
- 10Cómo dibujar un diagrama de secuencia
- 11Diagramas de casos de uso
- 12Ejemplos de casos de uso
- 13Diagramas de actividad
- 14Ejemplos de actividad
- 15Diagramas de máquina de estados
- 16Ejemplos de máquina de estados
- 17Diagramas de componentes
- 18Ejemplos de componentes
- 19Dibujar un diagrama de componentes
- 20Símbolos de componentes
- 21Diagramas de despliegue
- 22Ejemplos de despliegue
- 23Diagramas de objetos
- 24Diagramas de paquetes
- 25Diagramas de estructura compuesta
- 26Diagramas de comunicación
- 27Secuencia vs comunicación
- 28Diagramas de tiempos
- 29Diagramas de visión general de interacción
- 30Diagramas de perfil
- 31UML con IA
- 32Ejemplo de e-commerce
- 33Ejemplo bancario
- 34Ejemplo de microservicios
- 35Ejemplo de AWS
Lecturas relacionadas
Diagramas de comportamiento
Fundamentos
Diagramas de comportamiento
Práctica del modelado
Diagramas de comportamiento
Diagramas de comportamiento