Subido por Mateo Arroyave

nanopdf.com 0901hotelumlv1

Anuncio
Hotel
Un nuevo cliente en la empresa para la cual trabajamos es dueño del futuro hotel
“Estrellita de Mar” y nos comenta su problema de no poder encontrar un software
en el mercado que cubra todas sus necesidades. Luego de haber realizado un par
de reuniones, y de realizada la propuesta, y aprobada por el cliente, podemos
identificar los siguientes requerimientos:
Ingresar las habitaciones, según su tipo (simple, doble y matrimonial) y
comodidades (frigobar, TV, y DVD).
Consultar las habitaciones disponibles y poder reservar habitaciones en su hotel. El
hotel posee dos tipos de clientes: habituales y esporádicos. Una reserva almacena
datos del cliente, de la habitación reservada, la fecha de comienzo y el número de
días que será ocupada la habitación.
El recepcionista del hotel debe poder hacer las siguientes operaciones:
· Obtener un listado de las habitaciones disponible de acuerdo a su tipo.
· Preguntar por el precio de una habitación 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 reserva, tipo de habitación y número de noches.
· Dibujar en pantalla la foto de una habitación de acuerdo a su tipo.
· Reservar una habitación especificando el número de la pieza, reserva y
nombre del cliente.
· Eliminar una reserva especificando el número de la habitación.
El administrador puede usar el programa para:
· Cambiar el precio de una habitación 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 diseño a desarrollar debe facilitar la extensibilidad de nuevos tipos de
habitaciones o clientes y a su vez permitir agregar nuevas consultas.
También, nuestro cliente, quiere realizar un portal en la web, en donde, los
visitantes puedan reservar una o las habitaciones que desee (si el mismo posee
tarjeta de crédito). Este debe registrarse al Portal, por el cual el sistema deberá
reconocer el tipo de cliente.
Actividades:
1. Leer atentamente el enunciado y actividades.
2. Realizar todas las consultas que crean necesarias.
3. Realizar el Diagrama de Casos de Uso. Opcional: Realizar previamente un
listado con todos los requerimientos, del cual se van a derivar los casos de
uso.
4. Realizar dos Casos de Uso críticos y que no representen funcionalidad de
consulta.
5. Realizar los Casos de Prueba de los dos casos de uso anteriores.
6. Realizar el Diagrama de Clases.
7. Realizar el Diagrama de Actividad de alta de reserva.
8. Realizar el Diagrama de Estado de la reserva de una Habitación (en esta
actividad puede utilizar supuestos).
Diagrama de Casos de Uso
Sistema de Reservas
«uses»
ABM_Administrar
Habitaciones
Include
ADM_Administrar Precio
por Tipo de Habitación
«uses»
«uses»
Administrador
REP_Obtener
Ganancias por Mes
ABM_Administrar
Cliente
«uses»
CON_Consultar
Cliente
«uses»
«extends»
«uses»
CON_Consultar
habitaciones
REP_Obtener Listado de
habitaciones
Disponibles
«uses»
«uses»
ACC_Reservar
Habitación
Recepcionista
ACC_Eliminar
Reserva
Include
ACC_Validar
Tarjeta de Credito
«extends»
ACC_Registrar
Usuario
«uses»
«uses»
ACC_Reservar
Habitación Web
Cliente
Código
ABM01
Nombre del caso
de uso
Administrar Habitaciones
Actor
Administrador
Frecuencia de
utilización
Media
Objetivo
Realizar el alta y baja de habitaciones, ingresando todas las
características posibles para el buen funcionamiento del sistema.
Realizar modificaciones de los atributos de las mismas.
Pre-Condiciones
El usuario debe estar identificado en el sistema.
Post-Condiciones
Se ha dado de alta o baja alguna habitación o modificado algún
atributo de las mismas.
Curso Normal
Crear Habitación
1. El Actor ingresa al Modulo Habitación y selecciona la opción del menú Alta.
2. El sistema muestra la pantalla de “Alta de Habitación”, con los siguiente campos:
a. Número de habitación (obligatorio - numérico): este campo identifica en
forma univoca a la habitación. Valor por defecto: numero posterior al último
número de habitación ingresado.
b. Tipo de Habitación (obligatorio - combo): este campo identifica que tipo de
habitación se esta creando (ver caso de uso ADM – Administrar Precio por
Tipo de Habitación). Valor por defecto: Vacío.
c. Titulo Comodidades
i. Frigobar (check), indica si la habitación contiene frigobar. Valor por
defecto: false / no seleccionado.
ii. TV (check), indica si la habitación contiene TV por cable. Valor por
defecto: false / no seleccionado. .
iii. DVD (check), indica si la habitación contiene un reproductor de DVD.
Valor por defecto: false / no seleccionado. .
Y las opciones:
d. Grabar (habilitada por defecto): guarda los cambios en la base de datos.
e. Cancelar (habilitada por defecto): cierra la ventana alta de sistema.
3. El actor ingresa los datos correspondiente e ingresa la opción Grabar.
4. El sistema valida:
a. Que los campos obligatorios estén completos.
b. Que el número de habitación sea numérico.
c. Que el número de habitación no exista.
5. El sistema guarda los datos validos en la base de datos y muestra el mensaje “Se ha
creado exitosamente la habitación <número de habitación>.(Aceptar)”
6. El usuario acepta el mensaje.
7. El sistema vuelve a la pantalla “Alta de Habitación”.
Eliminar Habitación
8. El Actor ingresa al Modulo Habitación y selecciona la opción Buscar.
9. El sistema muestra la pantalla “Búsqueda de habitación” con el siguiente campo:
a. Número de Habitación (obligatorio – combo): Lista todas las habitaciones
existentes. Valor por defecto: Vacío.
Y la opción:
b. Buscar (habilitada una vez seleccionada la habitación) permite iniciar la
búsqueda según el parámetro seleccionado.
10. El Actor selecciona el numero de habitación y la opción Buscar.
11. El sistema muestra por debajo de los parámetros de búsqueda los mismos campos que
“Alta de Habitación”, pero con los campos completos según la habitación elegida y las
opciones:
a. Grabar (habilitada una vez modificado algún dato): guarda los cambios en la
base de datos.
b. Eliminar (habilitada por defecto): elimina de la base de datos la habitación.
12. El Actor selecciona la opción Eliminar.
13. El sistema verifica:
a. Que la Habitación no tenga reservas a futuro de la fecha actual.
b. Muestra el mensaje: “¿Esta seguro que desea eliminar la Habitación <numero
de habitación seleccionada>? (Si/No)”.
14. El Actor selecciona la opción Si.
15. El sistema guarda los datos validos en la base de datos y muestra el mensaje “Se ha
eliminado exitosamente la habitación <número de habitación eliminada>.(Aceptar)”
16. El usuario acepta el mensaje.
17. El sistema vuelve a la pantalla “Búsqueda de habitación”.
Modificar Habitación
18. El Actor modifica los datos de la pantalla “Búsqueda de habitación” y selecciona la opción
Grabar.
19. El sistema realiza las mismas validaciones para el Alta de una Habitación.
20. El sistema guarda las modificaciones en la base de datos y muestra el mensaje “Se ha
modificado exitosamente la habitación <número de habitación>.(Aceptar)”
21. El usuario acepta el mensaje.
22. El sistema vuelve a la pantalla “Búsqueda de habitación”.
Alternativas
A1_El usuario cancela el alta
3.1. El usuario selecciona la opción Cancelar de la pantalla “Alta de Habitación”.
3.2 El Sistema deja sin efecto el alta de habitación y cierra la pantalla “Alta de Habitación”.
A2_Campos obligatorios incompletos
4.a.1. El sistema:

