Diagrama de Casos de Uso UML 2
Modelo de Casos de Uso
El modelo de casos de uso captura los requisitos de un sistema. Los casos de uso son un medio de comunicación con los usuarios y otros interesados acerca de lo que se piensa hacer del sistema.
Actores
Un diagrama de casos de uso muestra la interacción entre el sistema y entidades externas al sistema. Estas entidades externas se referencian como actores. Los actores representan los roles que pueden incluir usuarios humanos, un hardware externo u otros sistemas. Un actor usualmente se dibuja como una figura o alternativamente como una clase con la palabra clave «actor».
Los actores pueden generalizar otros actores como se detalla en el siguiente diagrama.
Casos de Uso
Un caso de uso es una sola unidad de trabajo significativo. Este provee una vista de alto nivel de comportamiento observable para alguien o algo fuera del sistema. La notación por un caso de uso es una elipse.
La notación para usar un caso de uso es una línea de conexión con una punta de flecha opcional mostrando la dirección del control. El siguiente diagrama indica que el actor Customer (cliente) usa el caso de uso withdraw (retirar).
El conector “use” puede tener opcionalmente valores múltiples en cada final, como en el siguiente diagrama que muestra que el cliente puede tener solo una sesión de “withdraw” (retiro) a la vez, pero un banco puede tener cualquier cantidad de clientes haciendo retiros concurrentemente.
Definiciones de Casos de Uso
Un Caso de Uso normalmente incluye:
- Nombre y Descripción
- Requisitos
- Restricciones
- Escenarios
- Diagramas de escenarios
- Información adicional.
Nombre y Descripción
Un caso de uso normalmente se nombra como una frase verbal y se le da una descripción textual informal.
Requisitos
Los requisitos definen los requisitos funcionales formales que un caso de uso debe proveer al usuario final. Estos corresponden a las especificaciones funcionales encontradas en las metodologías estructuradas. Un requisito es un contrato o promesa de que el caso de uso realizará una acción o proveerá algún valor al sistema.
Restricciones
Una restricción es una condición o restricción bajo la cual opera un caso de uso y que incluye pre, y post condiciones y condiciones invariantes. Una pre condición especifica las condiciones que se necesitan cumplir antes de que el caso de uso pueda proceder. Una post condición se usa para documentar el cambio en condiciones que deben ser verdaderas después de la ejecución del caso de uso. Una condición invariante especifica las condiciones que son verdaderas a través de la ejecución del caso de uso.
Escenarios
Un escenario es una descripción formal del flujo de eventos que ocurren durante la ejecución de una instancia de casos de uso. Este define la secuencia específica de eventos entre el sistema y los actores externos. Este normalmente se describe en el texto y corresponde a la representación textual del diagrama de secuencia.
Incluyendo Casos de Uso
Los casos de uso pueden contener la funcionalidad de otro caso de uso como parte de su proceso normal. En general se asume que cualquier caso de uso incluido se llamará cada vez que se ejecute una ruta básica. Un ejemplo de esto tiene la ejecución de Caso de uso <Card Identification> para ejecutar como parte de un caso de uso <Withdraw>.
Los casos de uso se pueden incluir por uno o más casos de uso, ayudando a reducir el nivel de duplicación de la funcionalidad realizando un factoreo del comportamiento común en casos de uso que se usan muchas veces.
Casos de Uso extendidos
Un caso de uso se pude usar para extender el comportamiento de otro, esto normalmente se usa en circunstancias. Por ejemplo, si antes de modificar un tipo particular de orden del cliente, un usuario debe obtener la aprobación de una autoridad superior, luego el caso de uso <Get Approval> puede opcionalmente extender el caso de uso <Modify Order>.
Puntos de extensión
El punto al cual un caso de uso extendido se agrega se puede definir por medio de un punto de extensión.
Límite del sistema
Usualmente se usa para mostrar casos de uso dentro del sistema y actores fuera del sistema.