miércoles, 23 de febrero de 2011

POO - Clase 6 : Presentación y Reporte de Avance

Hola que tal, en este post pienso explicar mi avance en el proyecto, como deberá funcionar el programa y los códigos y documentación que llevo hasta el momento.



Explicación

Bueno primero que nada para explicar mi proyecto usaré como ejemplo un cliente llamado Emmanuel García. Al registrarse en el hotel, un empleado o administrador agregará sus datos a la Base de Datos. Estos datos serían Nombre, número de habitación, forma de pago, tiempo de estancia, etc. Ahora digamos que Emmanuel se quedará en la habitación # 55 (de lujo), y pagó en efectivo 500 dólares por dos días. A partir de su nombre y datos se generará un ID que consta de lo siguiente:

                          G  A                   EM                         55             -    1
Primeras 2 letras del primer apellido       Primeras dos letras del primer nombre    Numero de habitación   Tipo de cliente


El último dígito representa el tipo de cliente que es, un 0 representa normal, para los que rentaron una habitación regular, y un 1 representa especial, para los que rentaron una habitación cara.

Para explicar las diferencias hay que pensar como el dueño del hotel:
-Especial: pagó por una habitación cara, por lo tanto quiero que se quedé y siga rentando esa misma habitación, asi que le doy mejores servicios. Estos serían: servicio a la habitación, extender su tiempo de estancia SIN CONFIRMACIÓN, para esto tendría acceso a la base de datos para modificar su tiempo de estancia(se haría un registro de esto aumentando el pago o de alguna otra forma).

-Normal: pagó por una habitación normal, por lo tanto me da igual si se queda o no mas tiempo, tiene servicios regulares, hora fija para limpieza y desayuno ya pagado, pero no puede pedir servicio a la habitación, aunque puede SOLICITAR una extensión de tiempo, que debe ser confirmada por un administrador, esto ya que es posible que haya sido reservada la habitación para el tiempo en que el cliente normal termina de rentarla.

Ahora continuando el ejemplo, los datos de Emmanuel fueron ingresados y se registran en una base de datos de una forma similar a la siguiente tabla:



A Emmanuel le da hambre y pide que le lleven langosta a su cuarto, pero es tan flojo que no quiere llamar por teléfono, entonces hay una computadora estrategicamente colocada al lado de su cama para solicitar un servicio a la habitación, lo ingresa en la sencilla y amigable interfaz gráfica y esta solicitud es escrita en un archivo, que después leerá la interfaz de un administrador y enviará la langosta a Emmanuel.

El tiempo pasó y se le acabó el tiempo a Emmanuel, pero el no cayó en la trampa y decidió no extender el tiempo, Emmanuel es borrado de la Base de Datos principal, pero sus datos son copiados a una base de datos secundaria usada de registro por si acaso llego a cometer algún crimen durante su estancia en el hotel, para saber cuando estuvo y otros datos.

Básicamente así funciona esto para los clientes, ahora el administrador lo que haría sería eliminar, agregar clientes, leer solicitudes de servicio a la habitación, extensión de tiempo, y cosas así.
Esto es lo teórico, cualquier cosa que planee agregar o quitar, será para mejorar lo que tengo planeado

Códigos:

Ya que son alrededor de 10 clases las que tengo actualmente, las subiré a google docs para evitar saturar el post de códigos, de todas maneras ya estan explicados con su debida documentación.


-Descargar códigos
Aquí una prueba de la compilación:



-Descargar documentación
Aquí una prueba de la generación de la documentación:














Tuve un problema con la documentación en la clase Administrator, no muestra nada de la documentación que escribí, intentaré arreglarlo en la semana.

Saludos

3 comentarios:

  1. muy interesante lo de la interfaz gráfica de usar el jdeveloper y lo mejor es lo de usar el ingles para acostumbrarse a el idioma de la programacion muy bueno
    suerte!

    ResponderEliminar
  2. Me pareció muy bien tu proyecto,lo que mas me gusto fue lo de la herramienta para hacer las interfaces creo que el único problema que tienes igual que todos es acerca de base de datos , lo que te recomendaría es buscarlos en ingles en google igual en la próxima semana si logro entenderlo mas haré una entrada sobre esto.
    Saludos!

    ResponderEliminar
  3. Respuesta a Jair Aquines: Gracias por el comentario. Saludos

    Respuesta a saulg: Si lo de las bases de datos es una molestia, gracias por la recomendación. Espero que encuentres algo sobre esto,seguiré tu blog.
    Saludos.

    ResponderEliminar