You are on page 1of 6

Memoria del trabajo:

Bidaion es una nueva agencia que ofrece la posibilidad de viajar a distintos


países de todo el mundo. Los servicios disponibles de nuestra empresa son tanto
de transporte y alojamiento como de actividades de ocio.

Los destinos se clasifican según el continente al que pertenecen. De


momento, los continentes a los que se puede viajar con Bidaion son África,
América, Asia y Europa. La agencia tendrá la posibilidad de añadir y cambiar
datos referentes a los viajes. Será suficiente con acceder directamente a la base de
datos y hacer las correcciones y cambios pertinentes.

Para determinar las necesidades, a la hora de diseñar las páginas web, se


deben determinar los datos de entrada y los datos de salida del sistema. Los datos
de entrada serán básicamente los datos de cada nuevo cliente y las opciones
elegidas por el usuario a la hora de elegir el viaje a su medida (destino,
alojamiento, medio de transporte y nº de adultos y de niños). Los datos de salida
del sistema serán el presupuesto y el mensaje de agradecimiento final por haber
contratado un viaje.

Como se observa en la base de datos (en el diagrama entidad-relación), los


datos que salen por pantalla (tanto los medios de transporte y los alojamientos
como las actividades ofrecidas) se almacenan en sus tablas correspondientes
(Destino, Medio de transporte, Alojamiento, Actividades). Por cada viaje
contratado se podrá elegir un único destino, medio de transporte y alojamiento,
pero las actividades seleccionadas por el cliente pueden ser varias. Por ello, es
necesaria la tabla intermedia VContratado-Actividades. Todas las opciones
ofrecidas las introduce el personal de Bidaion directamente en la base de datos.

Los usuarios de este sistema de información serán los empleados de la


agencia y sobre todo, los clientes que contactan con nosotros vía Internet. Los
clientes son de dos tipos:

 Nuevos clientes.
 Clientes habituales o registrados.

Los datos de los nuevos clientes se guardan mediante el formulario que


aparece tras haber aceptado el presupuesto y decidir hacer la reserva. Una vez
cumplimentado el formulario, los datos de los clientes se almacenan en la tabla
Clientes de la base de datos. Una vez registrado el cliente por primera vez, la
agencia le proporcionará una contraseña por correo. De ese modo, resulta más
fácil y cómodo contratar un viaje para un cliente registrado.

En el apartado Diseño se proporcionó un diseño orientativo de lo que podía


ser el proceso de reserva de un viaje. A continuación se detalla el proceso que
habría que seguir para poder utilizar toda la página que se ha creado:

La primera página (index.html) únicamente es una página de bienvenida. El


marco de la izquierda muestra los distintos apartados o entregas de la asignatura,
así como los componentes del grupo 6 y un link a la página inicial de la agencia
de viajes Bidaion.

Desde esta página se accede a la página inicio, donde se muestra un mapa


mundial y los distintos continentes a los que se puede viajar. Estos continentes se
presentan con un radio-button, posibilitando únicamente el acceso a los datos del
continente que se elige. Tras elegir el continente se puede borrar la selección
hecha pulsando el botón Borrar o se puede enviar dicha selección pulsando el
botón Enviar. Los datos que aparecen en la siguiente página (los
correspondientes al continente seleccionado), se obtienen de la base de datos.
Para poder acceder a esos datos y sacarlos por pantalla, ha sido necesario
programarlo en Java, en el archivo ListraViajes.java. Para ejecutar este archivo,
también se ha definido la clase viaje en el fichero Viajes.java. En esa clase se
definen las funciones para poder obtener los datos pertinentes de la base de datos.

Los datos salen por pantalla en la página Destino.html. Ésta será una página
dinámica debido a que los datos que en ella se presentan dependen de la
selección hecha en la página anterior. Del mismo modo que en el caso de los
continentes, los destinos presentados en esta página están precedidos por un
radio-button. De esa manera es posible elegir una de los destinos ofrecidos por la
agencia.

La programación de esta selección no se ha efectuado debido a que sería


similar a la de la página anterior. En este caso también habrá dos botones (Borrar
y Enviar), que tendrán la misma función que los botones análogos en la página de
continentes. Los datos necesarios para rellenar la tabla de esta página se obtienen
de la base de datos, precisamente, de la tabla Destinos.

A continuación, se muestran las opciones correspondientes al destino


seleccionado (una vez pulsado el botón Enviar). Se abre una página dinámica que
presenta distinta información dependiendo de las opciones elegidas con
anterioridad.
Para ello será necesario decir que los datos obtenidos por pantalla
corresponderán a los datos de destinos, medio de transporte, alojamiento y
actividades con un determinado identificador. Por ejemplo, si el destino del viaje
contratado es París, el Id de la actividad, del alojamiento y del medio de
transporte tienen que tener una combinación de letras que determinen que
corresponden a París. Por ejemplo, si el medio de transporte es el avión, el Id será
EU-PA-Avion (EU significa Europa, PA significa París).

No se ha programado esta parte, pero se considera que la manera de hacerlo


es similar a la de la selección de continentes (mediante combo-box). La única
diferencia radica en la posibilidad de elegir varias actividades. En ese caso,
habría que programar de forma que se elijan varias opciones del check-box.
Todas las opciones elegidas por el cliente se almacenarán en la tabla
ViajeContratado de la base de datos. Para ello, será preciso pulsar el botón
Presupuesto.

La siguiente página corresponde al presupuesto. En esta página habrá datos


de salida. Ésta también será una página dinámica en la que aparecen únicamente
los conceptos correspondientes a las opciones elegidas en cada caso.

El presupuesto que actualmente se calcula mediante macros de Access se


debería programar de tal forma que se extraigan los datos almacenados en la
tabla ViajeContratado y el resultado de la operación correspondiente se almacene
también en dicha tabla. Como éste es un caso difícil y no disponemos del tiempo
suficiente, se ha indicado por escrito el funcionamiento que debería tener esa
página (con respecto a los datos de las tablas). No se ha procedido a la
programación de la página Presupuesto. En esta página también habrá un botón
Reservar que permita guardar los datos mostrados en esa pantalla.

A continuación se muestra por pantalla el formulario de clientes. Una vez


cumplimentados todos los campos, los datos se almacenan en la base de datos (en
la tabla Clientes). Esta operación se ha programado y el archivo de Java que se ha
utilizado para ello es Clientes.java.

Por último, al clicar en el botón Reservar se abre otra página denominada


Reservado.html. En dicha página aparece un mensaje de agradecimiento y el
logotipo de Bidaion. Ésta será una página estática debido a que siempre tendrá la
misma forma y los mismos datos independientemente del viaje contratado y del
cliente que lo contrate.
Cabe decir que se ha conseguido extraer datos de tipo text y de tipo imagen
desde la base de datos. De ese modo, la página paises.html es similar a la
entregada en el diseño final.

DESCRIPCION DE LA BASE DE DATOS

En este apartado se detalla la base de datos que sirve de soporte para este
trabajo.

Al principio se propuso un modelo de base de datos que no se corresponde


con la última versión de SuperBidaion, aunque sea muy similar.

El diagrama entidad-relación final será el siguiente:

Como se puede observar en el diagrama, las tablas donde se almacenan todos


los datos son las siguientes: Clientes, Empleados, ViajeContratado, Actividades,
Vcontratado Actividades, Destino, Medio de transporte, Alojamiento y
Continente. Se puede considerar que la tabla más importante es la tabla
ViajeContratado, ya que almacena todas las opciones seleccionadas por el
cliente. Aún así, todas las tablas tienen su importancia. Para que el cliente pueda
elegir entre las distintas posibilidades es necesario que aparezcan por pantalla
todos los viajes y sus correspondientes alojamientos, etc.

Puede decirse que hay tablas de las que se extraen datos y tablas en las que se
almacenan datos. Las tablas que sirven para mostrar datos de los viajes se
rellenarán y modificarán directamente en Access, sin tener que conectarse a
Internet. Para ello, los empleados deberán conocer los distintos identificadores
que definen a cada tipo de dato.

Por otro lado están las tablas en las que se almacenan datos (obtenidos desde
Internet al cumplimentar los formularios). El ejemplo más claro de este tipo de
tabla es la tabla Clientes. Mediante el formulario Formulario de Clientes se
introducen los datos pertinentes en la tabla correspondiente.

La tabla ViajeContratado es una tabla en la que se introducen datos y de la


que se extraen datos. Algunos campos se introducen mediante el formulario de
Internet. Esos datos posibilitan el cálculo del presupuesto, cuyo total se almacena
en la tabla. Para poder calcular tanto el subtotal como el total del presupuesto se
ha optado por utilizar macros de Access. No se ha programado el cálculo del
presupuesto debido a que no disponíamos de tiempo para ello por la dificultad
que presentaba.

Por otro lado, la tabla Continente que se ha añadido no era necesaria, ya que
se podía haber añadido un campo en la tabla ViajeContratado. Pero se ha optado
por añadir esa tabla y definir una relación simple entre ésta y la tabla Destino. La
relación es simple porque la clave de ambas tablas es el campo Destino.

Las demás relaciones entre tablas son 1 a n. Las tablas ViajeContratado y


Actividades se relacionaban n a n por lo que ha sido necesario añadir la tabla
intermedia Vcontratado Actividades.

Por último, la tabla Empleados se rellenará directamente desde Access, sin


que sea necesario conectarse a Internet. Una vez hecha la reserva de un viaje por
un cliente es necesario formalizarla y ocuparse de los trámites. Por ello, se ha
añadido la tabla Empleados en la base de datos. Cada empleado se encargará de
tramitar más de un viaje contratado y cada viaje estará tramitado por un único
empleado.
Los campos de la base de datos están definidos y las reglas o restricciones
están también definidas. De ese modo, cuando un empleado trabaje directamente
sobre la base de datos e introduzca un dato incorrecto o no válido, le aparecerá un
mensaje indicándoselo.