

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).
Yo suelo utilizar esa flecha de el actor al CA pero le meto <¿> a la flecha entremedio !

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
El include generalmente yo en caso de uso suelo representarlo sin lineas de puntos !

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.
Cito mi forma de entender inclusion y extension de CA para que lo entiendan !
- Include: cuando se relacionan dos casos de uso con un include, estamos diciendo que el primer caso (caso de uso base) incluye al segundo (caso de uso incluido). Sería lo mismo que decir que el segundo es parte esencial del primero, sin el segundo el primero no podría funcionar. - Extend: se utiliza cuando un caso de uso base incorpora el comportamiento de otro caso de uso y “extiende” su funcionamiento.


Límite del sistema
Usualmente se usa para mostrar casos de uso dentro del sistema y actores fuera del sistema.

Aca les dejo link que los direcciona a un CA que realice de un inicio de sesion de un alumno !

Si te gusto mi post compartelo con amigos y en tus redes sociales y no te olvides de seguirme en @valencchu para mas contenidos similares !
