viernes, 5 de octubre de 2012

Ejemplo detallado y resuelto de un caso de uso



"Hotel"

El dueño de un hotel le pide a usted desarrollar un programa para consultar sobre las piezas disponibles y reservar piezas de su hotel.
El hotel posee tres tipos de piezas: simple, doble y matrimonial, y dos tipos de clientes: habituales y esporádicos. Una reservación almacena datos del cliente, de la pieza reservada, la fecha de comienzo y el número de días que será ocupada la pieza.
El recepcionista del hotel debe poder hacer las siguientes operaciones:
  • Obtener un listado de las piezas disponible de acuerdo a su tipo
  • Preguntar por el precio de una pieza de acuerdo a su tipo
  • Preguntar por el descuento ofrecido a los clientes habituales
  • Preguntar por el precio total para un cliente dado, especificando su número de RUT, tipo de pieza y número de noches.
  • Dibujar en pantalla la foto de un pieza de acuerdo a su tipo
  • Reservar una pieza especificando el número de la pieza, rut y nombre del cliente.
  • Eliminar una reserva especificando el número de la pieza
El administrador puede usar el programa para:
  • Cambiar el precio de una pieza de acuerdo a su tipo
  • Cambiar el valor del descuento ofrecido a los clientes habituales
  • Calcular las ganancias que tendrán en un mes especificado (considere que todos los meses tienen treinta días).
El hotel posee información sobre cuales clientes son habituales. Esta estructura puede manejarla con un diccionario, cuya clave sea el número de RUT y como significado tenga los datos personales del cliente.
El diseño a desarrollar debe facilitar la extensibilidad de nuevos tipos de pieza o clientes y a su vez permitir agregar nuevas consultas.
El presente ejemplo contempla los siguientes diagramas: