lunes, 15 de agosto de 2011

Casos de Uso: ¿Cuando usar casos de uso? ¿Son suficiente para especificar requerimientos?

Los casos de uso son una herramienta genial para modelar sistemas, pero ¿cómo saber cuando esta herramienta es la adecuada? ¿Acaso son la única herramienta disponible?

Pues no siempre los casos de uso son lo más adecuado para especificar requerimientos. En el caso de las ciencias de la computación, son un método muy utilizado. Pero en algunos casos, no logran proveer a los desarrolladores toda la información que necesitan para crear un sistema.

¿Cuando son los casos de uso insuficientes?

Los casos de uso son métodos que funcionan muy bien para modelar sistemas que tienen mucha interacción con el usuario. Esto salta a la vista, ya que es un modelo que básicamente lo que hace es reflejar las interacciones sistema-usuario.

En sistemas basados en eventos del entorno que accionan software o hardware, o en sistemas que tienen su dificultad en la complejidad e intensividad de computación (aplicaciones científicas y de computaciones matemáticas, por ejemplo), los casos de uso llegan a expresar muy poco sobre el software a desarrollar. Otros sistemas con ese mismo problema al ser representados mediante casos de uso son los sistemas relacionados con data warehouses o sistemas dependientes de tiempo.

¿Que otras herramientas existen para complementar los casos de uso?

Muchas veces en estos casos en los cuales los casos de uso son insuficientes, podemos utilizar herramientas extra, que logren proveer a los desarrolladores de toda la información que necesitan al comenzar la creación de los sistemas. Una herramienta muy usada en casos de sistemas dependientes de tiempo, son las tablas de eventos, en las cuales se pueden registrar los eventos triggers, los estados iniciales del sistema antes de que un evento se dé, los estados finales del sistema luego de un evento, y las respuestas del sistema a cada evento.

Además, debemos recordar que en ningún caso los requerimientos funcionales en un proyecto pueden ser reemplazados por los casos de uso. Estos últimos solo son usados para detallar, ejemplificar y facilitar la comprensión de los requerimientos de un sistema. Por esto, podemos tomar los requerimientos y utilizarlos junto con los casos de uso. Para que los desarrolladores puedan comprender de manera correcta, los analistas deberán plantear estos requerimientos mediante un enfoque de agrupación de requerimientos, y mantener una fluída comunicación con los desarrolladores, para que puedan responder cualquier duda que surja durante el proceso de implementación del modelo que se utilice.


-----
Basado en el libro de Wiegers, More About Software Requirements (2006)

No hay comentarios:

Publicar un comentario