viernes, 18 de mayo de 2018

Desarrollo de Casos de Uso


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