You are on page 1of 9

Ingeniería del Software

Curso 2005-2006

Taller de modelado de objetos

HOTEL RURAL

Salamanca, 16-XI-2005

Trabajo realizado por:

Javier Trujillo Hernández


Javier Rubio Alamillo
Fernando Buitrago Alonso
Ingeniería del Software
Curso 2005-2006
Ingeniería del Software
Curso 2005-2006

El Hotel Rural

Un pequeño hotel rural necesita una aplicación software que le permita gestionar su
negocio. Las primeras reuniones se han resumido en un documento expresado en
lenguaje natural, que recoge a grandes rasgos la lógica de negocio del sistema a
construir. Este documento se presenta a continuación:

El software a construir debe cumplir las siguientes funcionalidades:

o Gestionar las reservas de habitaciones


o Gestionar las habitaciones libres/ocupadas
o Gestionar gastos extras
o Facturar a los clientes
o Permitir listados y estadísticas

Reservas
Las reservas se hacen por teléfono, y el cliente debe dar su nombre, NIF,
teléfono de contacto (siendo posible dar hasta tres números de teléfono
diferentes).
La reserva tendrá validez hasta las 0:00 horas del día siguiente a la supuesta
entrada en el hotel.
Un cliente puede reservar tantas habitaciones como sean necesarias.

Habitaciones
El hotel tiene tres plantas con habitaciones para los clientes. Cada habitación
tiene un número de habitación y pertenece a un tipo de habitación (los tipos
existentes son individual, doble y matrimonio).
El precio de la habitación depende del tipo de la habitación y de la temporada.
Existen tres temporadas inicialmente contempladas, aunque se desea que este
apartado sea flexible, así las temporadas son: Baja, Alta y Especial.
Las habitaciones pueden estar libres, reservadas u ocupadas. Una habitación está
ocupada sólo en el momento que el cliente ha llegado al hotel y hay un
responsable de la habitación del cual se necesita su nombre, DNI y teléfono de
contacto.
Si la habitación estaba reservada, la reserva ya no se necesita y puede
eliminarse. Sin embargo, si debe existir información histórica del uso del hotel.

Gastos extras
Los gastos extras que se van a poder cargar a la habitación son de naturaleza
variada, y se denotarán por un concepto y una cuantía.

Facturación
Al abandonar el hotel se realizará una factura asociada al responsable de la
habitación, aunque puede llevar otro nombre y otro NIF o CIF. La factura
reflejará todos los gastos asociados a la habitación o habitaciones perfectamente
desglosados en las líneas de la factura. Las facturas no pueden borrarse, aunque
si podrían modificarse los gastos involucrados en caso de error.
Ingeniería del Software
Curso 2005-2006

Listados
El usuario no ha definido todos los listados que requiere, pero si le interesa
obtener estadísticas de ocupación por fechas.

Normas para la entrega y corrección de los ejercicios:

Los problemas se agrupan en torno a una pequeña especificación de requisitos


software.
Para cada propuesta de ejercicio habrá un grupo de trabajo responsable, que se
encargará de elaborar un documento en formato word con la resolución del
problema de modelado (es obligatorio el uso de herramientas CASE),
conteniendo los siguientes apartados:

1. Enunciado con los requisitos de la práctica


2. Diagrama de clases
3. Descripción de las clases
4. Apartado final describiendo los aspectos más interesantes del
modelado conceptual y del paso al diseño
Ingeniería del Software
Curso 2005-2006

Diagrama de clases
Ingeniería del Software
Curso 2005-2006

Descripción de las clases

He aquí las clases enumeradas, una por una, viendo sus rasgos principales:

CLIENTE
- Es una clase abstracta padre de los dos subtipos de clientes que podemos tener, que
por su naturaleza los hemos separado: o persona físicas o personas jurídicas (persona y
empresa respectivamente).
- Sus únicos atributos son los comunes a su dos hijos, los tres (como mucho) posibles
números de teléfono que ponemos tener para contactar con el cliente.

PERSONA
- Hemos separado apellidos y nombre por si hiciesen falta para ordenaciones
alfabéticas.
- El atributo pasaporte aparece aunque no está nombrado explícitamente en el
enunciado de la práctica es para atender al caso de que un extranjero quisiese alojarse
en el hotel.
- Para que sea posible la ocupación, una persona ha de ser el responsable de la
habitación. Esto está modelado por una asociación con rol, pero no debe salir desde
cliente, porque el responsable debe ser una persona, no tiene sentido que sea una
empresa porque éstas no se van a alojar en la habitación.

EMPRESA
- Clase fundamentada en la misma idea que persona, cuyo único dato destacable es que
en este caso hemos de dar el CIF.

HABITACIÓN
- Hemos supuesto que la numeración de las habitaciones se rige por la normalidad de
que cada piso sea una cifra de centena dentro del número de habitación. Por eso si hay
tres plantas, las habitaciones irán con los números 100, 101…, 200, 201…, 300, 301…
- Suponemos también, que puede haber clientes que quieran alojarse en nuestro hotel
sin haber hecho reserva. Por esto, habitación está asociada tanto a reserva como a
ocupación.
- El atributo características de la habitación define a grandes rasgos las particularidades
de ésta: espacio, mobiliario, orientación, etc. Según estos parámetros una habitación
tendrá unas cualidades que nos interesarán o no para que la ocupe un determinado
cliente.

ESTADO_HABITACIÓN
- Esta clase sirve para dar cabida al caso de que una habitación se encuentre en obras.
Sería la forma de referenciar este hecho en nuestro sistema y que nos pudiéramos dar
cuenta de ello.
Ingeniería del Software
Curso 2005-2006

OCUPACIÓN
- Esta clase es el prisma que nos da a entender el modelo: nos da a entender, que por lo
que verdaderamente cobramos es por una ocupación de una habitación, siendo ésta de
un determinado tipo.
- Como no está explícitamente relacionada con Reserva queremos expresar que una
persona/empresa puede ser cliente sin haber tenido antes que reservar la habitación (por
supuesto, si tenemos plazas libres en el hotel).

RESERVA
- Si nos damos cuenta, tenemos una asociación modelada como clase porque podemos
tener múltiples reservas por cliente y por habitación.
- Por lo demás tiene el significado corriente del concepto al que hace mención.
- No obstante, decir que siguiendo la línea lógica que se ha trazado en el modelo, se
hace constar como atributos el NIF (cliente “normal”), el CIF (“empresa”) y el
pasaporte (por si nos encontramos ante un cliente extranjero).

TEMPORADA
- Se nos dicen que puede haber tres posibilidades: baja, media o alta. Se ha dejado una
especificación abierta para que ser colocadas en cualquier parte del año.
- El precio indica lo que hay que pagar por un determinado tipo de habitación en una
temporada dada por cada día.
- Por último, cabe indicar que la multiplicidad de que dado un tipo puede darse en una o
más temporadas. Esto está puesto de este modo porque puede ser que el tipo de
habitación sea usada justamente en un momento en que una parte de su utilización se da
en una temporada y otra parte en otra. Esto sería menester también recogerlo de alguna
forma (sobre todo a la hora de lo que habría que pagar).

TIPO
- En principio el enunciado de la práctica nos habla de tres tipos básicos: individual,
doble y de matrimonio. Pero según está definida la clase puede haber más, por ejemplo,
podíamos hacer un tipo habitación de amigos. Por tanto, para añadir versatilidad para la
configuración de la habitación, existen los atributos suplementoCamas y nombre para
valorar de una u otra manera las posibles condiciones del alojamiento.

EXTRA
- La filosofía de esta clase es dar cabida a los distintos servicios accesorios que puede
darnos el hotel: desde las botellas de la nevera o minibar hasta la sauna, el gimnasio o
la piscina.

LINEA DE FACTURA
- Posee dos relaciones: una con la clase extra y otra con ocupación. Ésta última esta
modelada así porque por lo que verdaderamente cobramos es un por una ocupación, no
por una reserva. Dependiendo de la habitación y de su tipo aumentará o disminuirá el
importe de la ocupación. Las dos asociaciones están unidas por una etiqueta {XOR}
Ingeniería del Software
Curso 2005-2006

indicando que en una línea de factura o cobramos por un gasto extra o por una
ocupación (pudiendo haber de cada elemento varias unidades).

FACTURA
- El número de factura lo se ha supuesto un entero largo debido a que será muy grande,
ya que tendremos que tener una relación de las facturas en el hotel a la hora de la
contabilidad.
- Hemos colocada aquí también el atributo descuento, por si al precio total le queremos
quitar algo debido al cliente con el trabajemos. La aplicación típica sería si por ejemplo
es un cliente habitual podíamos descontarle un determinada tanto por ciento de su
estancia.
Ingeniería del Software
Curso 2005-2006

Aspectos más interesantes del modelado conceptual y de paso al diseño

Debido al nivel de visión de la asignatura que se tiene en el presente trabajo, en el


diagrama de clases se ha prescindido de hablar todavía de los métodos. Lo único que se
podría decir ahora grosso modo es que deberían existir unos métodos que introduzcan,
manejen, modifiquen y borren información además de, claro está, las funciones
características para el mundo real de cada una de nuestras clases. También se da por
supuesto que no debemos implementar métodos para iniciar objetos, ya que de ello se
encargará el constructor de cada clase.

Nos parece que el periodo de validez de la reserva es algo que debe ser una
capacidad funcional del sistema el comprobarlo, además de que para que ésta se pueda
dar de alta debemos tener por lo menos el DNI, el nombre y un teléfono del cliente.

También hay que tener en cuenta que nuestro sistema software no debe permitir
que se borren líneas de factura (esto está indicado en el enunciado).

En el diseño tendremos métodos que nos calculen el dinero total a pagar, tanto el
precio total de la factura, como en las líneas estarán desglosados los precios pertinentes.

You might also like