jueves, 28 de noviembre de 2013

Introducción a los casos de uso - Parte 2 de 2






Casos de uso adicionales

Ya ha examinado a la máquina de gaseosas desde el punto de vista de un usuario: el cliente. Hay otros usuarios que intervienen, como el proveedor que tiene que reabastecer a la máquina, el recolector de dinero (que tal vez sea el mismo que el proveedor) que tiene que recoger el dinero acumulado en la alcancía de la máquina, etcétera. Esto nos indica que debemos crear al menos dos casos de uso: “Reabastecer" y “Recolectar dinero", cuyos detalles surgirán durante las entrevistas con los proveedores y los recolectores.

Veamos el caso de uso de “Reabastecer”. El proveedor inicia este caso de uso dado que algún intervalo (digamos. dos semanas) ha pasado. El representante del proveedor le quita el seguro a la máquina (tal vez mediante una llave y un cerrojo, pero eso entra dentro de la implementación), jala la puerta para abrir la máquina, y llena el compartimiento de cada marca hasta su capacidad. El representante también rellena la reserva de moneda fraccionaria. Luego, cierra el frente de la máquina y vuelve a poner el seguro. La condición previa es el paso del intervalo, el resultado es que el proveedor cuenta con un nuevo conjunto de ventas potenciales.

Para el caso de uso de “Recolectar el dinero", el recolector inicia debido también a que ha pasado cierto tiempo. La persona deberá seguir la misma secuencia que en “Reabastecer" para abrir la máquina. El recolector sacará el dinero de la máquina y seguirá los pasos de “Reabastecer" para cerrar y poner el seguro a la máquina. La condición previa es el paso del intervalo y el resultado es el dinero en las manos del recolector. 

Vea que cuando derivamos un caso de uso, no nos preocuparnos por la forma de implementarlo. En nuestro ejemplo. no nos interesantes en los aspectos internos de la máquina de gaseosas. Tampoco por la forma en que funcione el mecanismo de refrigeración, o por la forma en que la máquina controle la cantidad de dinero que contenga. Tan sólo intentamos ver la forma en que la máquina lucirá para alguien que tenga que utilizarla.

El objetivo es derivar una colección de casos de uso que, finalmente, mostraremos a las personas que diseñen la máquina de gaseosas y a las personas que la construirán. Por añadidura. nuestros casos de uso reflejan lo que los clientes, recolectores y proveedores desean, por lo que el resultado será una máquina que todos esos grupos puedan utilizar con facilidad.


Inclusión de los casos de uso

En los casos de uso “Reabastecer" y “Recolectar dinero”, tal vez distinguió ciertos pasos en común. Ambos empezaban con abrir la máquina, y finalizaban con el cierre de la máquina y su aseguramiento. ¿Podríamos eliminar la duplicación de pasos de un caso de uso al otro?

Sí podemos. La forma de hacerlo es tomar cada secuencia de pasos en común y conformar un caso de uso adicional a partir de ellos. Combinemos los pasos necesarios para quitar el seguro” y “abrir la máquina" y llamémoslos “Exhibir el interior" y los pasos “cerrar la máquina” y “asegurarla” en otro caso de uso llamado “Cubrir el interior".

Con estos nuevos casos de uso a la mano, el caso de uso “Reabastecer" iniciaría con el caso de uso “Exhíbir el interior". Luego, el representante del proveedor seguiría los pasos ya indicados, y concluiría con el caso de uso “Cubrir el interior". De forma similar, el caso de uso “Recolectar dinero” iniciaría con “Exhibir el interior”, procedería como se indicó, y finalizaría con el caso de uso “Cubrir el interior".

Como ve, “Reabastecer” y “Recolectar dinero" incluyen los nuevos casos de uso. Por ello, a esta técnica de aprovechamiento de un caso de uso se le conoce como inclusión de un caso de uso.

La inclusión de un caso de uso también se conoce como usar un caso de uso. Creo que el término incluir tiene dos ventajas. La primera, es más clara: los pasos en un caso de uso, incluyen los de otro. La segunda, se evita la confusión potencial de las palabras "usar" y "uso" en un contexto tan estrecho. Así, no tendremos que decir "promover el uso mediante el uso reiteratívo de un caso de uso".


Extensión de los casos de uso

Es posible volver a utilizar un caso de uso de una forma distinta a una inclusión. En ocasiones crearemos un caso de uso agregándole algunos pasos a un caso de uso existente.

Regresemos al caso de uso “Reabastecef”. Antes de colocar nuevas latas de gaseosas en la máquina, suponga que el representante del proveedor nota las marcas que se han vendido bien, así como las que no se han vendido tan bien. En lugar de sólo reabastecer todas las marcas, el representante podría sacar aquellas que no se han vendido bien, y reemplazarlas por latas de las marcas que han probado ser más populares. De esta forma, tendría que indicar al frente de la máquina el nuevo surtido de marcas disponibles.

Si agregamos estos pasos a “Reabastecer”, tendremos un nuevo caso de uso que llamaríamos “Reabastecer de acuerdo a las ventas”. Este nuevo caso de uso es una extensión del original, acción a la que se le conoce como extensión de un caso de uso.