identifica que los campos obligatorios están incompletos y muestra el
mensaje: “El campo <nombre del primer campo obligatorio incompleto> es
obligatorio.(Aceptar)”

Al aceptar el mensaje, muestra la pantalla “Alta de Habitación”, haciendo
foco en el primer campo obligatorio incompleto.
A3_Número de Habitación no valido
4.b.1. El sistema:

Identifica que el número de habitación ingresado NO es numérico y muestra
el siguiente mensaje: “El numero <valor ingresado> no es válido. Ingrese un
valor numérico valido. (Aceptar)”

Al aceptar el mensaje, muestra la pantalla “Alta de Habitación”, haciendo foco
en el campo “Número de habitación”.
A4_Número de Habitación existente
4.c.1. El sistema:

Identifica que el número de habitación ingresado existe y muestra el siguiente
mensaje: “El numero <numero de habitación ingresado> ya existe. Modifique
el número ingresado. (Aceptar)”

Al aceptar el mensaje, muestra la pantalla “Alta de Habitación”, haciendo foco
en el campo “Número de habitación”.
A5_Habitación con Reservas futuras
13.a.1 El sistema:

Identifica que la habitación ha ingresar posee reservas futuras y muestra el
siguiente mensaje: “La habitación <numero de habitación seleccionada>
posee reservas futuras. La Habitación no puede ser eliminada. (Aceptar)”

