Casos de Uso
Semana 02 ; Lectura 01
1 Casos de Uso
- Sirve para capturar los requerimientos funcionales de un sistema.
- Se componen de: escenarios y actores
- Los escenarios y actores se visualizan mediante diagramas de casos de uso
1.1 Actores
- Pueden ser personas, sistemas o dispositivos
1.2 Tipos de Escenarios
- Escenario Principal
- Escenario Alternativo
1.3 Otros elementos
Además de los escenarios, un caso de uso puede incluir otros elementos:
- Precondición: lo que el sistema debe asegurarse que sea verdadero antes de que comience el caso de uso.
- Garantía: Describe lo que el sistema garantizará al final del caso de uso.
- Desencadenante: Especifica el evento que inicia el caso de uso.
2 UML
- Unified Modeling Language
- Lenguaje de Modelado Unificado
- Visualiza, especifica, contruye y documenta sistemas de software
- No aborda el contenido esécífico de un caso de uso, sino que proporciona un formato de diagrama para su representación.
3 Notaciones de los casos de Uso
Actor: los roles de que los usuarios juegan con respecto al sistema. Pueden ser: personas, sistemas o dispositivos externos.
Caso de Uso: describen las interacciones entre los actores y el sistema. Cada caso de uso describe una tarea o función específica que el sistema puede realizar.
Límite del sistema: frontera entre el sistema y su entorno.
Extensión: es un caso de uso, que puede agregar a otro caso de uso.
Inclusión: Es un caso de uso que se incluye entro caso de uso.
Ejemplo
Un usuario inicia el caso de uso Abrir archivo. El sistema de gestión de archivos responde mostrando una lista de archivos. El usuario selecciona el archivo que desea abrir y el sistema de gestión de archivos abre el archivo. El sistema de gestión de archivos muestra el contenido del archivo y el usuario finaliza el caso de uso.
4 Niveles de Casos de Uso
- Casos de uso de negocio: funciones principales del sistema desde la perspectiva de un usuario final.
- Casos de uso de sistema: funciones del sistema desde la perspectiva de un desarrollador.
- Casos de uso de interfaz de usuario: interacciones entre los usuarios y el sistema.
5 Relación entre conceptos ágiles y casos de uso
5.1 SCRUM
- Casos de uso se utilizan para construir y priorizar Product Backlog.
- Casos de uso proporcionan una narrativa clara sobre cómo los usuarios interactúan con el sistema.
5.2 Programación Extrema (XP)
- Casos de uso pueden manifestarse como “Historias de usuario”
5.3 Agilidad en General
- Casos de uso expresan los requisitos de manera clara y concisa, permitiendo que los equipos respondan rápidamente a los cambios en las necesidades del usuario.
6 Actividad de Práctica
¿Cuál es el propósito principal de los casos de uso en UML en el desarrollo de software?
- Detallar la implementación técnica de un sistema.
- Visualizar y especificar las interacciones entre usuarios y el sistema.
- Documentar errores y fallos en el código fuente.
- Definir la arquitectura física de un sistema.
¿Qué representan los actores en un caso de uso en UML?
- Elementos adicionales que pueden incluirse opcionalmente.
- Roles que los usuarios juegan con respecto al sistema.
- Errores comunes en la ejecución de casos de uso.
- Descripciones detalladas de las interacciones.
¿Qué describe un escenario alternativo en un caso de uso?
- La secuencia de pasos más común para lograr el objetivo.
- Detalles adicionales que no son esenciales para el caso de uso.
- Una secuencia de pasos alternativa basada en circunstancias específicas.
- Elementos que no deben incluirse en la documentación.
¿Cuál es el propósito de los diagramas de casos de uso en UML?
- Detallar el contenido textual de los casos de uso.
- Representar gráficamente las interacciones entre usuarios y el sistema.
- Ignorar las relaciones entre casos de uso para simplificar la representación.
- Limitar la comprensión óptima de un caso de uso.
¿Cuándo son útiles los casos de uso en el contexto de metodologías ágiles como Scrum y Programación Extrema (XP)?
- Cuando se necesita documentación extensa y rígida.
- En situaciones donde no hay cambioa en las necesidades del usuario.
- En proyectos que no requieren entrega continua de software funcional.
- Cuando se busca una narrativa detallada sobre las interacciones usuario-sistema para facilitar la comprensión y colaboración.