Hotel Management System JAVA + MySQL Summer Training Project For BCA - PDF Download
Hotel Management System JAVA + MySQL Summer Training Project For BCA - PDF Download
CONTENTS
1) Abstract
2) Introduction
i) Project Overview
ii) Software & Hardware Specification
3) System Analysis
i) Proposed System
ii) Requirement Analysis & Specification
iii) Feasibility Study
4) System Design
i) Data Flow Diagrams
ii) Data Dictionary
iii) ER Diagrams
iv) Software & Hardware Requirements
5) Forms
6) Reports
7) System Testing
i) Unit Testing
ii) Integration Testing
iii) Performance Testing
8) Software Tools
9) Technical Notes
10) Conclusion
11) Bibliography
ABSTRACT
eZee Rewards and Loyalty is a software that can be used in the hospitality industry.
Through this software the Hotel administration can manage their loyalty programs in an effective
way. The Hotel Loyalty Programs can be used to entice guests into becoming a regular guest at
the hotel. These programs are especially beneficial to hotel chains, where the benefits of the
program can span over their entire hotel chain. Personalized service and rewards deliver
exceptional experiences to guests, and make them come back for more.
The scope of the project defines only those functionalities which are provided by
the eZee Rewards and Loyalty Software. On the other hand the scope of the users involved in the
Rewards and Loyalty Program is defined as the roles of each user in the system and their
accessibilities to the different elements and prospects within the system.
The eZee Rewards and Loyalty System will include three main users who take part
in the working of the system as a complete functionality. Considering the complete functionality
and interactions within the eZee Rewards and Loyalty System we will define the roles of each
user along with their access permissions towards the various elements of the system.
INTRODUCTION
The eZee Rewards and Loyalty includes three types of users i.e. the hotel
administration, the hotel front desk office and the customers of the hotel. The Hotel Loyalty
Program works primarily on the basis of the type of membership cards the hotel administration
provides to its customers who subscribed for the hotel loyalty program. These membership cards
represent the points allocated to the customers who subscribed for the hotel loyalty program.
The subscription to the eZee Rewards and Loyalty is offered to the customers of
the hotel when they make their first reservation in the hotel. For this the hotel maintains a
subscription form and is made available on the hotel’s website. The hotel can also maintain a
paper form which can be given to the new customers who have made their first reservation. The
hotel can also opt to send the subscription form through emails to the appropriate customers. The
details of all the customers are maintained by the hotel administration as a part of the hotel’s
database. The hotel is solely responsible on its decision on how to avail the subscription form to
its customers.
As a default the eZee Rewards and Loyalty provides the hotel with three types of
membership cards i.e. (i) Silver (ii) Gold and (iii) Platinum. The names of these membership
cards can be edited as per the will of the hotel. The number of different types in the membership
cards can also be edited as per the hotel’s choice.
As an initial step after buying the software, the hotel administration has to setup
the configuration page of the eZee Rewards and Loyalty to determine how the points are
allocated to the different subscribers of the hotel’s Loyalty program. The fields on the
configuration page may include the following: (i) Points per day stay and (ii) Points for the
overall amount spent. These fields in the configuration page can be edited anytime by the hotel
administration.
The hotel administration will be given an address book table as a part of the
software which can be updated by the hotel staff in order to maintain the records of all the
subscribers of the Hotel’s Loyalty Program. This address book is supposed to be updated on a
regular basis to contain the updated membership details list of all the subscribers of the Hotel’s
Loyalty Program.
Initially when a customer of the hotel subscribes for the hotel’s Rewards and
Loyalty program, he/she is given a membership card of silver type. From this moment onwards
the customer will be a part of the Rewards and Loyalty Program that the hotel offers. Hence the
customer becomes a subscriber for the hotel’s Rewards and Loyalty program and can now
increase his points of loyalty by making more and more reservations in this hotel or by spending
on other hospitality services offered by the hotel. In this way the customer who is now a member
of the Rewards and Loyalty program of the hotel can increase his/her points by becoming a
regular customer to the hotel. Moreover by increasing his/her points the customer can improve
his/her membership type so as to avail nice offers and discounts from the hotel.
The subscribers to this program can view their points from time to time either
through the hotels’ website or through automated mails delivered by the hotel. This depends on
the hotels decision on how to implement the process of delivering updates to their subscribers.
Whenever the subscribers have crossed the milestone of their respective
membership type, they are promoted to the next membership type and the new membership card
is posted to the respective subscriber’s official postal address. This posting of the membership
card is the responsibility of the front desk office of the respective hotel. All this happens when an
alert message triggers to the front desk office of the hotel as and when the milestones of any
subscriber is crossed. This automated reminder can benefit the hotel’s administration by reducing
their overhead of maintaining and updating their customers’ membership details. It also acts as a
prime factor in the process of maintaining consistency in updating the records. In this way it is
close to impossible for the management to miss on the updating of any membership account.
PROJECT OVERVIEW:
This section involves the scope of the project and the scope of its users. The scope of
the project defines only those functionalities which are provided by the eZee Rewards and
Loyalty Software. On the other hand the scope of the users involved in the Rewards and Loyalty
Program is defined as the roles of each user in the system and their accessibilities to the different
elements and prospects within the system.
The eZee Rewards and Loyalty System will include three main users who take part
in the working of the system as a complete functionality. Considering the complete functionality
and interactions within the eZee Rewards and Loyalty System we will define the roles of each
user along with their access permissions towards the various elements of the system.
The various users participating in the system are as follows: (i) The Hotel
Administrator (ii) The Hotel Front Desk Office (iii) The Member ( The customer of the hotel
who subscribed for the Hotel’s Rewards and Loyalty Program ) (iv) The System (or the eZee
Rewards and Loyalty Software).
iii) Creation Of The Subscription Form For The Rewards And Loyalty Program
The hotel administrator can design the subscription form for making it available to all
the customers who are new to the hotel. Having made their first reservation, these
customers are provided with the subscription form.
members of the Rewards and Loyalty Program along with their complete details. This
list may include members who have lost their membership cards and also the new
members of the Rewards and Loyalty Program.
ones and also those members who are new to the Rewards and Loyalty
Program and are yet to receive their default membership cards.
c) The Member
This is provided for the hotel administrator and the hotel front desk office. Through
this a search can be made possible for a member’s details or for a particular
reservation’s details.
iv) Maintains A Reports Page
Through this the system generates reports for the different users and also for the
different reservations related to the hotel. This pages accessibility can be defined by
the hotel administrator.
2) This page includes a confirmation message for making a reservation in the hotel. Hence this
page is seen when a user makes a reservation in the hotel.
3) This page also includes two options. These are respectively for viewing the user’s profile if
he/she is already a member in the Rewards and Loyalty Program of the hotel and for viewing
the Rewards and Loyalty Form for subscribing for the Rewards and Loyalty Program of the
hotel if he/she is new to this program.
Software:
Server Side:
Microsoft Windows XP
Java 6.0
Eclipse 3.4(IDE)
Jboss 4.2.3GA(AS)
Client Side:
Hardware:
SYSTEM ANALYSIS
PROPOSED SYSTEM:
eZee Rewards and Loyalty is a software that can be used in the hospitality
industry. Through this software the Hotel administration can manage their loyalty programs in an
effective way. The Hotel Loyalty Programs can be used to entice guests into becoming a regular
guest at the hotel. These programs are especially beneficial to hotel chains, where the benefits of
the program can span over their entire hotel chain. Personalized service and rewards deliver
exceptional experiences to guests, and make them come back for more.
User
Get Information
The scope of the project defines only those functionalities which are provided by the
eZee Rewards and Loyalty Software.
The scope of the users involved in the Rewards and Loyalty Program is defined as the
roles of each user in the system and their accessibilities to the different elements and
prospects within the system..
The scope of this system includes planning and designing. The contents are as follows:
Points
o Metric Types
o Qualification Metrics
o Points Allocation
o Points Purchase
o Rewards
Membership Details
Add/View/Modify
Search
Reports
FEASIBILITY STUDY
TECHINICAL FEASIBILITY:
Evaluating the technical feasibility is the trickiest part of a feasibility study. This is
because, .at this point in time, not too many detailed design of the system, making it difficult to
access issues like performance, costs on (on account of the kind of technology to be deployed)
etc. A number of issues have to be considered while doing a technical
analysis.
Before commencing the project, we have to be very clear about what are the technologies
that are to be required for the development of the new system.
ii) Find out whether the organization currently possesses the required technologies:
o Is the required technology available with the organization?
o If so is the capacity sufficient?
For instance –
“Will the current printer be able to handle the new reports and forms required for the new
system?”
OPERATIONAL FEASIBILITY:
Proposed projects are beneficial only if they can be turned into information
systems that will meet the organizations operating requirements. Simply stated, this test of
feasibility asks if the system will work when it is developed and installed. Are there major
barriers to Implementation? Here are questions that will help test the operational feasibility of a
project:
Is there sufficient support for the project from management from users? If the current
system is well liked and used to the extent that persons will not be able to see reasons for
change, there may be resistance.
Are the current business methods acceptable to the user? If they are not, Users may
welcome a change that will bring about a more operational and useful systems.
Have the user been involved in the planning and development of the project?
Early involvement reduces the chances of resistance to the system and in
General and increases the likelihood of successful project.
Since the proposed system was to help reduce the hardships encountered. In the existing
manual system, the new system was considered to be operational feasible.
ECONOMIC FEASIBILITY:
A simple economic analysis which gives the actual comparison of costs and
benefits are much more meaningful in this case. In addition, this proves to be a useful point of
reference to compare actual costs as the project progresses. There could be various types of
intangible benefits on account of automation. These could include increased customer
satisfaction, improvement in product quality better decision making timeliness of information,
expediting activities, improved accuracy of operations, better documentation and record keeping,
faster retrieval of information, better employee morale.
SYSTEM DESIGN
Data flows are data structures in motion, while data stores are data structures.
Data flows are paths or ‘pipe lines’, along which data structures travel, where as the data stores
are place where data structures are kept until needed.
Data flows are data structures in motion, while data stores are data structures at
rest. Hence it is possible that the data flow and the data store would be made up of the same data
structure.
Data flow diagrams is a very handy tool for the system analyst because it gives
the analyst the overall picture of the system, it is a diagrammatic approach.
A DFD is a pictorial representation of the path which data takes From its initial
interaction with the existing system until it completes any interaction. The diagram will describe
the logical data flows dealing the movements of any physical items. The DFD also gives the
insight into the data that is used in the system i.e., who actually uses it is temporarily stored.
A DFD does not show a sequence of steps. A DFD only shows what the different
process in a system is and what data flows between them.
External entities
DATAFLOWS
Make sure the names of the processes accurately convey everything the
process is done.
There must not be unnamed process.
Indicate external sources and destinations of the data, with squares.
Number each occurrence of repeated external entities.
Identify all data flows for each process step, except simple Record
retrievals.
Label data flow on each arrow.
Use details flow on each arrow.
Use the details flow arrow to indicate data movements.
There can’t be unnamed data flow.
A data flow can’t connect two external entity.
LEVELS OF DFD:
DATA DICTIONARY
ER DIAGRAMS
A UML system is represented using five different views that describe the
system from distinctly different perspective. Each view is defined by a set
of diagram, which is as follows.
In this model the data and functionality are arrived from inside the
system.
In this the structural and behavioral aspects of the environment in which the
system is to be implemented are represented.
Use case Diagrams represent the functionality of the system from a user’s point of
view. Use cases are used during requirements elicitation and analysis to represent the
functionality of the system. Use cases focus on the behavior of the system from external
point of view.
Actors are external entities that interact with the system. Examples of actors
include users like administrator, bank customer …etc., or another system like central
database.
Login
Password
Configure
Search
Admin
Add/View
Reports
Registration
Login
Forgot Password
View Details
Get Rooms
Log Out
1 : Login()
2 : Invalid Data()
3 : Request to DB()
5 : Get Home()
1 : Login()
2 : Invalid Data()
3 : Request to DB()
5 : Get Home()
User Activities
1 : Change()
3 : Modify()
4 : Save()
5 : Save()
6 : Save()
Client Server
Over view:
With the varied topic in existence in the fields of computers, Client Server is one,
which has generated more heat than light, and also more hype than reality. This technology has
acquired a certain critical mass attention with its dedication conferences and magazines. Major
computer vendors such as IBM and DEC; have declared that Client Servers is their main future
market. A survey of DBMS magazine reveled that 76% of its readers were actively looking at the
client server solution. The growth in the client server development tools from $200 million in
1992 to more than $1.2 billion in 1996.
Client server implementations are complex but the underlying concept is simple
and powerful. A client is an application running with local resources but able to request the
database and relate the services from separate remote server. The software mediating this client
server interaction is often referred to as MIDDLEWARE.
The typical client either a PC or a Work Station connected through a network to a
more powerful PC, Workstation, Midrange or Main Frames server usually capable of handling
request from more than one client. However, with some configuration server may also act as
client. A server may need to access other server in order to process the original client request.
The key client server idea is that client as user is essentially insulated from the
physical location and formats of the data needs for their application. With the proper
middleware, a client input from or report can transparently access and manipulate both local
database on the client machine and remote databases on one or more servers. An added bonus is
the client server opens the door to multi-vendor database access indulging heterogeneous table
joins.
Two prominent systems in existence are client server and file server systems. It is
essential to distinguish between client servers and file server systems. Both provide shared
network access to data but the comparison dens there! The file server simply provides a remote
disk drive that can be accessed by LAN applications on a file-by-file basis. The client server
offers full relational database services such as SQL-Access, Record modifying, Insert, Delete
with full relational integrity backup/ restore performance for high volume of transactions, etc. the
client server middleware provides a flexible interface between client and server, who does what,
when and to whom.
Client server has evolved to solve a problem that has been around since the earliest
days of computing: how best to distribute your computing, data generation and data storage
resources in order to obtain efficient, cost effective departmental an enterprise wide data
processing. During mainframe era choices were quite limited. A central machine housed both the
CPU and DATA (cards, tapes, drums and later disks). Access to these resources was initially
confined to batched runs that produced departmental reports at the appropriate intervals. A strong
central information service department ruled the corporation. The role of the rest of the
corporation limited to requesting new or more frequent reports and to provide hand written forms
from which the central data banks were created and updated. The earliest client server solutions
therefore could best be characterized as “SLAVE-MASTER”.
Time-sharing changed the picture. Remote terminal could view and even change the
central data, subject to access permissions. And, as the central data banks evolved in to
sophisticated relational database with non-programmer query languages, online users could
formulate adhoc queries and produce local reports with out adding to the MIS applications
software backlog. However remote access was through dumb terminals, and the client server
remained subordinate to the Slave\Master.
The browser specific components are designed by using the HTML standards, and the dynamism
of the designed by concentrating on the constructs of the Java Server Pages.
Communication or Database Connectivity Tier
The standards of three-tire architecture are given major concentration to keep the
standards of higher cohesion and limited coupling for effectiveness of the operations.
FORMS
REPORTS
SYSTEM TESTING
Testing
Testing is the process of detecting errors. Testing performs a very critical role for
quality assurance and for ensuring the reliability of software. The results of testing are used later
on during maintenance also.
Psychology of Testing
The aim of testing is often to demonstrate that a program works by showing that it
has no errors. The basic purpose of testing phase is to detect the errors that may be present in the
program. Hence one should not start testing with the intent of showing that a program works, but
the intent should be to show that a program doesn’t work. Testing is the process of executing a
program with the intent of finding errors.
Testing Objectives
The main objective of testing is to uncover a host of errors, systematically and
with minimum effort and time. Stating formally, we can say,
Levels of Testing
In order to uncover the errors present in different phases we have the concept of
levels of testing. The basic levels of testing are as shown below…
Acceptance
Testing
Client Needs
Design
Integration Testing
Code
Unit Testing
System Testing
The philosophy behind testing is to find errors. Test cases are devised with this in
mind. A strategy employed for system testing is code testing.
Code Testing:
This strategy examines the logic of the program. To follow this method we
developed some test data that resulted in executing every instruction in the program and module
i.e. every path is tested. Systems are not designed as entire nor are they tested as single systems.
To ensure that the coding is perfect two types of testing is performed or for that matter is
performed or that matter is performed or for that matter is performed on all systems.
Types Of Testing
Unit Testing
Link Testing
Unit Testing
Unit testing focuses verification effort on the smallest unit of software i.e. the
module. Using the detailed design and the process specifications testing is done to uncover errors
within the boundary of the module. All modules must be successful in the unit test before the
start of the integration testing begins.
In this project each service can be thought of a module. There are so many modules
like Login, HWAdmin, MasterAdmin, Normal User, and PManager. Giving different sets of
inputs has tested each module. When developing the module as well as finishing the
development so that each module works without any error. The inputs are validated when
accepting from the user.
Link Testing
Link testing does not test software but rather the integration of each module in
system. The primary concern is the compatibility of each module. The Programmer tests where
modules are designed with different parameters, length, type etc.
Integration Testing
After the unit testing we have to perform integration testing. The goal here is to see
if modules can be integrated properly, the emphasis being on testing interfaces between modules.
This testing activity can be considered as testing the design and hence the emphasis on testing
module interactions.
In this project integrating all the modules forms the main system. When integrating
all the modules I have checked whether the integration effects working of any of the services by
giving different combinations of inputs with which the two services run perfectly before
Integration.
System Testing
Here the entire software system is tested. The reference document for this process
is the requirements document, and the goal is to see if software meets its requirements.
Here entire ‘ATM’ has been tested against requirements of project and it is
checked whether all requirements of project have been satisfied or not.
Acceptance Testing
Acceptance Test is performed with realistic data of the client to demonstrate that
the software is working satisfactorily. Testing here is focused on external behavior of the system;
the internal logic of program is not emphasized.
This is a unit testing method where a unit will be taken at a time and tested
thoroughly at a statement level to find the maximum possible errors. I tested step wise every
piece of code, taking care that every statement in the code is executed at least once. The white
box testing is also called Glass Box Testing.
I have generated a list of test cases, sample data, which is used to check all possible
combinations of execution paths through the code at every module level.
This testing method considers a module as a single unit and checks the unit at
interface and communication with other modules rather getting into details at statement level.
Here the module will be treated as a block box that will take some input and generate output.
Output for a given set of input combinations are forwarded to other modules.
Test cases that reduced by a count that is greater than one, the number of
additional test cases that much be designed to achieve reasonable testing.
Test cases that tell us something about the presence or absence of classes of errors,
rather than an error associated only with the specific test at hand.
SOFTWARE TOOLS
Methodology
The method being used in developing the system is the system Development Life
Cycle (SDLC) The SDLC process includes project identification and selection, project initiation
and planning, analysis, design, implementation and maintenance.
ANALYSIS
LOGICAL DESIGN
PHYSICAL DESIGN
IMPLEMENTATION
MAINTENANCE
In this phase the project information system needs are identified and analyzed
such as identified the title of the project that is Web Based XpathAnalyzer, scope and objective
of the Web Based XpathAnalyzer.
During this phase the Gantt chart has been developed as a time line to determining
the task involve in developing the Web Based XpathAnalyzer.
In the phase, the exiting system is studies by collecting the information through
the Internet and analyzed the information to get alternatives for the used of proposed system.
Determine what the Web Based XpathAnalyzer should do.
Logical design is the fourth phase in SDLC methodology. The functional features
chosen for the proposed system in Analysis phase are described. Part of the logical design of the
information system is to devise the user interface. The interface plays an important role to
connect the user with the system and is thus extremely important.
TECHNICAL NOTES
Windows XP Operating System
Microsoft MYSQL-5.0.51b-win32
CONCLUSION
The entire project has been developed and deployed as per the requirements stated by the user, it
is found to be bug free as per the testing standards that are implemented. Any specification
untraced errors will be concentrated in the coming versions, which are planned to be developed
in near future.