|
El modelo de casos de uso describe la funcionalidad propuesta del nuevo sistema. Un caso de uso representa una unidad discreta de interacción entre un usuario (humano o máquina) y el sistema. Un Caso de Uso es una unidad simple de trabajo significativo; por ejemplo, "Validarse en el sistema", "Registrarse en el sistema" y "Crear un pedido" son todos casos de uso.
Cada caso de uso tiene una descripción que describe la funcionalidad que se construirá en el sistema propuesto. Un caso de uso puede "incluir" la funcionalidad de otro caso de uso o "extender" a otro caso de uso con su propio comportamiento.
Una descripción de caso de uso generalmente incluirá:
- Comentarios generales y notas describiendo el caso de uso
- Requisitos -cosas que
el caso de uso debe permitir hacer al usuario,
tales como <capacidad para actualizar
pedido>, <capacidad para modificar
pedido>, etc.
- Restricciones -reglas acerca de qué se puede y qué no se puede hacer-. Incluye:
- Pre-condiciones que deben ser verdaderas antes de que el
caso de uso se ejecute, por ejemplo <crear
pedido> debe preceder a <modificar
pedido>
- Post-condiciones que deben
ser verdaderas una vez que el caso de uso
se ejecutó, por ejemplo <el pedido
está modificado y es consistente>
- invariantes: éstas son siempre
verdaderas -por ejemplo, un pedido debe tener
siempre un número de cliente.
- Escenarios -descripciones
secuenciales de los pasos que se toman para
llevar a cabo el caso de uso. Pueden incluir
escenarios múltiples, para satisfacer
circunstancias excepcionales y caminos de
proceso alternativos
- Diagramas de escenarios
-diagramas de secuencia para describir el
flujo de trabajo- similar al punto 4 pero
descrito gráficamente.
- Atributos adicionales
como fase de implementación, número
de versión, rango de complejidad,
estereotipo y estado
Actores
Un actor es un usuario del sistema. Incluye usuarios
humanos y otros sistemas computarizados. Un
actor usa un caso de uso para desempeñar
alguna porción de trabajo que es de
valor para el negocio. El conjunto de casos
de uso al que un actor tiene acceso define
su rol global en el sistema y el alcance de
su acción.
Relaciones de Inclusión y Extensión entre Casos de Uso
Un Caso de Uso puede incluir la funcionalidad
de otro como parte de su procesamiento normal.
Generalmente se asume que los casos de uso incluidos
se llamarán cada vez que se ejecute el
camino base. Un ejemplo puede ser listar un conjunto
de órdenes de clientes de las cuáles
poder elegir antes de modificar una orden seleccionada;
en este caso, el Caso de Uso <listar órdenes> se
puede incluir en el Caso de Uso <modificar
orden> cada vez que éste se ejecute.
Un Caso de Uso puede ser incluido por uno o más
casos de uso, ayudando así a reducir la
duplicación de funcionalidad al factorizar
el comportamiento común en los casos de
uso que se reutilizan muchas veces.
Un Caso de Uso puede extender el comportamiento
de otro Caso de Uso; típicamente cuando
ocurren situaciones excepcionales. Por ejemplo,
si antes de modificar un tipo particular de orden
de cliente, un usuario debe obtener la aprobación
de alguna autoridad superior, entonces el Caso
de Uso <obtener aprobación> puede
extender opcionalmente el Caso de Uso normal <modificar
orden>.
Diagrama de Secuencia
El UML provee un medio
gráfico para representar la interacción
entre los objetos a lo largo del tiempo en los
diagramas de secuencia. Éstos muestran
típicamente a un usuario o a un actor
y los objetos y componentes con los que interactúen
durante la ejecución de un Caso de Uso.
Un diagrama de secuencia representa típicamente
un único escenario de Caso de Uso o flujo
de eventos.
Los diagramas son una vía excelente para
documentar los escenarios de uso, para capturar
los objetos necesarios de manera temprana en
el análisis y para verificar el uso de
los objetos más tarde en el diseño.
Los diagramas de secuencia muestran el flujo
de mensajes de un objeto a otro y, como tales,
representan los métodos y los eventos
soportados por un/a objeto/clase.
El diagrama ilustrado abajo muestra un ejemplo
de un diagrama de secuencia, con el usuario o
actor a la izquierda iniciando un flujo de eventos
y mensajes que corresponden al escenario del
caso de uso. Los mensajes que pasan entre objetos
se convertirán en operaciones de clases
en el modelo final.

Diagrama de Implementación
Un Caso de Uso es una
descripción formal de la funcionalidad
que el sistema tendrá cuando se construya.
Un diagrama de implementación se asocia
típicamente con un caso de uso para documentar
qué elementos de diseño (por ejemplo,
componentes y clases) implementará la
funcionalidad del Caso de Uso en el nuevo sistema.
Esto provee un alto grado de trazabilidad al
diseñador, al cliente y al equipo que
construirá el sistema. La lista de casos
de uso a los que se asocia un componente o una
clase documenta la funcionalidad mínima
que debe ser implementada por el componente.
El ejemplo de arriba muestra
que el caso de uso "Acceso" implementa
el requisito formal "1.01 Acceder al sitio
web". También establece que el componente
de lógica de negocios y el componente
de páginas ASP implementan alguna parte
o toda la funcionalidad de "Acceso".
Un refinamiento adicional es mostrar la pantalla
de "Acceso" (una página web)
como una implementación de su interfaz.
Estos enlaces de implementación o realización
definen la trazabilidad desde los requisitos
formales, a través de casos de uso, a
componentes y pantallas.
|