Inicio del análisis de un caso de uso

En nuestro caso, nos hemos involucrado directamente con los casos de uso y nos hemos enfocado en algunos de ellos. En el mundo real, por lo general, seguirá un conjunto de procedimientos cuando empiece un análisis de casos de uso.

Empezará con entrevistas a los clientes (y entrevistas con expertos) que lo lleven a los diagramas iniciales de clases que indicamos en la hora 3. Esto le dará cierta idea del área en la que trabajará y una familiaridad con los términos que utilizará. Posteriormente, contará con un fundamento para hablar con los usuarios.

Entrevistará a los usuarios (preferentemente en grupos) y les pedirá que le indiquen todo lo que ellos harían con el sistema que usted diseñará. Sus respuestas conformarán un conjunto candidato de casos de uso. Luego, es importante describir brevemente cada caso de uso. También tendrá que derivar una lista de todos los actores que iniciarán y se beneficiarán de los casos de uso. Cuenta más información obtenga en esta fase, aumentará su aptitud para hablar con los usuarios en su propio idioma.

Los casos de uso aparecerán en varias fases del proceso de desarrollo. Le ayudarán con el diseño de una interfaz del usuario, coadyuvarán con las opciones de desarrollo de los programadores y establecerán las bases para probar el sistema recién generado.

Para mayor información en el tema del análisis de los casos de uso, va a tener que aplicar el UML, y ello se hará en la siguiente hora.


Resumen

El caso de uso es una estructura para describir la forma en que un sistema lucirá para los usuarios potenciales. Es una colección de escenarios iniciados por una entidad llamada actor (una persona, un componente de hardware, un lapso u otro sistema). Un caso de uso debería dar por resultado algo de valor ya sea para el actor que lo inició o para otro.

Es posible volver a utilizar casos de uso. Una forma (“inclusión”) es utilizar los pasos de un caso de uso como parte de la secuencia de pasos de otro caso de uso. Otra forma (“extensión”) es crear un nuevo caso de uso mediante la adición de pasos a un caso de uso existente.

La entrevista directa con los usuarios es la mejor técnica para derivar casos de uso. Cuando se deriva un caso de uso, es importante destacar las condiciones para iniciar el caso de uso, y los resultados obtenidos como consecuencia del mismo.

Hará las entrevistas a los usuarios después de entrevistar a los clientes y generar una lista de prospectos de clases. Esto le dará un fundamento en la terminología que utilizará para hablar con los usuarios. Es una buena idea entrevistar a un grupo de usuarios. El objetivo es derivar un conjunto candidato de casos de uso y todos los posibles actores.


Preguntas y respuestas

P: En realidad ¿para qué necesito el concepto del caso de uso? ¿Qué no sólo podríamos preguntar a los usuarios lo que deseen ver en el sistema y dejarlo así?

R: En realidad, no. Tenemos que crear una estructura de lo que los usuarios nos digan, y los casos de uso la proporcionan. La estructura se vuelve útil cuando tiene que llevar los resultados de sus entrevistas con los usuarios y comunicarlos a los clientes y desarrolladores.

P: ¿Qué tan difícil es derivar los casos de uso?

R: De acuerdo con mi experiencia, el listado de casos de uso -al menos los de alto nivel- no es muy complejo. Hay ciertas dificultades al profundizar en cada una e intentar lograr que los usuarios listen los pasos de cada escenario. Cuando genere un sistema que reemplace una manera existente de hacer las cosas, los usuarios típicamente ya sabrán los pasos bastante bien y los habrán utilizado con tanta regularidad que se les dificultará estructurarlos. Es una buena idea tener un panel de usuarios, ya que la discusión en grupo por lo general trae consigo ideas que un usuario en particular podría tener problemas para expresar.


Taller

Esta hora se basó en teoría más que en el UML. En este taller, el objetivo será comprender los conceptos teóricos y aplicarlos en diversos contextos. La práctica, que veremos en la siguiente hora, le ayudará a reafirmar los conceptos cuando aprenda a visualizarlos mediante el UML. Las respuestas aparecen en el Apéndice A, “Respuestas a los cuestionarios”.


Cuestionario

l. ¿Cómo se llama a la entidad que inicia un caso de uso?
2. ¿Qué se entiende con “incluir un caso de uso”?
3. ¿Qué se entiende con “extender un caso de uso”?
4. ¿Un caso de uso es lo mismo que un escenario?


Ejercicios

1. En el caso del ejemplo de la máquina de gaseosas, cree otro caso de uso que incluya a los casos de uso “Exhibir el interior” y “Cubrir el interior”.

2. Los casos de uso pueden ayudarle a analizar un negocio y un sistema. Imagine a una gran tienda de equipos de cómputo que venda hardware, periféricos y software. ¿Quiénes serían los actores? ¿Cuáles serían algunos de los principales casos de uso? ¿Cuáles serían algunos de los escenarios dentro de cada caso de uso‘? 


Espero haber ayudado en algo. Hasta la próxima oportunidad!






No hay comentarios:

Publicar un comentario en la entrada