Curso UML

¿Qué es un caso de uso?

Un caso de uso es una descripción de cómo un actor (usuario u otro sistema) interactúa con un sistema para lograr un objetivo específico.

¿Para qué sirven?

  • Capturar requerimientos funcionales
  • Comunicar funcionalidades entre usuarios y desarrolladores
  • Servir como base para pruebas y desarrollo ágil

🧩 Módulo 2: Elementos de un Diagrama de Casos de Uso

1. Actor

Representa una entidad externa (persona, sistema, organización) que interactúa con el sistema.

actor
1@startuml
2actor Usuario
3@enduml

2. Caso de Uso

Representa una funcionalidad o comportamiento del sistema.

realizar pedido uc1
1@startuml
2usecase "Realizar pedido" as UC1
3@enduml

3. Relación Actor - Caso de Uso

El actor se conecta con la funcionalidad que ejecuta.

realizar pedido
1@startuml
2actor Cliente
3usecase "Realizar pedido"
4Cliente --> "Realizar pedido"
5@enduml

4. Sistema

Es el contenedor de todos los casos de uso.

iniciar sesion
1@startuml
2rectangle Sistema {
3  usecase "Iniciar sesión"
4}
5actor Usuario
6Usuario --> "Iniciar sesión"
7@enduml

5. Inclusión (<<include>>)

Se usa cuando un caso de uso siempre invoca otro caso de uso.

comprar producto
1@startuml
2actor Cliente
3usecase "Comprar producto"
4usecase "Pagar"
5Cliente --> "Comprar producto"
6"Comprar producto" --> "Pagar" : <<include>>
7@enduml

6. Extensión (<<extend>>)

Se usa cuando un caso de uso opcionalmente invoca otro caso de uso bajo ciertas condiciones.

ver producto
1@startuml
2actor Cliente
3usecase "Ver producto"
4usecase "Ver valoraciones"
5Cliente --> "Ver producto"
6"Ver producto" --> "Ver valoraciones" : <<extend>>
7@enduml

7. Generalización

Un actor puede heredar el comportamiento de otro.

ver perfil
1@startuml
2actor Usuario
3actor Admin
4Admin --|> Usuario
5usecase "Ver perfil"
6Usuario --> "Ver perfil"
7@enduml

🧪 Módulo 3: Ejemplo completo

sistema de pedidos
1@startuml
2left to right direction
3actor Cliente
4actor Repartidor
5actor Administrador
6
7rectangle "Sistema de pedidos" {
8  usecase "Realizar pedido"
9  usecase "Consultar estado"
10  usecase "Cancelar pedido"
11  usecase "Iniciar sesión"
12  usecase "Asignar reparto"
13  usecase "Gestionar usuarios"
14  
15  "Realizar pedido" --> "Iniciar sesión" : <<include>>
16  "Cancelar pedido" --> "Iniciar sesión" : <<include>>
17  "Consultar estado" --> "Iniciar sesión" : <<include>>
18  "Asignar reparto" --> "Iniciar sesión" : <<include>>
19  "Gestionar usuarios" --> "Iniciar sesión" : <<include>>
20}
21
22Cliente --> "Realizar pedido"
23Cliente --> "Consultar estado"
24Cliente --> "Cancelar pedido"
25
26Repartidor --> "Asignar reparto"
27Administrador --> "Gestionar usuarios"
28@enduml

📌 Módulo 4: Buenas prácticas

  • Usa nombres claros y orientados a la acción ("Crear cuenta", "Solicitar informe")
  • Representa sólo lo necesario: evita sobrecargar el diagrama.
  • Utiliza <<include>> y <<extend>> solo cuando realmente ayuden a entender el flujo.
  • Agrupa casos de uso por actor o por subsistema si son muchos.