martes, 13 de octubre de 2009

Casos de Uso

Los casos de uso no son parte del diseño (Cómo) sino parte del análisis (Qué), de manera que nos ayudan a describir qué es lo que el sistema debe hacer. Cada caso de uso proporciona uno o más escenarios que indican cómo debería interactuar el sistema con el usuario o con otro sistema para conseguir un objetivo específico.Considérese un procesador de texto, dos casos de uso típico serían: "poner texto en negrita" y "crear índice" , por medio de estos ejemplos , se puede uno dar una idea de ciertas propiedades de los casos de uso :
  • El caso de uso capta alguna función visible para el usuario.
  • El caso de uso puede ser pequeño o grande.
  • El caso de uso logra un objetivo discreto para el usuario.
En su forma más simple el caso de uso se obtiene hablando con los usuarios habituales y analizando con ellos las distintas cosas que deseen hacer con el sistema.
Se debe abordar cada cosa discreta que quieran , darle un nombre y escribir un testo descriptivo breve (sólo unos cuantos párrafos).
No trate de obtener todos los detalles justo desde el principio, los podrá obtener cuando los necesite.
Sin embargo, si considera que un caso de uso dado tiene ramificaciones arquitectónicas de importancia, necesitará más detalles a la mano.
Lo realmente útil de los casos de uso es el documento que describe el caso de uso, en este documento se explica la forma de interactuar entre el sistema y el usuario.
Siguiendo con el procesador de texto, este podría ser el caso de uso de guardar un documento:

Nombre: Guardar Documento
Autor: jlrvpuma
Fecha: 14/10/2009
Descripción:
Permite guardar un documento en el disco duro o cualquier medio de almacenamiento
Actores:
Usuario del procesador de texto
Precondiciones:
El usuario debe haber creado el documento
Flujo Normal:
  1. El actor pulsa sobre el botón para guardar el documento
  2. El sistema muestra una caja de texto para introducir el título del documento y una zona de mayor tamaño donde se muestra el árbol de directorios del sistema para elegir el directorio dónde sera guardado el documento
  3. El actor introduce el título del documento y elige el directorio donde se guardará el documento.
  4. El sistema comprueba la validez de los datos y los almacena.
Flujo Alternativo:
  1. El sistema comprueba la validez de los datos, si los datos no son correctos, se avisa al actor de ello permitiéndole que los corrija
Poscondiciones:
El documento ha sido almacenado o guardado

Me he saltado los campos Nombre,Autor,Fecha,Descripción ya que son evidentes y no necesitan explicación
Los actores son aquellos que interactúan con el sistema. Las precondiciones son los hechos que se han de cumplir para que el flujo de evento se pueda llevar a cabo.El flujo normal corresponde a la ejecución normal y exitosa del caso de uso.Los flujos alternativos permiten indicar que es lo que hará el sistema en situaciones anormales o inesperadas.Por ultimo, las poscondiciones son los hechos que se han de cumplir si el el flujo de eventos normal se ha ejecutado normalmente.
Los casos de uso se pueden detallar mas o menos dependiendo del problema.
Cabe señalar que el documento del caso de uso mostrado es incompleto, puedes ver una plantilla de caso de uso completa AQUI, se les suele llamar casos de uso "full-dressed".

Diagramas de Casos de Uso
UML define una notación gráfica para realizar diagramas de casos de uso.Los diagramas de casos de uso son a menudo confundidos con los casos de uso. Mientras los dos conceptos están relacionados, los casos de uso son mucho más detallados que los diagramas de casos de uso.Cuando empiezas a tener un número considerable de casos de uso como el anterior, no resulta nada fácil situarlos y relacionarlos. Entonces empiezas a tener la necesidad de una visión general del asunto, y ahora si, es cuando los diagramas de casos de uso son de utilidad.
Los casos de uso están representados por elipses y los actores están representados por las figuras humanas, estas son al notación estándar de los actores, sin embargo, algunos utilizan otras figuras como una imagen de un computador por ejemplo, para representar un actor.
La figura siguiente muestra algunos de los casos de uso de un sistema de financiamiento : (extraído del libro UML Gota a Gota)



Hay cuatro actores en la figura: el gerente de comercio, el comerciante, el agente de ventas y el sistema de contabilidad.En la mencionada organización probablemente habrá diversos comerciantes.Además, un usuario puede desempeñar varios papeles.Por ejemplo, un comerciante de edad madura podría desempeñar el papel de gerente de comercio y además ser un comerciante normal.Por otra parte, un comerciante puede ser también agente de ventas.Cuando se trata con actores, conviene pensar en los papeles o roles, no en las personas ni en los títulos de sus puestos.
Los actores llevan a cabo casos de uso.Un mismo actor puede realizar muchos casos de uso;a la inversa, un caso de uso puede ser realizado por varios actores.Obsérvese que no es necesario que los actores sean seres humanos, a pesar que estén representados por figuras humanas en el diagrama del caso de uso.El actor puede ser también un sistema externo que necesita información del sistema actual.En la figura se puede apreciar la necesidad de actualizar cuentas (caso de uso: actualiza cuentas) del sistema de contabilidad.
Además de los vínculos entre los actores y los casos de uso, hay otros tipos de vínculos en el diagrama de casos de uso del sistema de financiamiento.Estos representan las relaciones de uses y extends entre los casos de uso.

Se usa la relación uses cuando es necesario que el caso de uso original haga uso de otro caso de uso, como en la figura de arriba, tenemos el caso de uso Analiza Riesgo, este caso de uso hace uso del caso de uso Valuación, le es necesario para cumplir su tarea, bien podría ir Valuación dentro de Analiza Riesgo, es decir hacer un solo caso de uso, pero eso hará mas oscuro el caso de uso y lo que se busca es simplificar.
La relación extends se usa cuando el caso de uso original tiene como extensión otro caso de uso, sin necesario su utilización, se podría decir que enriquece al caso de uso original; piénsese, para darse una idea, en las extensiones de firefox...

No hay comentarios:

Publicar un comentario