DIAGRAMA DE CASOS DE USO


DESARROLLO DE APLICACIONES WEB EN MICROSOFT C# .NET MODELADAS EN UML.

Modelo de casos de uso

Un Modelo de Casos de Uso es un modelo de las funciones deseadas de la aplicación y sus ambientes, y sirve como un contrato entre el cliente y los desarrolladores. Los casos de uso sirven como un hilo unificador a lo largo de desarrollo de la aplicación. El Modelo de Casos de Uso es el resultado del flujo de Requisitos y es usado como parte importante del Análisis, Diseño y de la Prueba.

Existen muchas maneras de modelar una aplicación, cada una puede servir para un propósito diferente. Sin embargo, el propósito más importante de un modelo de casos de uso es comunicar el comportamiento de la aplicación al cliente o usuario final. Por consiguiente, el modelo debe ser fácil de entender.

Los usuarios y cualquier otro sistema que pueden interactuar con la aplicación a desarrollar, serán considerados como actores, porque estos representan a los usuarios de la aplicación, los actores ayudan a delimitar la aplicación y dan un cuadro más claro de lo que se supone que debe hacer. Los casos de uso se desarrollan en base a las necesidades de los actores, esto asegura que la aplicación terminará siendo la solución que esperan los usuarios.

Cómo Evoluciona el Modelo de Casos de Uso

Los actores y los casos de uso son encontrados analizando las necesidades de los usuarios, el Modelo del Negocio (si es que se ha desarrollado) y los usuarios potenciales como información vital. Cuando los casos de uso son capturados, deben describirse de forma resumida (alto nivel) y los actores de igual forma. Antes de que los casos de uso se describan con todos los detalles necesarios para su completa comprensión, deben ser revisados por el cliente para verificar que se encuentran todos los casos de uso y actores, y que juntos pueden proporcionar lo que el cliente necesita.

Cuando se han encontrado los actores y casos de uso, el flujo de eventos de cada caso de uso se describe de forma detallada. Estas descripciones muestran cómo el sistema interactúa con los actores y lo que la aplicación hace en cada caso individual.

Finalmente, el Modelo de Casos de Uso terminado (incluyendo las descripciones de casos del uso) se revisa, los encargados de esta revisión son los diseñadores y clientes, ya que son los que usarán y los interesados, ellos deben de estar de acuerdo en lo que la aplicación hará.

Casos de Uso Concretos y Abstractos

Existe una diferencia entre un Caso de Uso Concretos y un Casos de Uso Abstractos. Un caso del uso concreto es iniciado por un actor y constituye un flujo completo de eventos. “Concreto” significa que un caso de caso realiza la operación de forma completa requerida por el actor.

Un caso del uso abstracto nunca es iniciado por si mismo, ni tampoco iniciado por un actor. Los casos de uso abstractos son “Incluido hacia”, “Extendido hacia”, o “Generalizado a”. Cuando un caso de uso concreto comienza, una instancia del caso de uso abstracto se crea.

La diferencia entre los dos es importante, porque en los casos de uso concretos los actores serán los que utilicen.

Existen cuatro tipos de relaciones o asociaciones (comunicación) en el diagrama de casos de uso, son las siguientes:

- Comunicación.Es una relación simple entre un actor y un caso de uso, como se puede ver en el ejemplo siguiente:

clip_image002

- Inclusión (Include). Si existe una parte de un caso de uso que representa una función que está en otro caso de uso, que sólo depende del resultado, pero no el método usado para producir el resultado, se puede crear esa parte fuera a un caso de uso que sea adicional. La adicción se inserta, explícitamente, en un caso de uso relacionado con el creado y se debe incluir en la relación “Incluir” o “Include”. Como se puede ver en el ejemplo siguiente:

clip_image004

- Extensión (Extend). Si existe una parte de un caso del uso concreto que es optativa, es decir que exista una condición lógica para su ejecución o no necesaria, se puede crear un nuevo caso de uso con la parte condicionada, esto ayuda a simplificar la estructura del caso de uso concreto. La adicción se relaciona, implícitamente, con el caso de uso concreto y el creado, se debe usar la relación “Extender” o “Extend”. Como se puede ver en el ejemplo siguiente:

clip_image006

