jueves, marzo 02, 2006

caso de uso (visitar www.usecase.org)

FORMATO DE CASO DE USO EXTENDIDO con EJEMPLOS

Actor Principal: ocurre a los servicios del sistema para cumplir un objetivo

Ej.:
CAJERO

Personal Involucrado e intereses: el sistema funciona siguiendo un contrato entre el personal involucrado, donde los casos de uso detallan la parte del comportamiento del sistema en el contrato. Los casos de uso captura (trata) el comportamiento relacionado con la satisfacción de los intereses del personal involucrado

Ej.:
Cajero: quiere entradas precisas, rápidas y sin errores
Vendedor: quiere que las comisiones de las ventas estén actualizadas
Compañía: quiere registrar las transacciones con precisión y satisfacer los clientes. Quiere cierta tolerancia a fallos. Quiere actualizar automática y rápida de la contabilidad y del inventario

Precondiciones: establecen lo que siempre debe cumplirse antes de comenzar un escenario del caso de uso. No se prueban en el caso de uso sino que se asumen como verdaderos.

Ej.
El cajero se identifica y autentica

Normalmente implica un escenario de otro caso de uso que se ha completado con éxito

Post condiciones establecen que debe cumplirse cuando el caso de uso se completa con éxito la garantía debe satisfacer las necesidades de todo el personal involucrado

Ej.:
Se registra la venta. El impuesto se calcula de manera correcta. Se registran las comisiones. Se genera el recibo. Se registra las autorizaciones de pago aprobadas.

Escenario principal de éxito: describe el escenario principal de éxito típico que satisface los intereses del personal involucrado

Ej.: 96571356
1 el cliente llega al punto de venta con mercancías para cobrar
2 el cajero comienza una nueva venta
3 el cajero introduce el identificador del articulo
4 el sistema registra la línea de venta y presenta la descripción del articulo precio y suma parcial. El precio se calcula a partir de un conjunto de reglas de precio
-el cajero repite los pasos 3-4 hasta que se le indique-
5 el sistema presenta el total con los impuestos calculados
6 el cajero le dice que se le pague
7 el cliente paga y el sistema gestiona el pago
8 el sistema registra la venta completa y envía la información de la venta y el pago al sistema de contabilidad externo (para la contabilidad y las comisiones) y el pago al sistema de inventario (para actualizar el inventario)
9 el cliente se va con el recibo y las mercancías (si es el caso)

Extensiones: son muy importantes indican todos los escenarios o bifurcaciones tanto éxito como de fracaso. Es usualmente más extensa que el escenario principal

Cuestión metodológica del manejo de extensiones
-una primera extensión al paso 3 del escenario principal se etiqueta como 3a se menciona primero la condición (como algo que puede ser detectado por el sistema (Ej.: el sistema de pago externo falla VS el sistema "detecta" un fallo en la comunicación con el sistema de pago externo) y después la respuesta del sistema una siguiente extensión se etiqueta como 3b y así sucesivamente

3a identificador no valido:
1-el sistema señala el error y rechaza la entrada sigue con el flujo principal en el paso 3
3b hay muchos artículos de la misma categoría y tener en cuenta una única identidad del articulo y la cantidad
1 el cajero puede introducir el identificador de la categoría del articulo y la cantidad

- el manejo de las extensiones (respuesta) puede manejarse en uno o mas pasos

3-6a el cliente pide que se elimine uno o más artículos de la compra actual
1 el cajero introduce el identificador del articulo que va a ser eliminarlo de la compra
2 el sistema muestra la suma parcial actualizada

-cabe resaltar que al final del manejo de la extensión, por defecto se une de nuevo con el escenario de éxito a menos que la extensión diga otra cosa (como interrumpir el sistema)

Algunas veces el punto de extensión particular es bastante complejo, como en la extensión pago a crédito. Esto puede ser motivo para expresar la extensión como un caso de uso aparte. Si es deseable que se tenga una extensión que pueda ser posible durante cualquiera (o al menos la mayoría) de los pasos, se puede utilizar las etiquetas *a, *b