Casos de Uso

Los casos de uso modelan el sistema desde el punto de vista del usuario. Describe cómo el usuario va a utilizar el sistema, los requisitos funcionales, la forma en la que las cosas externas (los actores), interactúan con el sistema y las respuestas de éste.

Cuando describimos los casos de uso, no nos preocupamos en la manera de implementarlo. Si pensamos en la descripción de los casos de uso que describen el uso de un automóvil, tendremos en actor “Conductor”. El escenario inicial se encuentra cuando va a acceder al automóvil abriendo la puerta con la llave. Se describirá en detalle cada una de las interacciones del usuario, como el ajuste del asiento y el volante, el uso del cinturón de seguridad, el manejo de los mandos, etc. Hay que identificar todas las situaciones que se puedan llegar a producir, como que ocurre si no hay gasolina, o se salta el indicador del nivel del aceite. Todas estas acciones describirán varios casos de uso. Del mismo modo, se identificarán otros actores, como el actor “Copiloto”, que no conducirá pero podrá realizar otras acciones, como subir y bajar la ventanilla, poner el aire acondicionado, manipular la radio… O el actor “Mecánico” que realizará la revisión del coche, accederá al motor abriendo el capó, etc.

Elementos del diagrama de casos de uso

Vamos a ver un ejemplo básico.

Caso de uso

Caso de uso

Los actores se representan con un monigote, y cada uno de los casos de uso, se representan con una elipse. El rectángulo que se muestra el diagrama es “la frontera del sistema”. Todo lo que queda dentro del rectángulo forma parte del sistema. Una línea sólida conecta el actor con el  caso de uso. El actor no necesariamente tiene que ser una persona, puede ser cualquier entidad que interactúa con el sistema.

Cada escenario de caso de uso, tendrá su propia página, en la que se describirá en modo texto:

  • Actor que inicia el caso de uso
  • Condiciones previas
  • Pasos en el escenario
  • Condiciones posteriores, cuando se finaliza el escenario
  • Actor que se beneficia del caso de uso
Inclusión

Si existen acciones que se repiten en varios casos de uso, se pueden agrupar la secuencia de pasos en común, y agruparlos en un nuevo caso de uso que será aprovechado en otros casos de uso. Por ejemplo, tanto el “Conductor”, como el “Copiloto” abren la puerta del coche, se ajustan el colocan el cinturón de seguridad, etc. Se pueden agrupar esas acciones en un nuevo caso de uso “Acceder al automóvil”.

Inclusión

Inclusión

Nota: Una manera de seleccionar el tipo de asociación que nos interesa en un diagrama de casos de uso en EA, consiste en hacer un clic sobre el elemento de origen, hasta que se muestre una pequeña flecha. Seguidamente arrastraremos la flecha hasta el elemento de destino y cuando la soltemos, se nos mostrará un cuadro de diálogo, donde indicaremos el tipo de asociación.

Detalle de la relación

Detalle de la relación

Extensión

Cuando creamos un caso de uso a partir de un caso existente, añadiendo nuevas acciones, estamos hablando de extender el caso de uso. Por ejemplo, si tuviésemos el caso de uso “Revisar niveles”, en los que un actor revise los niveles de aceite, líquido de frenos, etc. se podría extender este caso de uso para realizar una “Revisión total”, en el que además de revisar los niveles, comprobemos los faros, las ruedas, etc.

Extensión

Extensión

Cuando se extiende un caso de uso, se puede utilizar un “punto de extensión”, que indica en que escenario se produce el comportamiento alternativo. En el ejemplo anterior, se podría haber incluido un texto “todos los niveles son correctos”, para indicar únicamente se realiza la revisión total, cuando todos los niveles están a punto.

Nota: Para añadir puntos de extensión en EA, hay que hacer clic derecho sobre el caso de uso y seleccionar “Advanced >> Edit Extensión Points…”. En el cuadro de diálogo que se abre, se pueden añadir todos los puntos de extensión que se necesiten.

Añadir punto de extensión

Añadir punto de extensión

Los puntos de extensión se muestran como un texto bajo una línea horizontal en el caso de uso.

Generalización

Es similar al caso anterior. Al igual que en la programación orientada a objetos podemos extender una clase para añadir nuevas propiedades, se puede extender un caso de uso, para añadir nuevos comportamientos. Se pueden generalizar tanto los casos de uso como los actores.

Generalización

Generalización

Aquí termina este post, en el siguiente hablaremos sobre los diagramas de estado. Si te ha parecido interesante, puedes dejar un comentario.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *