jueves, 12 de abril de 2012

CASOS DE USO  Y  UML


En el UML, los casos de uso son los principales medios para capturar la funcionalidad del
sistema desde la perspectiva del usuario y muchas veces puede remplazar al documento
"requisitos funcionales".

Introducción al UML

El Lenguaje Unificado de Modelado (UML) es, tal como su nombre lo indica, un lenguaje
de modelado y no un método o un proceso. El UML está compuesto por una notación muy
específica y por las reglas semánticas relacionadas para la construcción de sistemas de
software. El UML en sí mismo no prescribe ni aconseja cómo usar esta notación en el
proceso de desarrollo o como parte de una metodología de diseño orientada a objetos.

El UML soporta un conjunto rico en elementos de notación gráficos. Describe la notación
para clases, componentes, nodos, actividades, flujos de trabajo, casos de uso, objetos,
estados y cómo modelar la relación entre esos elementos. El UML también soporta la idea
de extensiones personalizadas a través elementos estereotipados.

El UML provee beneficios significativos para los ingenieros de software y las
organizaciones al ayudarles a construir modelos rigurosos, trazables y mantenibles, que
soporten el ciclo de vida de desarrollo de software completo.

Este artículo se enfoca en la representación funcional de los requisitos en UML utilizando
Casos de Uso.

En los libros mencionados en la sección de lectura recomendada se puede encontrar más
información sobre el UML y de los documentos de especificación del UML que se pueden
encontrar en las paginas de recursos de UML del OMG (Object Management Group)
www.omg.org/technology/uml/ y www.omg.org/technology/documents/formal.


Modelando la Funcionalidad del Sistema con Casos de Uso

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 de trabajo significativo; por ejemplo crear una
solicitud y modificar una solicitud son todos Casos de Uso.

Cada Caso de Uso tiene una descripción que especifica la funcionalidad que se incorporará
al sistema propuesto. Un Caso de Uso puede 'incluir' la funcionalidad de otro Caso de Uso o
puede 'extender' otro Caso de Uso con su propio comportamiento.

Los casos de uso típicamente se relacionan con 'actores'. Un actor es un humano o una
máquina que interactúa con el sistema para realizar un trabajo significativo.

La Notación de Caso de Uso

Los diagramas de están generalmente compuestos por uno o más actores vinculados con
uno o más casos de uso, como en el diagrama siguiente.





El Caso de Uso

Un Caso de Uso es una representación de una unidad discreta de trabajo realizada por un
usuario (u otro sistema) usando el sistema en operación. Se ejecuta en su totalidad o no se
ejecuta nada, devolviendo algo de valor al usuario. Algunos ejemplos de casos de uso son
AgregarPedido, EliminarPedido, ModificarPedido, etc.

Una descripción de Caso de Uso generalmente incluirá:

Comentarios generales y notas que describen el Caso de Uso;
Requisitos: cosas que el Caso de Uso debe permitir hacer al usuario, tales como <capacidad
de actualizar orden>, <capacidad de modificar orden>, etc.
Restricciones: las reglas sobre qué se puede hacer y qué no se puede. Incluyen
precondiciones que tienen que ser verdaderas antes de que se ejecute el Caso de Uso (por
ejemplo <crear orden> debe preceder a <modificar orden>); también incluyen Post-
condiciones que tienen que ser verdaderas una vez que el Caso de Uso se ejecutó (por ejemplo <la orden está modificada y es consistente>); Invariantes: son siempre verdaderos
(por ejemplo, una orden debe tener siempre un número de cliente).
Escenarios: descripciones secuenciales de los pasos que se llevan a cabo para ejecutar un
Caso de Uso. Puede incluir múltiples escenarios para abarcar las circunstancias
excepcionales y los caminos de procesamiento alternativos.

Diagramas de escenarios: diagramas de secuencia para representar el flujo; semejante al 4,
pero plasmado gráficamente.


Actores



Un actor es un usuario del sistema. Esto incluye usuarios humanos y otros sistemas
computacionales. Un actor usa un Caso de Uso para ejecutar una porción de trabajo de valor
para el negocio. El conjunto de casos de uso al que un actor tiene acceso define rol en el
sistema y el alcance de su acción.

Restricciones, requisitos y escenarios

La especificación formal de un Caso de Uso incluye 3 elementos básicos:

Requisitos. Son los requisitos funcionales formales que el Caso de Uso debe proveer al
usuario final. Ellos corresponden a las especificaciones funcionales de las metodologías
estructuradas. Un requisito es un contrato de que el Caso de Uso realizará alguna acción o
proveerá algún valor al sistema.

Incluye y Extiende

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>.

No hay comentarios:

Publicar un comentario