Saltar la navegación

2.1.3.- Relaciones.

Caso práctico

Primer plano de una chica joven, de espresión seria, con el pelo largo y rizado, viste con una camisa de color gris.

-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

 Título: Línea recta. Descripción: Línea recta horizontal azul. Nombre:  ED06_Relac_10.png Autoría: Elena Pérez Nebreda. Licencia: Uso educativo no comercial. Procedencia: Elaboración propia.

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.

Actor en forma de monigote con el nombre Cliente unido por una línea recta con un caso de uso, en forma de óvalo azul llamado Sacar dinero.

Inclusión (include - use)

Flecha formada por líneas discontinuas con dirección a la izquierda.

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.

             Dos casos de usos (A y B) que se encuentran dentro de unos óvalos blancos que mediante una relación de inclusión dan lugar a un caso de uso C que también se encuentra dentro de un óvalo blanco, unido mediante flechas discontinuas.

 

.

 

 

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.

El caso de uso Sacar dinero que se encuentra dentro de un óvalo azul está unida al caso de uso Validar Pin que también se encuentra dentro de un óvalo azul, mediante una flecha discontinua sobre la que pone Include. En este caso se utiliza la relación de inclusión.

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.

El caso de uso A que se encuentra dentro de un óvalo blanco está unida al caso de uso B que se encuentra dentro de un óvalo blanco, mediante una flecha discontinua sobre la que pone Include. En este caso se utiliza la relación de inclusión.

 Extensión (extend)

Flecha formada por líneas discontinuas con dirección a la izquierda.

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.

 El caso de uso Sacar dinero que se encuentra dentro de un óvalo azul está unida al caso de uso Imprimir ticket que también se encuentra dentro de un óvalo azul, mediante una flecha discontinua sobre la que pone Extends. En este caso se utiliza la relación de extensión.

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.

Actor en forma de monigote con el nombre Usuario unido por una línea recta con un caso de uso, en forma de óvalo azul llamado Hacer pedido, dentro del óvalo debajo del nombre y separado por una linea horizontal aparece el rótulo Extension Points  Registrarse. Hacer pedido se une a otro caso llamado Registrarse, mediante una línea de puntos con una flecha en el extremo de Hacer pedido y el rótulo <<Extends >>. Debajo aparece otro actor llamado Socio unido por una línea recta con un caso de uso llamado Modificar datos personales. Los actores también están unidos por un línea recta con un triángulo blanco en el extremo de usuario.

El caso de uso A que se encuentra dentro de un óvalo blanco está unido al caso de uso B que también se encuentra dentro de un óvalo blanco, mediante una flecha discontinua sobre la que pone Extends. En este caso se utiliza la relación de extensión.

                        A opcionalmente ejecuta B.

 

Generalización

Flecha recta horizontal azul formada por líneas continuas.

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.

 Actores en forma de monigote con el nombre Profesor y Alumno unido por una flecha en forma de T inversa a otro actor en forma de monigote con el nombre 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.

Autoevaluación

Pregunta

Actor llamado Empleado de almacén unido a un caso de uso llamado Servir pedido seguido de tres interrogaciones y otro caso de uso llamado Consultar stock.

Supón el siguiente sistema que modela el caso de uso "Servir pedido" en el que el Empleado de almacén revisa si hay suficientes artículos para hacer el pedido y si todo es correcto, el pedido se embala y se envía:

¿Qué tipo de relación emplearías en el modelo del dibujo?

Respuestas

Asociación.

Generalización.

extends.

Include.

Retroalimentación