- Herencia.Si hay casos del uso que tienen conducta en común, estructura y similitudes dentro de su propósito, las partes comunes pueden ser separadas en un caso de uso concreto (padre), el cual puede heredas a otros casos de uso adicionales (hijos). Los casos de uso de Hijos pueden insertar nuevas conductas y pueden modificar la conducta en la estructura que ellos heredan del caso de uso de padre.

Se puede usar la generalización de actores para mostrar cómo los casos de uso son especializaciones de otros entre si. Como se puede ver en el ejemplo siguiente:

clip_image008

Un caso de uso debe ser simple, inteligible, claro y conciso. Generalmente hay pocos actores asociados a cada Caso de Uso. Para encontrar algunos parámetros en la construcción de un caso de uso se debe realizar las siguientes preguntas:

- ¿Cuáles son las tareas del actor?

- ¿Qué información crea, guarda, modifica, destruye o lee el actor?

- ¿Debe el actor notificar a la aplicación los cambios externos?

- ¿Debe el sistema informar al actor de los cambios internos?

La flecha de comunicación define al actor que inicia el caso de uso esperando una respuesta. Una línea sin flecha asume una comunicación bidireccional, donde el caso de uso es el que manda una respuesta a un actor, para luego, el actor, realice una actividad que active al caso de uso, pero pude que el caso de uso solo informe, en este caso la flecha apuntaría al actor.

Un caso del uso puede comenzarse según una programación (por ejemplo, una vez a la semana o una vez al día), que significa que el reloj de la aplicación es el iniciador del caso de uso. Para la claridad del Diagrama de Casos de Uso, se debe utilizar un actor ficticio “Tiempo” para mostrar cómo el caso de uso se inicia.

Un aspecto, importante, para la organización y comprensión del modelo de casos de uso, es agrupar los casos del uso en paquetes. Un paquete es un mecanismo de propósito general para organizar elementos en grupos.

A continuación se realiza el Diagrama de Casos de Uso para la aplicación de Hotel.

Para iniciar se debe determinar a los actores y a los casos de uso.

En primer lugar se determina a los actores de la aplicación, son los siguientes:

Actor Descripción
Recepcionista Es la persona de atender al cliente en la reserva o confirmación de una habitación en el hotel, además de llevar el costo del consumo que el cliente realice mientras este hospedado en el hotel. Este actor podrá realizar actividades de reserva, confirmación y cierre de cuenta para el cliente.
Cliente Es una persona que está interesada en reservar una habitación dentro del hotel. Este actor podrá solo realizar la actividad de reserva de habitación por medio de una interfaz
Jefe de Cocina Es la persona encargada de registrar las solicitudes de servicio de los clientes ya sea a la habitación, donde se hospeda el cliente o en los servicios básicos que ofrece el hotel para el cliente como desayuno, almuerzo o cena. Este actor podrá realizar las actividades de registro de solicitudes
Administrador Es la persona que se encarga de gestionar los permisos hacia la aplicación, las bebidas y las comidas. Este actor podrá realizar las actividades de crear, actualizar y eliminar comidas y bebidas para los servicios hacia el cliente, además de crear y modificar los permisos.

Existen dos métodos para la determinación de los casos de uso, son los siguientes:

- Método basado en Actores. En el método debe tomarse en cuenta que los actores estén relacionados en una aplicación o una empresa y que por cada actor se identifican los procesos que inician o en que participan.

- Método basado en Eventos. En el método debe identificarse a los eventos externos a los que la aplicación debe responder y se debe analizar si los actores se relacionan con los actores y con casos de uso.

Para el ejemplo utilizaremos el primer método.

Actor Casos de Uso
Recepcionista Reservar Habitación

Confirmar Reserva

Salir del Hotel

Cambiar Contraseña

Autenticar Empleado

Cliente Reservar Habitación
Jefe de Cocina Cambiar Contraseña

Autenticar Empleado

Registrar Solicitud de Servicio a la Habitación

Registrar Solicitud de Servicio Básico

Administrador Gestionar Empleados

Gestionar Bebidas

Gestionar Cocina

Como se puede observar, existen varios casos de uso que se repiten, lo que importa es identificar las actividades de cada actor, las cuales realizará con la aplicación.

