En un libro que analiza la
manera de escribir casos de uso eficaces, Alistair Cockburn [COC01] menciona
que “un caso de uso captura un contrato…[que] describe el comportamiento del
sistema en diferentes condiciones mientras éste responde a la petición de uno
de sus usuarios”. En esencia, un caso de uso cuenta una historia estilizada de
la manera en que un usuario final (el cual desempeña uno de varios papeles
posibles) interactúa con el sistema en un conjunto especifico de
circunstancias. La historia puede ser un texto narrativo, un esquema de tareas
o interacciones, una descripción basada en una plantilla o una representación
por medio de diagramas. Sin importar su forma, un caso de uso muestra el
software o sistema desde el punto de vista del usuario final.
El primer paso al escribir un caso de uso
consiste en definir el conjunto de “actores” que estarán involucrados en la
historia. Los actores son las diferentes personas (o dispositivos) que utiliza
el sistema o producto dentro del contexto de la función y el comportamiento que
se describirá. Los actores representan los papeles que juegan las personas (o
dispositivos) conforme el sistema opera. Definido de una manera más formal, un
actor es algún elemento que se comunica con el sistema o producto y que es
externo al sistema en sí mismo. Cada actor tiene una o más metas cuando utiliza
el sistema.
Es importante señalar que un actor y un
usuario final no son necesariamente lo mismo. Un usuario típico puede
desempeñar varios papeles al usar un sistema, mientras que un actor representa
una clase de entidad externa (con frecuencia, pero no siempre, una persona) que
desempeña sólo un papel en el contexto del caso de uso. Como un ejemplo,
considérese al operador de una máquina (un usuario) que interactúa con la
computadora de control para una célula de manufactura que contiene varios robots
y máquinas de control numérico. Después de la revisión cuidadosa de los
requisitos, el software para la computadora de control requiere cuatro
diferentes modos (actores) para su interacción: modo de programación, modo de
prueba, modo de monitoreo y modo de resolución de problemas. Por lo tanto, se
pueden definir cuatro actores: el programador, el que realiza las pruebas, el
que monitorea y el que resuelve el problema. En algunos casos el operador de la
máquina puede desempeñar todos estos papeles. En otras situaciones, son
personas diferentes las que pueden desempeñar el papel de cada actor.
Como la obtención de
requisitos es una actividad evolutiva, no todos los actores se identifican
durante la primera iteración. Durante ésta es posible identificar los actores
primarios [JAC92], mientras que los actores secundarios se identifican conforme
se aprende más acerca del sistema. Los actores primarios interactúan para
lograr la función requerida del sistema y obtienen el beneficio que se espera
de éste. Ellos trabajan de manera directa y frecuente con el software. Los
actores secundarios dan soporte al sistema de manera que los actores primarios
puedan hacer su trabajo.
Ya identificados los actores pueden
desarrollarse los casos de uso, Jacobson [JAC92] sugiere varias preguntas que
se deberían contestar mediante un caso de uso.
- · ¿Quién(es) es(son) el(los) actor(es) primario(s)?
- · ¿Cuáles son las metas del actor?
- · ¿Cuáles son las condiciones previas que deben existir antes de comenzar la historia?
- · ¿Cuáles son las tareas o funciones principales que realiza el actor?
- · ¿Cuáles excepciones podrían considerarse mientras se describe la historia?
- · ¿Cuáles son las variaciones posibles en la interacción del actor?
- · ¿Cuál es la información del sistema que el actor adquirirá, producirá o cambiará?
- · ¿el actor tendrá que informar al sistema acerca de cambios en el medio ambiente externo?
- · ¿Cuál es la información que el actor desea del sistema?
- · ¿el actor quiere ser informado acerca de cambios inesperados?
No hay comentarios.:
Publicar un comentario