Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Universidad de Valparaíso
Facultad de Ciencias Económicas y Administrativas Reflexión Inicial
Escuela de Ingeniería Comercial
Ninguna otra parte del trabajo conceptual es tan difícil como establecer los
requerimientos técnicos detallados, incluyendo todas las interfaces con gente,
“UML: Casos de Uso” máquinas, y otros sistemas…
Ninguna otra parte del trabajo afecta tanto al sistema si es hecha mal…
Introducción Introducción
Conceptos (1) Conceptos (2)
- Ningún sistema se encuentra aislado. Cualquier sistema interactúa con actores - Un caso de uso es una descripción de un conjunto de secuencias de
humanos o mecánicos que lo utilizan con algún objetivo. acciones, incluyendo variantes, que ejecuta un sistema para producir un
resultado observable de valor para un actor.
- Los Casos de Uso describen bajo la forma de acciones y reacciones el
comportamiento de un sistema desde el punto de vista del usuario. - Un caso de uso involucra la interacción de actores y el sistema u otros sujetos.
- Permiten definir los límites del sistema y las relaciones entre el sistema y el - A nivel de sistemas, un caso de uso describe un conjunto de secuencias,
entorno. donde cada secuencia representa la interacción de los elementos externos al
sistema (sus actores) con el propio sistema.
- Los Casos de Uso particionan el conjunto de necesidades atendiendo a la
categoría de usuarios que participan en el mismo. - En realidad, estos comportamientos son funciones a nivel del sistema que se
utilizan durante la captura de requisitos y el análisis, para visualizar,
- Están basado en el lenguaje natural, es decir, son entendibles por los especificar, construir y documentar el comportamiento esperado del sistema.
usuarios.
- Un caso de uso representa un requisito funcional del sistema global.
- Los casos de uso son independientes del método de diseño que se utilice.
- Normalmente, un actor representa un rol que es desempeñado por una - Los actores se representan como “siluetas humanas” o también llamados
persona, un dispositivo hardware, o incluso, otro sistema al interactuar con el “monigotes”.
nuestro.
- Por ejemplo, si una persona trabaja para un banco, un rol podría ser Actor denominado
ResponsablePrestamos. "Cliente"
- Una instancia de un actor, por lo tanto, representa una interacción individual Cliente
con el sistema de una forma específica.
- Aunque se utilizan actores en los modelos, éstos no forman parte del sistema
(están fuera de la aplicación, en el entorno que lo rodea).
Conceptos Conceptos
Actores (3) Casos de Uso (1)
- Se pueden definir categorías generales de actores (como Cliente), y - Un caso de uso describe qué hace un sistema (o un subsistema), pero no
especializarlos (como ClienteComercial), a través de relaciones de especifica el cómo lo hace.
generalización.
- Cuando se modela, es importante tener clara la separación de intereses entre
las vistas externa e interna.
- Cada caso de uso debe tener un nombre que lo distinga del resto.
Actor Actor
Cliente Comercial
Realizar venta
Solicitar servicio
Cliente
Nombre simple Nombre calificado
Conceptos Conceptos
Casos de Uso y Flujo de Eventos (1) Casos de Uso y Flujo de Eventos (2)
- El comportamiento de un caso de uso se puede especificar describiendo un - Flujo de eventos principal: El caso de uso comienza cuando el sistema pide
flujo de eventos de forma textual, lo suficientemente claro para que alguien al Cliente un número de identificación personal (PIN). El Cliente puede
ajeno al sistema lo entienda fácilmente. introducir un PIN a través del teclado. El Cliente acepta la entrada pulsando el
botón Enter. El sistema comprueba entonces este PIN para ver si es válido. Si
- Cuando se escribe este flujo de eventos, se debe incluir cómo empieza, el PIN es válido, el sistema acepta la entrada, y así acaba el caso de uso.
cuándo empieza, y en qué instante el caso de uso, cuándo interactúa con los
actores, y qué objetos (variables) se intercambian. - Flujo de eventos excepcional: El Cliente puede cancelar una transacción en
cualquier momento, pulsando el botón Cancelar, y de esta forma, reinicia el
- Se definen dos tipos de flujos: el flujo básico, y los flujos alternativos del caso de uso. No se efectúa ningún cambio a la cuenta del Cliente.
comportamiento.
- Flujo de eventos excepcional: El Cliente puede borrar un PIN en cualquier
- Por ejemplo, en el contexto de un cajero automático, se podría describir (de momento antes de introducirlo, y volver a teclear un nuevo PIN.
manera narrativa) el caso de uso ValidarUsuario de la siguiente forma:
- Flujo de eventos excepcional: Si el Cliente introduce un PIN inválido, el caso
de uso vuelve a empezar. Si esto ocurre tres veces en una sesión, el sistema
cancela la transacción completa, lo que impide que el Cliente pueda realizar
algún tipo de operación.
Conceptos Conceptos
Especificación Formal de Casos de Uso (3) Especificación Formal de Casos de Uso (4)
Caso de Uso Realizar Venta Escenario 7a. Cliente paga en efectivo
Alternativo 7a1. El Cajero ingresa el monto de efectivo entregado por el cliente.
Objetivo Permitir el concretar una venta en una sala de ventas.
7a2. Sistema presenta el monto de vuelto y abre la caja de dinero.
Actor Primario Cajero 7a3. El Cajero deposita el efectivo, extrae el vuelto y lo pasa al Cliente.
7a4. Sistema almacena el pago en efectivo
Participantes e Intereses - Cajero: preciso y rápido ingreso, pago sin errores, ya que estos se deducen de su salario.
7b. Cliente paga con Tarjeta de Crédito
- Cliente: compra rápida con mínimo esfuerzo, boleta para eventuales devoluciones.
7b1. El Cajero ingresa tarjeta de crédito en el sistema.
- Compañía: almacenamiento preciso de las transacciones, satisfacción del cliente, etc.
7b2. El sistema verifica internamente su validez, y entrega los recibos de la compra.
Precondiciones El Cajero ha sido identificado y autentificado como tal. 7b3. El Cliente entrega recibo firmado por el valor total de compra.
7b4. El Cajero ingresa el recibo firmado.
Poscondiciones - La venta es registrada.
7b5. El sistema almacena el pago con tarjeta de crédito.
- El impuesto es calculado.
- El sistema contable recibe la información de la operación. Excepciones 3a. Identificador inválido
- Se actualiza el inventario. 3a1. El Sistema indica error y rechaza el ingreso.
3b. Hay varios artículos del mismo producto (no existe una identificación individual del artículo)
Escenario 1. El Cliente llega a la caja con productos o servicios que desea comprar.
3b1. El Cajero puede ingresar el identificador y la cantidad
Principal (Flujo básico) 2. El Cajero empieza una nueva venta.
6a.Cliente solicita al Cajero sacar un artículo de la compra.
3. El Cajero ingresa el identificador del artículo.
6a1. El Cajero ingresa el identificador del artículo para su eliminación.
4. El Sistema almacena la línea de venta del artículo y presenta la descripción y el precio
6a2. Sistema muestra el total actualizado.
del artículo, y el total actualizado de la compra. El precio es calculado de acuerdo a un
6b.Cliente solicita al Cajero que cancele la Venta.
conjunto de reglas de precio. El Cajero repite pasos 3,4 hasta indicar el término.
6b1. El Cajero cancela la venta en el Sistema.
5. El Sistema presenta el total.
6. El Cajero comunica al Cliente el total y solicita su pago. Requerimientos - Interfaz de usuario desplegada en pantalla grande. Texto debe ser visible a 1 mt. de distancia.
7. El Cliente paga y sistema maneja su pago. Especiales - Las autorizaciones de tarjeta de crédito deben realizarse dentro de 30 segundos, el 90%
8. El Sistema almacena la venta terminada y envía la venta y la información del pago al de las veces.
sistema externo de contabilidad y al sistema de inventario.
Aspectos - Explorar la reiteración de fallas de servicios remotos (contabilidad, inventario, autorización
9. El sistema genera recibo.
Pendientes de crédito).
10. El Cliente se va con los productos y el recibo.
11. El Caso de uso termina. Frecuencia de Frecuente
Ocurrencia
Validar usuario
<<include>>
Seguir pedido
«include»
<<extend>>
- La mayoría de las veces, esto implica modelar el contexto del sistema o Hacer Pedido
Hacer Pedido
subsistema, o el modelado de los requisitos de comportamiento de ellos. «extend» Urgente
Cliente
«include»
- Son importantes para visualizar, especificar y documentar el comportamiento.
• Factoriza las variantes, colocando ese comportamiento en otros casos de uso que
lo extienden.
• Una parte importante, es nunca perder la noción de que los casos de uso deben
de ser hechos desde el punto de vista del usuario.