Hay que señalar, que una ayuda para la determinación de los casos de uso son los Diagramas de Actividad que corresponden a los casos de uso del negocio. Se debe realizar un análisis de cada actividad dentro de los diagramas de actividad, debe preguntarse por cada actividad ¿se pede automatizar?, ya que muchas, no todas, de las actividades son verbales o llegan a una solución sin generar una información persistente. Otras situaciones que influyen en la decisión de automatizar, es la economía y la disponibilidad de los clientes y usuarios, ya que la tecnología será un limitante para el desarrollo del software, como también la disponibilidad de la inversión en dinero. Para el ejemplo, se propone una interfaz Web, para realizar una reserva de habitación, ya sean los actores Cliente o Recepcionista podrán realizar la reserva de una habitación, pero puede cambiar la política y decir que solo el Recepcionista es el encargado de realizar la reserva de la habitación, en este caso puede que no sea necesario el desarrollo de una interfaz Web para realizar esta actividad.

Una vez identificados todos los casos de uso, que representa la solución a las necesidades de los usuarios se debe crear el Diagrama de Casos de Uso.

A continuación se crea el Diagrama de Casos de Uso en el Rational Rose. La creación es similar al Diagrama de Casos de Uso del Negocio.

Iniciemos la creación del Diagrama de Casos de Uso. Como se puede ver en la Pantalla 1, la ubicación dentro del Rational Rose será Use-Case Model (Modelo de Caso de Uso).

clip_image010

Pantalla 1. Ubicación para la creación del Modelo de Casos de Uso

La carpeta de Use-Case Model esta conformada por dos subcarpetas que son: Actors y Use Case (Actores y Casos de Uso), dentro de estas colocaremos, respectivamente, a los actores que se han determinado y a los casos de uso que se han captado de la aplicación de ejemplo. Como se puede ver en la Pantalla 2, las subcarpetas tienen una estructura para documentar la aplicación, muestra donde se tiene que colocar a los actores y como crear los casos de uso. Dentro de la carpeta Use Cases se encuentran dos subcarpetas con el nombre de Use Case Name e Included Use Cases. La primera subcarpeta nos indica que por casa caso de uso se debe crear una carpeta y dentro de esta, recién, el caso de uso. La segunda subcarpeta, Included Use Cases, es para los casos de uso que tienen una relación con otro caso de uso de tipo “Include”. De igual forma que los casos de uso concretos, por cada caso de uso incluido debe existir una carpeta y dentro de esta el caso de uso.

clip_image012

Pantalla2. Plantilla para el Modelo de Casos de Uso

El primer paso es crear a los actores de la aplicación, para esto se debe realizar un clic derecho en la carpeta Actors, se visualizará un menú emergente, ya conocido, se debe seleccionar la opción New, la cual desplegará un submenu, la opción que se debe seleccionar es Actor, sobre la cual se debe realizar un clic como se puede ver en la Pantalla 3.

clip_image014

Pantalla 3. Crear un Actor de la aplicación

El resultado será la Pantalla 4, donde se debe cambiar el nombre del actor por uno que sea significativo para la aplicación.

clip_image016

Pantalla 4. Resultado de la Creación de un Actor

En la Pantalla 5 se ve al primer actor creado

clip_image018

Pantalla 5. Primer Actor Creado

Para los siguientes actores deben realizarse las operaciones anteriormente descritas. El resultado de la creación de los actores se puede observar en la Pantalla 6.

clip_image020

Pantalla 6. Resultado de la creación de los Actores de la Aplicación

Luego de crear a los actores resta crear a los casos de uso, es similar al proceso de creación de los casos de uso de negocio. No debe olvidarse que por cada caso de uso debe existir una carpeta como se puede ver en la plantilla seleccionada al inicio de cada proyecto. Para crear un caso de uso se debe realizar un clic derecho en la carpeta Use Cases, esta actividad desplegará un menú emergente como se puede ver en la Pantalla 7, debe seleccionarse la opción New y luego Package, esta última permite crear una carpeta a la cual se debe cambiar el nombre.

clip_image022

Pantalla 7. Crear una Carpeta para el caso de uso

Como se dijo anteriormente, se debe cambiar el nombre a la carpeta, en este caso el nombre del primer caso de uso que se ha captado, que es: Reservar Habitación. El resultado de esta actividad se puede ver en la Pantalla 8.

clip_image024

Pantalla 8. Cambio de Nombre de una Carpeta

Queda crear el caso de uso, para esto se debe realizar un clic derecho en la carpeta Reservar Habitación, aparecerá un menú emergente del cual se debe seleccionar la opción New y Use Case, como se puede ver en la Pantalla 9.

clip_image026

Pantalla 9. Crear un Caso de Uso

Una vez realizada la actividad, resta cambiar de nombre al caso de uso creado, en este caso será Reservar Habitación. El resultado de esta actividad se puede ver en la Pantalla 10.

clip_image028

Pantalla 10. Creación del caso de uso Reservar Habitación

Para crear los otros casos de uso se debe realizar los pasos anteriormente descritos, el resultado se puede ver en la Pantalla 11. Se crea una carpeta por cada caso de uso, debido a que un caso de uso puede ser descrito ya sea por medio de un diagrama de actividad o de forma literal e incluso por medio de un diagrama de secuencia, diagrama de clases o un diagrama de estado. Estas descripciones están en función de las políticas de la empresa o el grupo de desarrollo, por este motivo RUP aconseja que por cada caso de uso se deba crear una carpeta.

clip_image030

Pantalla 11. Resultado de crear los casos de Uso

Para este ejemplo de aplicación de Hotel, no se adiciona ningún otro estereotipo por caso de uso, solo se hará una descripción de forma literal.

El paso final es crear el Diagrama de Casos de Uso, para realizar esta actividad se debe realizar un clic derecho en la carpeta Use-Case Model, aparecerá un menú emergente del cual se debe seleccionar la opción de New y Use Case Diagram. Como se puede observar en la Pantalla 12.

clip_image032

Pantalla 12. Crear un Diagrama de Casos de Uso

El siguiente paso es cambiar de nombre, el nombre debe ser “Vista del Diagrama de Casos de Uso”, como se puede ver en la Pantalla 13.

clip_image034

Pantalla 13. Cambio de nombre al Diagrama

Una vez realizada la actividad se debe realizar doble clic en el diagrama, en la parte derecha de Rational Rose se visualizará una plantilla, en la cual se debe crear el Diagrama de Casos de Uso. Para crear el diagrama de casos de uso solo se debe arrastrar los actores y los casos de uso creados. El resultado se puede ver en Pantalla 14.

clip_image036

Pantalla 14. Casos de Uso y Actores en la Plantilla del Diagrama de Casos de Uso

La actividad final es identificar las relaciones (comunicación) que existe entre los actores y los casos de uso, para esto se debe utilizar el botón con el nombre de Unidireccional Association clip_image038, se debe hacer un clic, ya sea en el actor o en el caso de uso, y arrastrar hasta el esteriotipo donde se piense que se tiene una relación. El resultado de esta actividad se puede ver en la Pantalla 15.

clip_image040

Pantalla 15. Vista de Diagrama de Casos de Uso

En la Vista del Diagrama de Casos de Uso se puede utilizar el concepto de Generalización para los actores, ya que varios de estos utilizan un mismo caso de uso, se recomienda, para la mejor comprensión del diagrama y para el futuro del Diagrama de Clases, que solo un actor sea el que inicia un caso de uso. En la Pantalla 16 se puede observar la utilización de la Generalización para los actores.

clip_image042

Pantalla 16. Utilización del Concepto de Generalización en Actores de la Aplicación

Para utilizar la Generalización en los actores se debe utilizar el botón Generalization clip_image044, la operación para determinar la relación es similar a la de actor con un caso de uso.

De esta forma se ha creado el Modelo de Casos de Uso, en los próximos documentos se indica como describir los casos de uso, de forma tal que representen la interacción entre el actor y la aplicación.

Los próximos documentos son muy importantes, ya que son temas muy interesantes y darán una visión diferente, ya sea, para la documentación como en la planificación en un proyecto de desarrollo de software.

About these ads

3 pensamientos en “DIAGRAMA DE CASOS DE USO

  1. Felicia 26/12/2012 en 06:50 Reply

    Pretty nice post. I just stumbled upon your blog and wished
    to say that I have truly enjoyed browsing your blog posts. In
    any case I will be subscribing to your rss feed and I
    hope you write again very soon!

  2. Confusión 25/08/2012 en 09:18 Reply

    Buena explicación, pero no menciona sobre los escenarios. Tengo esa duda, y una persona que trabaja conmigo me dice que el escenario engloba los casos de uso, he revisado otras páginas web, y dan diferentes criterios… Favor su opinión.

  3. Hans 14/02/2012 en 13:25 Reply

    Excelente explicación sobre los casos de uso! Me ayudo a aclarar algunos puntos que necesitaba entender y esta explicación me ayudo de una manera sencilla y directa. Gracias por el aporte!

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

%d personas les gusta esto: