¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. UML 2.5
  3. Modelado de los requisitos
Extrait - UML 2.5 Iniciación, ejemplos y ejercicios corregidos (5ª edición)
Extractos del libro
UML 2.5 Iniciación, ejemplos y ejercicios corregidos (5ª edición) Volver a la página de compra del libro

Modelado de los requisitos

Introducción

El objetivo del presente capítulo es mostrar los casos de uso empleados para describir los requisitos funcionales esperados durante la redacción del pliego de condiciones del sistema o las funcionalidades de un sistema existente.

Los casos de uso de un sistema contienen los requisitos funcionales deseados o existentes, los actores (los actores describen el rol que presentan los usuarios del sistema) y las asociaciones que unen a actores y funcionalidades. Este conjunto determina asimismo las fronteras del sistema, es decir, las funcionalidades del sistema y aquellas que son externas a él.

Los casos de uso sirven de soporte para las etapas de modelado, desarrollo y validación. Son una referencia del diálogo entre los informáticos y sus clientes y, por consiguiente, constituyen una base para elaborar los aspectos funcionales del pliego de condiciones.

Casos de uso

Los casos de uso describen en forma de lista de acciones y de interacciones el comportamiento del sistema, estudiado desde el punto de vista de los actores. Definen los límites del sistema y sus relaciones con el entorno.

Ahora bien, esta definición debe completarse, ya que no especifica si un caso de uso debe describir la totalidad o sólo una parte del diálogo entre el actor y el sistema. Podría formularse así:

“Entre un actor y el sistema, los casos de uso describen las acciones e interacciones vinculadas con un objetivo funcional del actor”.

Los casos de uso detallan los requisitos funcionales del sistema relativos a alguno de los objetivos de un actor.

Ejemplo

Consideremos como sistema un criadero de caballos. La compra de un caballo por parte de un cliente constituye un caso de uso.

Actores

Un mismo usuario externo al sistema puede desempeñar diferentes funciones en relación con el sistema. En UML se define la noción de rol.

Un actor describe el rol que desempeña un usuario externo al sistema durante una interacción con el sistema.

La definición se extiende a los demás sistemas que interactúan con el sistema. Estos forman tantos actores como roles desempeñados.

Debemos distinguir dos categorías de actores:

  • Los actores primarios, para los cuales el objetivo del caso de uso es esencial y constituye un objetivo del actor.

  • Los actores secundarios, para los que el objetivo del caso de uso no es esencial, si bien interactúan con él.

Ejemplo

Retomemos el ejemplo del caso de uso de compra de un caballo por parte de un cliente. El comprador del caballo es un actor primario. La parada de sementales del estado que registra el certificado de venta es un actor secundario. 

Escenarios

Un escenario es una instancia de un caso de uso en la cual se fijan todas las condiciones relativas a los diferentes eventos. Por tanto, a la hora del desarrollo, no existen alternativas.

A un caso de uso determinado corresponden varios escenarios.

Al igual que las clases, que albergan los aspectos comunes de las instancias, los casos de uso describen de manera común el conjunto de escenarios utilizando derivaciones condicionales para representar las diferentes alternativas.

Ejemplo

La compra de Jorgelina por parte de Fien constituye un ejemplo de escenario del caso de uso de compra de un caballo. Todas las alternativas del desarrollo se conocen, ya que Fien ha comprado a Jorgelina.

Asociación entre un actor y un caso de uso

La asociación entre un actor y un caso de uso indica que este actor posee la capacidad de interactuar con el sistema de la manera descrita por el caso de uso.

Esta asociación se representa de manera gráfica mediante un trazo sencillo. Es posible orientarlo para indicar el extremo que inicia la interacción con la otra parte. Esta orientación se realiza mediante una flecha que parte del extremo que envía las peticiones hacia el que las recibe.

Ejemplo

La asociación que vincula el actor Comprador en el caso de uso Compra Caballo indica que este actor posee la capacidad de comprar un caballo interactuando con este caso de uso.

Diagrama de los casos de uso

El diagrama de los casos de uso muestra los casos de uso representados en forma de elipses y a los actores en forma de personajes. También indica las asociaciones que los vinculan.

Ejemplo

El caso de uso de compra de un caballo se representa en la figura 4.1:

images/04RI01V4.png

Figura 4.1 - Caso de uso de compra de un caballo

El sistema que responde al caso de uso puede representarse mediante un rectángulo en cuyo interior aparece el caso.

Ejemplo

En el ejemplo anterior, el sistema es el criadero de caballos. Esto se ilustra en la figura 4.2.

images/04RI02V4.png

Figura 4.2 - Sistema de un caso de uso

Los actores secundarios se representan del mismo modo que los actores primarios. A diferencia de la asociación entre un actor primario y un caso de uso, la asociación entre un actor secundario y un caso de uso posee, necesariamente, un sentido que va desde el caso de uso hacia el actor.

Ejemplo

Las paradas de sementales del estado registran el cambio de propietario del caballo. Las paradas son un actor secundario (ver figura 4.3).

images/04RI03V4.png

Figura 4.3 - Actores primarios y secundarios de un caso de uso

La cardinalidad de la asociación actor/caso de uso

UML ofrece la posibilidad de introducir la cardinalidad a nivel de la asociación entre un actor y un caso de uso. Esta cardinalidad figura en cada extremo de la asociación.

La cardinalidad situada en el extremo del caso de uso indica con cuántas instancias del caso de uso (escenarios) está vinculada cada instancia del actor situada en el otro extremo. La cardinalidad situada en el extremo del actor indica con cuántas instancias del actor está vinculada cada instancia del caso de uso situada en el otro extremo.

