Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CONCEPTO
Un factor importante al crear casos de uso es que se hace sin especificar cómo
el caso de uso se implementa. Por ejemplo, se puede especificar cómo un
sistema de cajero bancario debería comportarse al enunciar en casos de uso de
la manera en que los usuarios interactúan con el sistema. No se necesita saber
nada acerca de los aspectos internos del cajero. Los casos de uso especifican
el comportamiento deseado, no dictan cómo debe llevarse a cabo el
comportamiento. Lo importante de este enfoque es que permite (al usuario final
y experto del dominio) comunicarse con los desarrolladores (quienes construyen
sistemas para satisfacer tus requerimientos) sin quedar atrapado en detalles.
Esos detalles llegarán, pero los casos de uso permiten enfocarse en aspectos
de alto riesgo para desarrollar el sistema.
Los casos de uso se pueden aplicar al sistema completo, pero también a una
parte del sistema, incluyendo subsistemas y aún clases individuales e interfaces.
En cada caso, estos casos de uso no sólo representan el comportamiento
deseado de estos elementos, sino que también pueden ser usados como una
base para casos de prueba de estos elementos conforme evolucionan en el
desarrollo. Los casos de uso aplicados a subsistemas son fuentes excelentes
de pruebas de regresión. Los casos de uso aplicados a los subsistemas son
fuentes excelentes de pruebas de integración y de sistema. El UML, proporciona
una representación gráfica de un caso de uso y un actor, como lo muestra la
figura 1. Esta notación permite visualizar un caso de uso independiente de su
implementación y en el contexto de otros casos de uso.
ELEMENTOS DE CASO DE USO
LIMITE DEL SISTEMA
agrupa casos de uso dentro de un mismo sistema. Útil cuando tenemos varios
sistemas / subsistemas.
EXTENDED
La polémica al querer seleccionar una de las dos relaciones es que en el “extend”
también podemos ver, desde la perspectiva del usuario, a los dos flujos como si
fueran uno sólo. Y en ciertos escenarios el caso de uso base no podría cumplir
su objetivo si no se ejecutara la extensión. Pero, una de las diferencias básicas
es que en el caso del “extend” hay situaciones en que el caso de uso de
extensión no es indispensable que ocurra, y cuando lo hace ofrece un valor extra
(extiende) al objetivo original del caso de uso base. En cambio, en el “include”
es necesario que ocurra el caso incluído, tan sólo para satisfacer el objetivo del
caso de uso base. Ejemplo: Puedes “Realizar Venta” sin “Acumular Puntos de
Cliente VIP”, cuando no eres un cliente VIP. Pero, si eres un cliente VIP sí
acumularás puntos. Por lo tanto, “Acumular Puntos” es una extensión de
“Realizar Venta” y sólo se ejecuta para cierto tipo de ventas, no para todas.