Al aceptar el mensaje, muestra la pantalla “Búsqueda de habitación”, sin
ninguna habitación seleccionada.
NOTA: Depende del análisis realizado se puede dividir el caso de uso
“Administrar Habitaciones”, en por ejemplo, “Alta de Habitación”, “Modificar
Habitación” o “Eliminar Habitación”, dependiendo de la complejidad de la
funcionalidad.
Código
ACC01
Nombre del caso
de uso
Reservar Habitación
Actor
Recepcionista
Frecuencia de
utilización
Alta
Objetivo
Realizar la alta de una reserva por parte del recepcionista, cuando
llega un cliente al mostrador.
Pre-Condiciones
El usuario debe estar identificado en el sistema y que el cliente exista.
Post-Condiciones
Se ha dado de alta una reserva.
Curso Normal
Crear Habitación
1. El Actor ingresa al Modulo Reservas y selecciona la opción del menú Alta.
2. El sistema muestra la pantalla de “Alta de Reserva”, con los siguiente campos:
a. Nombre y Apellido (obligatorio - texto): permite ingresar el nombre y apellido
del cliente. Valor por defecto: Vacío.
b. Forma de Pago (obligatorio - combo): lista la forma de pago existente al día
de la reserva. Valor por defecto: efectivo.
c. Número de Tarjeta (obligatorio - numérico): permite el número de tarjeta.
Esta se habilita si se selecciona la opción “Tarjeta de Crédito” del campo
“Forma de Pago”.
d. Número de habitación (obligatorio – combo): lista en forma ascendente las
habitaciones libres existentes a la fecha de la reserva. Valor por defecto:
primera habitación de la lista.
Y las opciones:
e. Buscar Cliente (habilitada por defecto) Permite buscar un cliente existente.
(Ver Caso de Uso CON01_Consultar Cliente)
f.
Cancelar (habilitada por defecto): cierra la ventana alta “Alta de Reserva”.
g. Reservar (habilitada por defecto): Permite efectuar la reservar.
3. El actor ingresa los datos y selecciona la opción Reservar.
4. El sistema valida:
a. Que los campos obligatorios estén completos.
b. En caso de ser la forma de pago, “Tarjeta de Crédito”, el numero ingresado (Ver
Caso de Uso ACC03_Validar Tarjeta de Crédito).
5. El sistema guarda la reserva en la base de datos y Muestra el mensaje: “Se realizo la
reserva numero <numero de reserva>” (Aceptar).
6. El usuario acepta el mensaje.
7. El sistema vuelve a la pantalla “Alta de Reserva”.
Alternativas
A1_El usuario cancela el alta
3.1. El usuario selecciona la opción Cancelar de la pantalla “Alta de Reserva”.
3.2 El Sistema deja sin efecto el alta de habitación y cierra la pantalla ““Alta de Reserva”.
A2_Campos obligatorios incompletos
4.a.1. El sistema:

identifica que los campos obligatorios están incompletos y muestra el
mensaje: “El campo <nombre del primer campo obligatorio incompleto> es
obligatorio.(Aceptar)”

Al aceptar el mensaje, muestra la pantalla “Alta de Habitación”, haciendo
foco en el primer campo obligatorio incompleto.
Diagrama de Clases
Comodidades
Cliente
-DNI
-Nombre
-ID
-Descripción
Habitacion
1
0..*
Reserva
0..*
-Nro
-Fecha_desde
-Fecha_hasta
-Nro
-Precio
0..*
0..*
0..*
ClienteHabitual
HabitacionDoble
HabitacionSimple
HabitacionMatrimonial
-Descripcion
-Descripcion
-Descripcion
-Descuento
NOTA: El diagrama de clases modela la estructura del sistema, tengan en cuenta que este es
inicialmente un modelo conceptual, sobre este diagrama se irán incorporando detalles para
llegar al modelo más cercano al diseño del sistema.
Un ejemplo en este aspecto lo podemos encontrar en las clases que definen el tipo de
habitación, conceptualmente el diagrama muestra la herencia de dichas clases, pero dado que
el sistema debe tener la flexibilidad suficiente para incorporar nuevos tipos de habitación sin
que esto implique una modificación en el código, deberíamos darle otro tratamiento al tipo de
habitación.
Cliente
-DNI
-Nombre
-Descuento
+Alta_Cliente()
+Baja_Cliente()
+Modif_Cliente()
Habitacion
Reserva
1
0..*
-Nro
-Fecha_desde
-Fecha_hasta
-Duracion
-Nro_Hab
-DNI_Cliente
+Alta_Reserva()
+Baja_Reserva()
+Modif_Reserva()
+Calc_Duracion()
+Calc_Importe()
0..*
0..*
-Nro
-Precio
-Tipo
+Alta_Hab()
+Baja_Hab()
+Modif_Hab()
+Mostrar_Foto()
+Asignar_comodidades()
Comodidades
-ID
-Descripción
0..*
0..*
Diagrama de Estados de una Reserva
Activa
Vencida
Finalizada
Cancelada
Diagrama de Estados de una Habitación
Disponible
Reservada
Ocupada
Limpieza
Descargar