Es posible especificar la cardinalidad mínima y la cardinalidad máxima para indicar un intervalo de valores al que debe pertenecer la cardinalidad.

Estos valores mínimo y máximo se indican en la siguiente tabla.

Especificación

Cardinalidad

0..1

cero o una vez

1

una única vez

*

de cero a varias veces

1..*

de una a varias veces

M..N

entre M y N veces

N

N veces

Ejemplo

El caso de uso relativo a la compra del caballo que incluye la cardinalidad se representa en la figura 4.4. Un mismo comprador puede comprar varios caballos y puede realizar la compra junto a otros compradores. Cada compra de caballo se registra en las paradas de sementales del estado, que se representan por una única instancia. Estas paradas registran todos los certificados de venta de caballos, de ahí la presencia de la cardinalidad...

Relaciones entre los casos de uso

1. Relación de inclusión

La relación de inclusión sirve para enriquecer un caso de uso con otro. Dicho enriquecimiento se lleva a cabo mediante una inclusión imperativa y, por tanto, es sistemático.

El caso de uso incluido existe únicamente con ese propósito, ya que no responde a un objetivo de un actor primario. Estos casos de uso son subfunciones.

La inclusión sirve para compartir una funcionalidad común entre varios casos de uso. También puede emplearse para estructurar un caso de uso describiendo sus subfunciones.

En el diagrama de casos de uso, estas relaciones se representan mediante una flecha discontinua acompañada del estereotipo «include».

Ejemplo

A la hora de adquirir un semental, el comprador comprueba que tenga las vacunas en regla. Por consiguiente, el caso de uso de compra de un semental incluye dicha verificación (ver figura 4.5).

images/04RI05V4.png

Figura 4.5 - Inclusión de un caso de uso

La puesta en común del caso de uso de comprobación de las vacunas se ilustra en la figura 4.6, ya que este caso de subfunción es igualmente pertinente para la compra de una yegua.

images/04RI06V4.png

Figura 4.6 - Puesta en común de un caso de uso incluido

La inclusión puede emplearse también para descomponer el interior de un caso de uso sin compartir el caso incluido. En la figura 4.7, la comprobación...

Representación textual de los casos de uso

La representación textual de los casos de uso no se especifica en UML. No obstante, se utiliza habitualmente y por ello la hemos incorporado en la presente obra.

La representación en forma textual de los casos de uso da una descripción de sus componentes, acciones y reacciones. El contenido de la representación textual es el siguiente:

  • Nombre del caso de uso;

  • Actor primario;

  • Sistema al que pertenece el caso de uso;

  • Participantes (conjunto de actores);

  • El nivel del caso de uso puede ser:

    • un objetivo del actor primario;

    • una subfunción;

  • Condiciones previas que deben cumplirse para que el caso de uso pueda ser ejecutado;

  • Operaciones del escenario principal;

  • Extensiones.

Caso de uso

Nombre del caso de uso

Actor primario

Nombre del actor primario

Sistema

Nombre del sistema

Participantes

Nombre de los participantes

Nivel

Objetivo del actor primario o subfunción

Condiciones previas

Condiciones que deben cumplirse para ejecutar el caso de uso

Operaciones

1

Operación 1

2

Operación 2

3

Operación 3

4

Operación 4

5

Operación 5

Extensiones

1.A

Condición de aplicación de la extensión A sobre la operación 1

1.A.1

Operación 1 de la extensión A sobre la operación 1

1.A.2

Operación 2 de la extensión A sobre la operación 1

1.B

Condición de aplicación de la extensión B sobre la operación 1

1.B.1

Operación 1 de la extensión B sobre la operación 1

4.A

Condición de aplicación de la extensión A sobre la operación 4

4.A.1

Operación 1 de la extensión A sobre la operación 4

Ejemplo

A continuación presentamos el caso de uso de compra de una yegua. Las extensiones incluyen el número de la línea de la operación a la cual se aplican, seguida...

Conclusión

Los casos de uso sirven para:

  • Expresar los requisitos funcionales que los usuarios comunicaron al sistema durante la redacción del pliego de condiciones;

  • Comprobar que el sistema cumple dichos requisitos en el momento de la entrega; 

  • Determinar las fronteras del sistema;

  • Escribir la documentación del sistema;

  • Confeccionar los juegos de test.

Los casos de uso ofrecen una técnica de representación adecuada para dialogar con el usuario ya que su formalismo es cercano al lenguaje natural. Se aconseja incorporar un léxico para evitar posibles confusiones.

Más adelante estudiaremos cómo descubrir los objetos utilizando los diagramas de secuencia asociados a los casos de uso.

Ejercicios

1. El hipódromo

Un hipódromo ofrece a sus clientes la posibilidad de asistir a las carreras y de realizar apuestas.

¿Cuáles son los actores que interactúan con estos servicios?

Construya el diagrama de casos de uso.

2. El club ecuestre

Un club ecuestre pone a disposición de los clientes establos para guardar los caballos y ofrece cursos de equitación y paseos. Sólo los socios tienen acceso a los cursos y a los servicios de establo. Los demás clientes tienen la posibilidad de participar en los paseos y de convertirse en socios.

¿Cuáles son los actores que interactúan con estos servicios?

Construya el diagrama de casos de uso.

3. El tiovivo de caballos de madera

Un tiovivo de caballos de madera ofrece a sus clientes la posibilidad de dar una vuelta previo pago de una cantidad de dinero.

¿Cuáles son los actores vinculados a este servicio?

Construya el diagrama de casos de uso.

Dé la representación textual correspondiente al diagrama.