Modelado de Casos de Usos (página 2)

: Cajero
:Sistema
* introducirItem(upc,cantidad)
finalizarVenta()
hacerPago(cantidad)
Cajero
Realizar Venta
Cliente
crearNuevaVenta()
Interacciones
Ejemplo de diagrama de casos de uso
Ejemplo diagrama de casos de uso
Actores Secundarios
Actor Principal
Ejemplo diagrama de casos de uso
Reservar Libro
Préstamo Libro
Devolver libro
Socio
Extender Préstamo
Préstamo revista
Profesor
Devolver revista
Bibliotecario
Actualizar catalogo
Socio
Consultar
Casos de uso y Colaboraciones
Con un caso de uso se describe un comportamiento esperado del sistema, pero no se especifica cómo se implementa.
Una caso de uso se implementa a través de una colaboración:
“Sociedad de clases y otros elementos que colaborarán para realizar el comportamiento expresado en un caso de uso”
Una colaboración tiene una parte estática (diagramas de clases) y una parte dinámica (diagramas de secuencia).
Casos de uso y Colaboraciones
Hacer Pedido
Gestión Pedidos
caso de uso
colaboración
realización
Casos de uso y Colaboraciones
“El objetivo de la arquitectura del sistema es encontrar el conjunto mínimo de colaboraciones bien estructuradas, que satisfacen el comportamiento especificado en todos los casos de uso del sistema”
Organización de casos de uso
Tres tipos de relaciones:
Generalización
Un cdu hereda el comportamiento y significado de otro
Inclusión
Un cdu base incorpora explícitamente el comportamiento de otro en algún lugar de su secuencia.
Extensión
Un cdu base incorpora implícitamente el comportamiento de otro cdu en el lugar especificado indirectamente por este otro cdu
Generalización
Los casos de uso “hijo” son una especialización del caso de uso “padre”.
Produce confusión y se debería evitar su uso
Ejemplo
Generalización
Comprobar clave
Examinar retina
Validar Usuario
(Gp:) Realizar Pedido
Consultar Pedido
(establecer
prioridad)
Realizar Pedido
Urgente
«extend»
Extensión
«include»
«include»
Inclusión
Relación de inclusión
Permite factorizar un comportamiento en un caso de uso aparte y evita repetir un mismo flujo en diferentes casos de uso.
Ejemplo:
Hacer Pedido:
Obtener y verificar el número de pedido;
Incluir (Validar usuario);
para cada línea en el pedido:
Consultar el estado;
Preparar un informe para el usuario
Relación de extensión
El caso de uso base incluye una serie de puntos de extensión.
El caso de uso base no conoce los casos de uso de extensión, está completo sin las extensiones.
Los puntos de extensión no son parte del flujo principal.
Sirve para modelar
la parte opcional del sistema
un subflujo que sólo se ejecuta bajo ciertas condiciones
varios flujos que se pueden insertar en un punto
Relación de extensión
Ejemplo:
Hacer Pedido:
Incluir “Validar usuario”;
Recoger los ítem del pedido del usuario;
establecer prioridad: punto de extensión
Enviar pedido para ser procesado.
Relación de extensión
Devolver Libro
(Gp:) Poner multa
«extend»
Puntos de extensión
libro retrasado
(Gp:) Bibliotecario
Nombre: Poner multa
Precondición: Libro devuelto fuera de plazo
Flujo:
1. El bibliotecario introduce detalles multa
2. El sistema registra e imprime la multa
Nombre: Devolver libro
Actor principal: Bibliotecario
Precondición: Bibliotecario está autenticado
Flujo:
1. El bibliotecario introduce id del prestatario
2. El sistema muestra datos del prestatario y
los libros que tiene prestados
3. El bibliotecario selecciona libro a devolver
punto de extensión: libro retrasado
4. El sistema registra devolución
5. …
Relación de extensión
Produce confusión y no debería utilizarse.
Conviene su uso sólo para insertar un nuevo comportamiento no previsto en un caso de uso existente.
Obtención de casos de uso
1) Identificar los usuarios del sistema.
2) Encontrar todos los roles que juegan los usuarios y que son relevantes al sistema.
3) Para cada rol identificar todas las formas (objetivos) de interactuar con el sistema.
4) Crea un caso de uso por cada objetivo.
5) Estructurar los casos de uso. (¡Cuidado!)
6) Revisar y validar con el usuario.
Plantilla usecases.org (Larman)
Nombre del caso de uso
Actor Principal
Personas involucradas e Intereses (Actores secundarios)
Precondiciones (estado del sistema antes de empezar)
Postcondiciones (estado del sistema al finalizar)
Escenario Principal (Flujo Básico)
Extensiones (Flujos Alternativos)
Requisitos especiales
Tecnología y Lista Variaciones de datos
Frecuencia
Cuestiones abiertas
Caso de uso “Realizar Venta”
Resumen: Un cliente llega al TPV con un conjunto de artículos. El Cajero registra los artículos y se genera un ticket. El cliente paga en efectivo y recoge los artículos.
Actor Principal: Cajero
Personal Involucrado e Intereses:
Cajero: quiere entradas precisas, rápida y sin errores de pago
Compañía: quiere registrar transacciones y satisfacer clientes.
…
Precondición: El cajero está autenticado
Postcondiciones: Se registra la venta. Se calcula el impuesto. Se actualiza contabilidad e inventario…
Caso de uso “Realizar Venta”
Flujo Básico:
1. A: El cliente llega al TPV con los artículos.
2. A: El cajero inicia una nueva venta
3. A: El cajero introduce el identificador de cada artículo.
4. S: El sistema registra la línea de venta y presenta descripción del artículo, precio y suma parcial.
El Cajero repite los pasos 3 y 4 hasta que se indique.
5. S: El Sistema presenta el total
6. A: El Cajero le dice al Cliente el total a pagar
7. S: El Cliente paga y el sistema gestiona el pago.
8. S: El Sistema registra la venta completa y actualiza Inventario.
9. S: El Sistema presenta recibo
Caso de uso “Realizar Venta”
Extensiones (Flujos Alternativos):
3a. Identificador no válido
1. El Sistema señala el error y rechaza la entrada
3-6a. El Cliente pide eliminar un artículo de la compra
1. El Cajero introduce identificador a eliminar
2. El sistema actualiza la suma
…
7a. Pago en efectivo
1. El Cajero introduce cantidad entregada por el cliente
2. El Sistema muestra cantidad a devolver
…
….
Caso de uso “Realizar Venta”
Requisitos especiales:
– Interfaz de usuario con pantalla táctil en un monitor de pantalla plana.
El texto debe ser visible a un metro de distancia.
– Tiempo de respuesta para autorización de crédito de 30 sg. El 90% de
las veces
…
Lista de Tecnología y Variaciones de Datos:
– El identificador podría ser cualquier esquema de código UPC, EAN,..
– La entrada de información de la tarjeta se realiza mediante un lector
de tarjetas.
…
Cuestiones Pendientes:
– Explorar cuestiones de recuperación de accesos a servicios remotos
– ¿Qué adaptaciones son necesarias para diferentes negocios?
Utilidad de los casos de uso
“Ofrecen un medio sistemático e intuitivo para capturar los requisitos funcionales, centrándose en el valor añadido para el usuario”
Dirigen todo el proceso de desarrollo puesto que la mayoría de actividades (planificación, análisis, diseño, validación, test,..) se realizan a partir de los casos de uso.
Mecanismo importante para soportar “trazabilidad” entre modelos.
Utilidad de los casos de uso
Hay consenso en considerar casos de uso como esenciales para capturar requisitos y guiar el modelado.
Pero ha existido mucha confusión sobre cómo usarlos.
¿Número de casos de uso apropiado en un proyecto?
¿Qué casos de uso hay en el sistema?
![]() | ![]() ![]() | Página siguiente ![]() |