1. Reservas Hotigel
María Alejandra Pérez Perdomo
Natalia Pinto Moreno
Introducción a la Ingeniería de Software
José Fernando Pinto Cruz
Chía, Cundinamarca
Noviembre 2016
2. 1. Introducción
1.1 Título del Proyecto
Reservas Hotigel
1.2 Planteamiento del Problema
Para el proceso de reserva en hoteles pueden existir múltiples factores los
cuales ocasionan que este sea demorado e incluso complicado para algunos
usuarios. Entre estos se encuentran: pocos puntos de atención correspondientes a
los hoteles, demora en la atención al cliente, falta de información sobre servicios y
habitaciones, entre otros.
Por otro lado, al carecer de “lugares” en donde se pueda consultar toda la
información sobre hoteles y servicios en una ciudad el cliente, en la mayoría de
los casos, podría estar perdiendo mejores oportunidades de reserva. Ya sea por
diferencias de precios o diferencias en las ubicaciones de los múltiples hoteles.
1.3 Justificación
Lo que se busca hacer con este proyecto es facilitar este servicio al crear un
software mediante el cual el usuario solo tenga que bajar la aplicación, registrarse
y empezar a hacer uso de esta. Este aplicativo permitirá que los usuarios hagan sus
reservas sin necesidad de dirigirse a los puntos de atención de los hoteles, así
facilitando y agilizando este proceso no solo para las personas que generen las
reservas, pero también para los hoteles a quienes se les facilitará el registro de los
datos de la persona y de la reserva en su base de datos.
Este aplicativo también dará la posibilidad al usuario de poder consultar en un
mismo lugar la mayor cantidad de opciones disponibles, dependiendo del número
de hoteles registrados con el aplicativo, para así poder obtener la mejor oferta
dependiendo de lo que este esté buscando.
3. 1.4 Objetivos
1.4.1 Objetivo General
Creación de un aplicativo que permita al usuario realizar reservas en
múltiples hoteles sin necesidad de dirigirse a los puntos de atención de
este.
1.4.2 Objetivos Específicos
· La aplicación debe mostrar información veraz y actualizada de
todas las opciones disponibles según lo que esté buscando el
usuario.
· Además de poder reservar las habitaciones el usuario también
tendrá la posibilidad de elegir los servicios de los cuales hará
consumo en su estadía. Estos incluyen alimentación, lavandería,
zona húmeda, entre otros.
· La aplicación tendrá toda la información correspondiente a los
costos. Es decir, el usuario podrá verificar los costos de las
habitaciones por día y el costo de cada servicio. Esto hará que el
usuario pueda cotizar entre las distintas opciones que posee y así
tomar una decisión basada en esto.
· Al realizar una reserva toda la información correspondiente a
esta será guardada para que el usuario y el hotel puedan verificarla.
1.4.3 Alcance
Esta aplicación solo se hará cargo de la reserva y facturación
dependiendo del hotel, el número de días de la estadía, la cantidad de
habitaciones y de los servicios seleccionados. Una vez hecha la reserva no
se añadirán costos adicionales a esta. Es decir, no se añadirán los gastos
generados dentro de la estadía.
Aunque al momento del registro se piden los datos de la tarjeta del
usuario, el aplicativo no se hará cargo de generar los cobros. Esta
información se pide para que el hotel pueda generar el cobro de la reserva
(incluyendo servicios), generar una multa en caso de que el usuario no se
presente en los días de la estadía y generar los cobros correspondientes a
gastos durante la estadía (cuyo registro ha de ser llevado por el hotel).
4. 2. Marco Teórico
2.1 Antecedentes
En primer lugar, para la materia Introducción a la Ingeniería de Software se
propuso realizar un proyecto en el cual al finalizar el semestre se mostrarán todos
los conocimientos adquiridos y poder llegar a ser un desarrollador de Software
mediante el desarrollo de un aplicativo.
Por lo tanto, se decidió realizar un aplicativo que permita realizar
reservaciones de un hotel que se encuentre inscrito en la aplicación, para que de
ese modo el usuario pueda adquirir a la información sobre los costos y servicios
que tienen los hoteles alrededor del mundo y que pueda viajar de una manera
sencilla con todos los requerimientos que este desea para poder tener un buen
viaje sin que existan complicaciones.
2.2 Fundamentación Teórica
Para el desarrollo del aplicativo fue necesario realizar una búsqueda
bibliográfica sobre diferentes términos para poder llevarlo a cabo y poder tener un
conocimiento profundo sobre todo lo que se va a realizar y las herramientas de las
que se pretende hacer uso.
Ingeniería del Software: La Real Academia Española de la Lengua lo define
como: “1. Conjunto de conocimientos y técnicas que permiten aplicar el saber
científico a la utilización de la materia y de las fuentes de energía”.
La Ingeniería del software es una disciplina que ofrece métodos y técnicas
para desarrollar y mantener software de calidad que resuelven problemas.
Modelo Lógico relacional: El modelo de datos relacional organiza y representa
los datos en forma de tablas o relaciones y se interpreta como una relación
ordenada de valores, el cual pretende darle un esquema a la base de datos que se
pretende realizar.
MySQL: Es un gestor de bases de datos relacional de código abierto, utiliza
múltiples tablas para almacenar y organizar la información, este fue escrito en C Y
C++ y este se adapta a diferentes entornos de desarrollo permitiendo su
interacción con varios lenguajes de programación, como lo son PHP, Perl y Java y
además la integración con diferentes sistemas operativos.
NetBeans: Netbeans es un entorno de desarrollo gratuito y de código abierto, el
cual permite el uso de un amplio rango de tecnologías de desarrollo tanto para
escritorio, como aplicaciones Web, o para dispositivos móviles. Da soporte a las
siguientes tecnologías y puede instalarse en varios sistemas operativos: Windows,
Linux, Mac OS, Contiene muchas funcionalidades, para distintos tipos de
5. aplicaciones y para facilitar al máximo la programación, la prueba y la depuración
de las aplicaciones que se desarrollan.
3. Ingeniería del Proyecto
3.1 Modelo de Desarrollo
Para el desarrollo del aplicativo se decidió realizar un modelo lineal
secuencial, el cual, como su nombre lo indica tiene un enfoque secuencial en el
desarrollo del software y comienza en un nivel de sistemas y sigue mediante el
análisis, diseño, codificación, pruebas y mantenimiento. A continuación, se
muestra el diagrama de este modelo y se hace una descripción de cada uno de los
puntos que este utiliza.
En la fase de requerimientos se tuvieron en cuenta todos los detalles que se
quiere que el aplicativo contenga y cada uno de los requisitos que este debe tener para
poder cumplir con las necesidades del cliente y de las expectativas que se espera tenga
el aplicativo para cumplir al máximo todas sus funciones.
En el análisis y diseño del Software se procedió a realizar unos layouts donde se podía
ver cómo podría quedar el aplicativo dejando abierta la idea de realizar algunos
cambios que fueran necesarios en la aplicación.
En la implementación se tiene en cuenta cada uno de los puntos que se
tuvieron en cuenta en el diseño del software para poder comenzar a realizar el código
del aplicativo.
En integración y pruebas del sistema se detalló el código realizado donde se
pudo asegurar que este se encontraba en un estado perfecto sin presentar fallas.
Por último, en operación y mantenimiento si el aplicativo no tiene algún error o hay
algo que no concuerda se procede a realizar pequeños cambios sobre la base ya
existente en lugar de volver a rehacer el programa.
6. 4. Análisis y Diseño
4.1 Definición de Requerimientos
4.1.1 Requerimientos Funcionales
· Se debe poder crear un nuevo usuario desde el aplicativo, ingresando los
siguientes datos de la persona: Nombre, ciudad y país de residencia,
documento de identidad, dirección, teléfono y los datos correspondientes a
la tarjeta de crédito (Tipo de tarjeta, número y código de seguridad).
· Una vez iniciada la sesión la primera interfaz que se le mostrará al
usuario será la de seleccionar la ciudad y país de destino. Al seleccionar el
destino se llevará al usuario a otra interfaz en donde se mostrará una lista
de todas las opciones de hoteles, mostrando la siguiente información de
cada uno: Nombre, estrellas, dirección y promedio de puntuación.
· Al seleccionar uno de estos hoteles el usuario podrá elegir entre ver las
reseñas o ver la información correspondiente a las habitaciones, los
servicios y los precios de estos.
· En esta misma pantalla el usuario podrá realizar su reserva.
Seleccionando las habitaciones y los servicios que desea usar.
4.1.2 Requerimientos No Funcionales
· La velocidad a la que funciona el aplicativo no se verá afectada a
medida que se ingresen más registros de hoteles y usuarios a la base de
datos de este.
· Los protocolos de seguridad del aplicativo no permitirán que la
información personal de cada usuario sea consultada por terceros. Esta
solo podrá ser consultado por el mismo usuario y por el usuario del hotel
encargado de la reserva.
7. 5. Desarrollo
5.1 Especificaciones Técnicas
Reservas Hotigel es un Software Aplicativo para reservas hoteleras que
permite realizar reservas y generar la facturación correspondiente a los servicios
que el cliente desea tener este Software ha sido desarrollado mediante
herramientas de programación de última generación, como lo son: NetBeans IDE
8.1 y mediante el manejador soportado por la herramienta MySQL, dándole al
usuario una interfaz con todos los requerimientos y servicios necesarios para
poder tener un buen servicio y seguir adquiriéndolo a la hora de realizar una
reserva.
5.2 Software
Los requisitos que aplican para Software son los siguientes:
Para el servidor contar con un equipo que cuente con:
● Tener el programa NetBeans IDE 8.1
● Tener la conexión necesaria con MySQL para que se actualicen todos los
datos y se guarden en la base de datos.
Para el cliente tener lo siguiente:
● Un equipo que permita descargar el aplicativo y poder hacer uso de él.
● Sistema Operativo Windows y Mac OS
5.3 Hardware
Teniendo en cuenta el diseño del sistema, este tiene especificaciones
diferentes para su uso. A continuación, se puede ver cada una de estas
especificaciones.
● Memoria RAM de 2.0 GB o superior
● Tarjeta de red
● Procesador Dual Core ó Core2 preferiblemente
6. Conclusiones
Mediante el uso de herramientas tales como NetBeans y el motor de base de datos
MySQL se ha podido desarrollar un aplicativo cuyo uso podrá suplir una necesidad básica de
sus clientes, la cual consiste en permitirle a este generar sus procesos de reserva desde un
entorno virtual, sin necesidad de acercarse a los puntos físicos del hotel. Esto hace que sea un
aplicativo innovador y de un desarrollo factible.
Con respecto a los objetivos, es posible concluir que estos se han cumplido, ya que
entre las múltiples funciones de la aplicación se encuentran: consulta de información con
respecto a hoteles y sus costos, información actualizada de los hoteles y sus servicios,
consulta de los servicios prestados por cada hotel y la posibilidad de realizar reservas junto a
estos, y guardado de toda la información con respecto a nuevas y viejas reservas en la base de
datos.
8. 7. Bibliografía
● Scribd. (2016). Modelo Secuencial Lineal. [online] Available at:
https://es.scribd.com/doc/43649462/Modelo-Secuencial-Lineal [Accessed 8 Nov. 2016].
● SearchDataCenter en Español. (2016). ¿Qué es MySQL? - Definición en WhatIs.com. [online]
Available at: http://searchdatacenter.techtarget.com/es/definicion/MySQL [Accessed 8 Nov. 2016].
● Datateca.unad.edu.co. (2016). Lección 6 - Definición de Ingeniería de Software. [online] Available at:
http://datateca.unad.edu.co/contenidos/301404/301404_ContenidoEnLinea/leccin_6__definicin_de_in
geniera_de_software.html [Accessed 8 Nov. 2016].
● Tello, R., Tello, R. and perfil, V. (2016). Modelo Logico Relacional. [online]
Istprprcasas.blogspot.com.co. Available at:
http://istprprcasas.blogspot.com.co/2008/06/modelo-logico-relacional.html [Accessed 8 Nov. 2016].
● Esepestudio.com. (2016). Qu es MySQL? :: esepestudio, especialistas web. [online] Available at:
http://www.esepestudio.com/noticias/que-es-mysql [Accessed 8 Nov. 2016].
● Genbetadev.com. (2016). NetBeans. [online] Available at:
http://www.genbetadev.com/herramientas/netbeans-1 [Accessed 8 Nov. 2016].
● Fdi.ucm.es. (2016). NetBeans. [online] Available at:
https://www.fdi.ucm.es/profesor/luis/fp/devtools/NetBeansUso.html [Accessed 8 Nov. 2016].