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.
1@startuml 2actor Usuario 3@enduml
2. Caso de Uso
Representa una funcionalidad o comportamiento del sistema.
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.
1@startuml 2actor Cliente 3usecase "Realizar pedido" 4Cliente --> "Realizar pedido" 5@enduml
4. Sistema
Es el contenedor de todos los casos de uso.
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.
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.
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.
1@startuml 2actor Usuario 3actor Admin 4Admin --|> Usuario 5usecase "Ver perfil" 6Usuario --> "Ver perfil" 7@enduml
🧪 Módulo 3: Ejemplo completo
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.