Caso práctico
-De acuerdo, y ahora ¿Cómo asociamos a los actores con los casos de uso que pueden realizar?
-De acuerdo, y ahora ¿Cómo asociamos a los actores con los casos de uso que pueden realizar?
Los diagramas de casos de uso son grafos no conexos en los que los nodos son actores y casos de uso, y las aristas son las relaciones que existen entre ellos. Las relaciones representan qué actores realizan las tareas descritas en los casos de uso, en concreto qué actores inician un caso de uso. Pero además existen otros tipos de relaciones que se utilizan para especificar relaciones más complejas, como uso o herencia entre casos de uso o actores.
Existen diferentes tipos de relaciones entre elementos:
Relación |
Descripción/ Ejemplo |
Asociación |
|
|
Representa la relación entre el actor y un caso de uso en el que participa. |
Ejemplo: Relación entre el caso de uso sacar dinero y el cliente de un banco.
|
|
Inclusión (include - use) |
|
Include |
Se trata de una relación entre casos de uso. La ejecución de un caso de uso implica necesariamente la ejecución del segundo. |
.
|
Esta relación es muy útil cuando se desea especificar algún comportamiento común en dos o más casos de uso, aunque es frecuente cometer el error de utilizar esta técnica para hacer subdivisión de funciones, por lo que se debe tener mucho cuidado cuando se utilice. |
Ejemplo 1: Al ejecutar el caso de uso sacar dinero, obligatoriamente se ejecuta el caso de uso validar pin de la tarjeta de crédito.
Ejemplo 2: Por ejemplo, a la hora de hacer un pedido se debe buscar la información de los artículos para obtener el precio, es un proceso que necesariamente forma parte del caso de uso, sin embargo también forma parte de otros, como son el que visualiza el catálogo de productos y la búsqueda de un artículo concreto, y dado que tiene entidad por sí solo se separa del resto de casos de uso y se incluye en los otros tres. |
|
En el siguiente gráfico se representa que A usa B, es decir, que A siempre ejecuta B.
|
|
Extensión (extend) |
|
extend |
Se trata de una relación entre casos de uso. La ejecución de un caso de uso puede provocar la ejecución del segundo |
|
Se utiliza una relación entre dos casos de uso de tipo "extends" cuando se desea especificar que el comportamiento de un caso de uso es diferente dependiendo de ciertas circunstancias. La principal función de esta relación es simplificar el flujo de casos de uso complejos. Se utiliza cuando existe una parte del caso de uso que se ejecuta sólo en determinadas ocasiones, pero no es imprescindible para su completa ejecución. Cuando un caso de uso extendido se ejecuta, se indica en la especificación del caso de uso como un punto de extensión. Los puntos de extensión se pueden mostrar en el diagrama de casos de uso. |
Ejemplo 1:
Imprimir ticket es consecuencia del caso de uso sacar dinero, pero su ejecución es opcional a que sea requerida por el cliente.
Ejemplo 2: Cuando un usuario hace un pedido si no es socio se le ofrece la posibilidad de darse de alta en el sistema en ese momento, pero puede realizar el pedido aunque no lo sea. |
|
|
|
A opcionalmente ejecuta B. |
Generalización |
|
|
Se utiliza para representar relaciones de herencia entre casos de uso o actores. No se contemplan generalizaciones combinadas entre actores y casos de uso. Se utiliza cuando se tiene uno o más casos de uso que son especificaciones de un caso más general. |
Por ejemplo, entre actores: tanto profesor como alumno son casos particulares del actor persona. Ejemplos, entre casos de uso:
Un ejemplo de generalización de casos de uso sería la compra de artículos en un comercio, pudiendo considerarse la compra de alimentos o de bebidas. Ambos tipos de compras tendrán las características heredadas del caso de uso compra general, más las particulares definidas para cada caso.
|
Grafo en el que no es obligatorio que se pueda trazar un camino (sucesión de arcos que une dos nodos cualesquiera) entre cualquier pareja de nodos a y b.