Documente Academic
Documente Profesional
Documente Cultură
December 2014
BI
T
This Dissertation is submitted in partial fulfillment of the requirement of the
‘Royal Group’ is a group, which is comprised of several branches around the island. Even
though it has been running for years, their management system is running manually. Due to lack
of efficiency and maintenance they are planning to move to a computerized system. They have
been using a manual system until recent with no proper way of generating timely reports and
statistics and to increase the popularity they hoping to maintain a website too.
This web based system is built as a solution to overcome the above mentioned problems faced by
the current manual system. It covers, Branch Management, Online Food Reservation, Room
Reservation, Hall Reservation, Event Management, Report generation, Inventory Control and
Expenditure handling, User Management, Content Management and giving Notifications and
Feedback to the customer.
The system uses Structured Techniques. Hypertext Pre-Processor (PHP) which is a server-side
scripting language was used to build the system and Apache has been used as the web server.
Unified Modeling Language (UML) was used for Analysis and Design. MySQL was used to
handle databases. It can be used in any browser under the Windows platforms.
This web based Hotel Management System has been designed to accomplish the user
requirements of Hotel Royal Park. It will help the Administration to work efficiently on their
tasks and monitor the progress of the hotel which will gradually maximize the profit.
This part (Interim Report) of the Dissertation demonstrates all the work carried out during the
analysis and design phase of the development. The figures and tables given under each chapter
help to understand the project.
ii
Acknowledgement
I would like to express my special gratitude and thanks to my Supervisor Mr. Daminda Shantha Herath,
you have been a tremendous mentor for me. I would like to thank you for encouraging my project work
and for allowing me to grow as a research candidate. Your advice on both project as well as guidance
has been priceless. I would also like to thank ESOFT High Management and Lecturers for encouragement
even at hardship. I also want to thank you for letting my defense be an enjoyable moment, and for your
brilliant comments and suggestions, thanks to you.
The project candidate opportunity I had with Royal Holidays Hotel and Resort (Pvt) Limited was a great
chance for learning and professional development. Therefore, I consider myself as a very lucky individual
as I was provided with an opportunity to be a part of it. I am also grateful for having a chance to meet
skill people and professionals who led me though this period.
Bearing in mind previous I am using this opportunity to express my deepest appreciation and special
thanks to Mr. Upul Jayarathne, Chaiman of Royal Holidays Hotel who in spite of being extraordinarily
busy with his duties, took time out to listen, direct and keep me on the correct path and allowing me to
carry out my project at their esteemed organization and extending during the training.
I express my deepest thanks to Mr. Kasun Karunarathne, the IT Manager, for taking part in useful
decision & giving necessary advices and guidance and arranged all facilities to make life easier. I choose
this moment to acknowledge his contribution gratefully.
I perceive as this opportunity as a big milestone in my career development. I will strive to use gained
skills and knowledge in the best possible way, and I will continue to work on their improvement, in order
to attain desired career objectives. Hope to continue cooperation with all of you in the future.
iii
TABLE OF CONTENTS Page
DECLARATION………………………………………………………………………………….ii
ABSTRACT……………………………………………………………………..……………….iii
ACHKNOWLEDGEMENT………………………………………………………………….….iii
TABLE OF CONTENTS………………………………………………………………..……….iv
LIST OF FIGURES……………………………………………………………………………...vii
LIST OF TABLES………………………………………………………………………………..ix
LIST OF ACRONYMS…………………………………………………………………………...x
CHAPTER 1 : INTRODUCTION………………………………………………………………...1
1.1 Introduction………………………………..………………………………………1
1.2 Motivation for the project……………..…………………………………………..1
1.3 Objectives for the project………...………………………………..……………....2
1.4 Scope of the project………..……………………………………………………...3
1.5 Structure of the dissertation…………………….………….……………………...4
CHAPTER 2 : ANALYSIS……………………………………………………………………….6
2.1 Introduction……………………………………………………………………….6
2.2 Fact gathering techniques…………………………………………………………6
2.3 Existing system…………………..…………….………………………………….7
2.4 Drawbacks in the existing system……………..…………………………………..8
2.5 Functional requirements……………………….….……………………………….8
2.6 Nonfunctional requirements………………….……………………………………9
2.7 Reasons to choose a web based system…..….…………………………………..10
CHAPTER 3 : DESIGN…………………………………………………………………………11
3.1 Introduction………………………………………………………………………11
3.2 Process models……………………………...……………………………………11
3.2.1 Waterfall method……………………………...…………………………11
iv
3.2.2 Rapid application development………………..…..……………………..12
3.2.3 Rational unified process model………………..…………………………12
3.3 USE CASE diagram…………………………………...…………………………13
3.3.1 Room reservation………………………………….……………………..13
3.3.2 Food reservation………………………………………………………….14
3.3.3 Inventory control & expenditure handling…...…………………………..15
3.3.4 Content management…………………………………………………….16
3.3.5 Report generation…………………………………………..……………16
3.3.6 High level USE CASE diagram for the system………………………….17
3.4 Entity relationship Diagram…...…………………………………………………18
3.5 Class diagram for the system……………………………………………………18
3.6 Database design………………………………………..….…………………….19
3.7 User interface design……………………………………..……………………..20
3.8 Main interfaces……………………………………………….…………………20
3.8.1 The user login interface…………………………………………………20
3.8.2 Chairman’s Login Interface…………………………………………….21
3.8.3 Officer (Admin) login………………………………..………………….22
3.8.4 Office adding a food item……………………………………………….23
3.8.5 Room reservation form………………………………………………….24
3.8.6 ‘Home’ page of the site………………………………………………….25
3.8.7 ‘Rooms’ page of the site…………………………………………………25
3.8.8 ‘Catering’ page of the site…………………………………..……………26
3.8.9 Customer login……………………………………………..…………….27
CHAPTER 4 : IMPLEMENTATION…………………………………………………..……….27
4.1 Introduction………………………………………………………………………28
4.2 Implementation environment…………………………………………………….28
4.3 Reused modules……………………………………………………....………….29
v
4.4 Network implementation…………………………………………………...……31
4.5 Code segments……………………………...……………………………………31
4.5.1 Database connection………………..……………………………………31
4.5.2 Login module…………………………………………………………….32
4.5.3 Sign-out module………………………………………………………….32
4.5.4 Email validation…………………….……………………………………33
4.5.5 NIC validation……………………………………………………………33
4.6 Security……………………….………………………………………………….33
CHAPTER 5 : EVALUATION…………………….………..…………………………………..35
5.1 Introduction………………………….…………………………………………..35
5.2 Testing procedure………………….….………………………………………….35
5.3 Testing plan & test cases………….….….……………………………………….36
CHAPTER 6 : CONCLUSION…………………….………..…………………………………..42
6.1 Introduction………………………………………………………………………42
6.2 Future Improvements…………………………………………………………….43
6.3 Lessons Learnt…………………………………………………………………...44
6.4 Problems Encountered During the Process………………………………………45
6.5 Critical Evaluation of the Project Development…………………………………45
REFERENCE……………………………………………………………………………………46
APPENDIX A: System Documentation…………………………………………………………47
APPENDIX B: Design Documentation…………………………………………………………49
APPENDIX C: User Documentation……………………………………………………………58
APPENDIX D: Management Reports…………………………………………………………..67
APPENDIX E: Test Results………….…………………………………………………………68
APPENDIX F: Code Listing……………………………………………………………………70
APPENDIX G: Client Certification….…………………………………………………………74
GLOSSARY……………………………………………………………………………………75
vi
LIST OF FIGURES
Figure 3.1 Waterfall Model…………….....…………………………………………………11
Figure 3.9 High Level USE CASE diagram for the system…………………………………17
vii
Figure B.9 Database Structure of the ‘Customer’ Table……………………………………..55
Figure E.2 Error Message for Clicking the ‘Reservation’ Link before Registering………....69
Figure E.3 Error Message for Not Entering Data to the Fields……………………………...70
viii
LIST OF TABLES
Table 5.1 Test Cases for Common Functions..…………………..…………………………36
ix
LIST OF ACRONYMS
ER - Entity Relationship
x
CHAPTER 1: INTRODUCTION
1.1 Introduction
From ancient eras, Sri Lanka has been well known for its hospitality among the world.
The tourism Industry was developed on this basis and the Hotel Industry was introduced
threreby. Today, hotels can be found in all most all major cities of Sri Lanka due to this
industry development.
Nowadays a web based systems have become one of the most essentials part in a hotel.
Since local and foreign tourists visit these hotels very often, management cannot be done
manually with having redundant data. ‘Royal group’ is a group which contains four
branches of hotels, located island wide. By implementing a web based system can carry
out tasks in a more efficient and systematic way may help the group to manage the branch
activities and the hotel to improve their sales revenue. Furthermore, reservation via the
Internet can increase speed and accuracy, so this project might be helpful to achieve their
goals.
11
The current system is facing the problems listed below.
Due to the above listed disadvantages, the management has determined to move on to a
web base system. This would help the administration to manage the work in a timely
manner and make useful decisions.
12
1.4 Scope of the project
The scope of the project is decided from the requirements of the client. The available
resources also help to decide this.
Branch Management
To establish a process to integrate the branches, so that the maximum productivity
can be achieved more efficiently.
Food Reservation
Customers can check for availability, make a reservation which will there by
generate a reservation code, enter personal details or if required edit them,
confirm or cancel the reservation.
Room Reservation
A customer who has checked in at the hotel will be able to check the menu,
reserve a meal or cancel a meal.
Searching
This is done both internally and externally.
i. Internally
Staff members can do searching about the hotel facilities efficiently and
effectively
ii. Externally
Customers can do different searching about hotel facilities according to
their comfortable requirements.
13
Event Management
Handling events such as weddings, conferences, family gatherings which are
held in the banquet halls, keep count of the quantity and reserve food and
beverages etc.
User Management
This is done both internally and externally
i. Internally
Details of the staff are handled in this section. The administrator can add a
new member or modify details of an existing member, update content to
the web site. The staff members can login to the system and edit details.
ii. Externally
Customers can register with the system as external users and can edit the
profile as well as.
Content Management
The administrator may add, delete, modify or show/hide the content of the system
to the user.
Report Generation
Reports regarding reservation details and inventory are generated by the Analyst.
Certain important decisions are taken based on these reports.
Introduction - This chapter gives a brief explanation about the motivation, scope
and the objectives of the proposed system.
14
Analysis - The chapter explains about the current system, drawbacks in the
system and functional and non-functional requirements of the
proposed system.
Evaluation - This chapter explains about the test plan and test cases of the
system.
Conclusion - Lessons learnt and the future development of the system are
explained in this chapter.
15
CHAPTER 2: ANALYSIS
2.1 Introduction
This chapter includes description about the existing system, its functional and non-
functional requirements, and the techniques which have been used to gather requirements
for the currently developing system.
Requirement gathering and analysis take a major part in a system because, that helps to
define the boundaries of the system, and to identify the objectives for the project.
Requirements will change over time as project moves from analysis to design to
implementation. Requirement gathering is a tedious task. Information should be gathered
in an organized and in a manner full way where all the system details are fully captured.
i. Interview
This method is used to collect the information from groups or individuals. Analyst
selects the people who are related with the system for the interview.
ii. Questionnaire
The information related to the system is published in the sources like newspapers,
magazines, journals, documents etc.
16
iv. Observation
a. Unlike other fact finding techniques, in this method the analyst himself
visits the organization and observes and understand the flow of documents,
working of the existing system, the users of the system etc.
After studying the existing manual system, observation technique became a great help to
review the historical facts, their code of conduct, policies and get a vast understanding of
the project.
In order to get a good knowledge about the domain, we have to gather requirements and
analyze the existing system. Then we can move on the proposed system.
17
2.4 Draw backs in the existing system
Following draw backs were identified while following the existing system
a. All the reservations are done by phones and all the data are entered to the
log book manually.
b. Payment methods are not customer friendly.
c. Expenditure cannot be viewed quickly because of the manual system
handling.
d. Erroneous record entering and redundant data are found very often.
e. Inventory management is not accurate.
f. Poor customer interactions after business.
g. Poor customer history management.
h. Report generation is not done accurately.
i. Branches are hard to manage.
i. Branch management
a. Manager has to be aware of the activities which are held in each
and every branch.
b. Manager has to get a report on income and expenses on
weekly/monthly basis.
c. Be aware of inventory handling in all branches.
d. Able to give commands and feedback to the assistant managers of
the branches.
ii. Reservation
a. Customer should be able to make online reservation, edit
reservation and cancel reservation of food/rooms/banquet halls.
b. Reservations can be cancelled within a given period of time from
the day of reservation and a penalty will be charged afterwards.
iii. Inventory Control
a. Available food items and menus should be updated to the system
daily
b. So that customers can browse and order food online or by
telephone.
c. The hotel can provide an option to prepare special food items for
d. Buffets/weddings/seminars/conferences/pirith ceremonies/alms
giving’s and BBQs as customer requires.
18
iv. Expenditure handling
- Expenses of the hotel should be maintained in a manner full way.
v. Payment handling
a. All payments will be added to the reservation id issued.
b. The current bill can be viewed to the customer online.
Nonfunctional requirements are difficult to test therefore, they are usually evaluated
subjectively. These are requirements that are not directly concerned with the main
functionalities of the system, but are still essential to have an optimal performance. If
nonfunctional requirements are not full filled, the system will not be a usable one.
Following are the nonfunctional requirements of this system
Performance Requirements
a. The load time for user interface screens shall take very few
number of seconds
b. The log in information shall be verified within few seconds.
c. Queries shall return results within few seconds.
Standards Compliance
a. The graphical user interface shall have a consistent look and feel.
19
Reliability
a. Specify the factors required to establish the required reliability of the
software system at time of delivery.
Security
a. Customer Service Representatives and Managers will be able to log in to
the Hotel Management System.
b. Customer Service Representatives will have access to the Reservation /
Booking and Food subsystems.
c. Managers will have access to the Management subsystem as well as the
Reservation/Booking and Food subsystems.
d. Access to the various subsystems will be protected by a user log in screen
that requires a user name and password.
Availability
a. The system shall be available during normal hotel operating hours.
Maintainability
a. System is built from php. It has to be easy to maintain ay any time
when needed.
Accuracy and consistency
a. Since it allows online reservations, true information should be visible to
users.
b. Standing payment calculations and details should be correctly
manipulated.
c. Site information should be up to date so as to have a strong bond with the
users.
d.
20
CHAPTER 3: DESIGN
3.1 Introduction
In this phase the system and software design is prepared from the requirement
specifications which were studied in the first phase. System Design helps in specifying
hardware and system requirements and also helps in defining overall system architecture.
The system design specifications serve as input for the next phase of the model.
i. Use case Diagram – shows interactions between the systems and users
ii. Class Diagram – shows the static structure of the system
iii. Entity Relationship Diagram – shows the graphical representation of entities and
their relationships
21
3.2.2 Rapid Application Development
Rapid Application Development is a software development process that allows
usable systems to be built within a short period (as little as 2-3 months) without
harming the quality, cost, performance or maintainability.
i. Inception
The idea for the project is stated. The development team determines if the
project is worth pursuing and what resources will be needed.
ii. Elaboration
iii. Construction
iv. Transition
22
Figure 3.3 RUP Model
In here, the overall use case diagram and some main use case descriptions are discussed
in detail.
23
Figure 3.4 Room Reservation
Food reservation is done online or via telephone. A customer who has checked in
at the hotel will be able to check the menu, Reserve a meal or cancel a meal. The
cashier is in charge of all this activities. Finally the reserved items will be viewed
to the chef (as the ordered meals have to be made) and to the administrator (as he
must have records of these to generate the report)
24
Figure 3.5 Food Reservation
25
3.3.4 Content Management
The administrator may add, delete, modify or show/hide the content of the system
to the user.
Reports regarding reservation details and inventory are generated by the Analyst.
Certain important decisions are taken based on these reports. These are done by
the system users such as Administrator, Cashier, Accountant and Receptionist.
26
3.3.6 High level USE CASE diagram for the system
27
3.4 Entity Relationship Diagram
Class diagram is basically a graphical representation of the static view of the system and
represents different aspects of the application. So a collection of class diagrams represent
the whole system.
28
Figure 3.11 Class Diagram
29
Database design is the process of producing a detailed data model of a database. This
logical data model contains all the needed logical and physical design choices and
physical storage parameters needed to generate a design a data definition language, which
can then be used to create a database. A fully attribute data model contains detailed for
each entity.
Since there are various users of the system, user interfaces should be different to each
other from user to user. Following are some of the guidelines that are used to design
interfaces.
There are two categories who can log to the system, customer and staff. The staff
members are given a different login due to security problems. As for the
customers who log in for the first time, he/she is given a default password to
access.
30
Figure 3.13 User Login Interface
31
After giving the username and password of the chairman, the chairman can log
into his interface. Since there are four (4) branches in the Royal Group
(Kiribathgoda, Peradeniya, Wattala & Ja-Ela) the chairman gets the privileges to
login to those branches to see the transactions.
32
3.8.3 Officer Adding a Food Item
In this interface, the officer can add a new food item by giving its name, a
description, the price, an image of the food item and selecting its food category,
and select the hotel branch name and submitting it.
33
3.8.4 Room Reservation Form
When making the reservation, there are three (3) categories to fill. Namely those
categories are ‘personal data’, ‘your stay’ and ‘Payment’. In the ‘personal data’
category the customer must enter/select his/her personal data such as title, gender,
date of birth, NIC number, country, city, telephone number and email address. In
‘your stay’ category the customer must enter/select the arrival date, departure
date, the hotel branch name and the room category. And finally in the ‘payment’
section, the customer must select whether the payment is done via credit card or
by cash. If it’s via credit card, the transaction will be done through the web if by
cash, the customer can do the payment when he/she arrived to the hotel there self.
34
3.8.5 ‘Home’ Page of the Site
Home page is the very first interface that the user will view first (index.php). The
main navigational menu items are set with links to the login page. A customer can
only view the content, description of the system, check the availability of the
rooms/banquet and reserve food items.
35
Figure 3.19 ‘Rooms’ page of the Site
36
In this page, customers can view the food menus which are available and make
their orders. And customers have got the privilege to mark their destination and
ask the royal catering service to deliver the ordered food.
37
CHAPTER 4: IMPLEMENTATION
4.1 Introduction
The project takes shape during the implementation phase. This phase involves the
construction of the actual project result. It is during this phase that the project becomes
visible to outsiders to whom it may appear that the project has just begun. The
implementation phase is the “doing” phase, and it important to maintain the momentum.
Comments are added to the code to clearly understand the process. Comments can be
used to explain the code, which can help you when you edit the source code in the future.
To build this system, I have used PHP programming language, HTML, CSS and
JavaScript. There are several benefits of using PHP language
a. Open source
b. Cross platform
c. Power
d. User Friendly
e. Quick
f. Extensions
g. Easy Deployment
h. Automatically refreshes
i. Community support
j. Other tools
k. Security
Software
The system has used the following languages and tools to develop the system.
PHP
HTML
CSS
JavaScript
38
The following development tools have been used..
Windows 7 Operating System (also work with the previous versions of Windows)
XAMPP version 3.2.1.0
Apache Server
MySQL
PHP version 5.5.9.0
phpMyAdmin
Net Beans IDE 6.9.1
Adobe Photoshop CS3
Notepad++ version 6.5.5.0
Hardware
Various modules were used while developing the system and the site.
i. Query Datepicker
The datepicker id tied to a standard form input field. Focus on the input (click or
use the tab key) to open an interactive calendar in a small overlay.
39
ii. Google chart
Google chart tools are very powerful, simple to use and free. Column charts,
Histograms, Bar charts, Combo charts, Area charts, Stepped Area charts, Line
charts, Pie charts, Donut charts, etc. are available in Google charts.
iii. PHPMailer
PHPMailer is a PHP class for PHP that provides a package of functions to send
email.The two primary features are sending HTMLEmail and e-mails with
attachments. PHPMailer supports nearly all possibilities to send email and direct
to SMTP server. You can use any feature of SMTP-base-email, multiple
recepientsvia to CC, BBC, etc. As a summary, PHPMailer is an efficient way to
send e-mailwithin PHP. In the system, PHPMailer is used to send emails to the
company mail when a reservation is done. So the receptionist’s responsibility is to
check the availability and give a message to the customer.
40
4.4 Network Implementation
A computer network diagram is a schematic depicting the nodes and connections amongst
nodes in a computer network or, more generally, any telecommunication network.
As in the following diagram, all four branches are inter-connected, the internal staff can
access the system via the web server and the external customers can access it through the
network.
41
4.5.2 Login Module
42
4.5.4 Email Validation
4.6 Security
Encryption
Since the system is dealing with external user (customer) personal information and
payment information hotel’s personal information, this should maintain a powerful
security method. The reason why SHA-1 was selected as the encryption method was
basically SHA-1 could produce 160 bit hash values where MD5 could produce only 128
bit values. So SHA-1 is more secure than MD5 encryption method.
(SHA-1 is the most widely used of the existing SHA hash functions.)
43
Session Handling
SQL Injections
SQL Injection is one of the many web attack mechanisms used by hackers to steal
data from organizations. It is perhaps one of the most common applications layer
attack techniques used today. It is the type of attack that takes advantage of
improper coding of your web applications that allows hacker to inject SQL
commands into say a login form to allow them to gain access to the data held within
your computer.
44
CHAPTER 5: EVALUATION
5.1 Introduction
It is the process of performing a variety of tests in a system to explore functionality or to
identify problems. System testing is usually required before and after a system is put in
place. A series of systematic procedures are referred to while testing is being performed.
These procedures tell the tester how the system should perform and where common
mistakes maybe found.
Testing in itself cannot ensure the quality of the software. All testing can do is giving you
some level of assurance. Testers usually try to “break the system” by entering data that
may cause the system to malfunction or return incorrect information.
System testing can be done in two ways. Those are ‘Black Box Testing’ and ‘White Box
Testing’. White box testing involved in testing individual components where black box
testing involved in testing the functionalities of the system.
45
5.3 Testing Plan and Test Cases
2 Customer Registration Form Fill all the required data and The customer becomes a
click the submit button registered customer
5 Customer Logout Click the ‘Logout’ link Logging out the customer
from the site
46
Test Description Steps Expected Result
Room Reservation
1 View room description Click on each link in the Get the description about the
room categories rooms
2 Check availability Enter the dates that are to be If the days are already
checked for reservations booked, it cannot be selected
3 Choosing the payment Select whether the payment is Both the payment modes
method done by cash or credit card will be available to be
chosen.
4 Validate when the room Select the needed, from the If ignored, a message will
category is not selected given room category list appear saying that the
particular field has not been
selected.
5 Validate when the hotel Select the needed hotel If ignored, a message will
branch is not selected branch from the given list appear saying that the
branch has not been
selected.
6 Arrival & Departure date Either arrival or departure Giving an error message
validation date has not been selected saying that the particular 2
fields have to be updated
8 Submitting the reservation Clicking the submit button The filled form will be
appeared with the
information
47
Test Description Steps Expected Result
Food Reservation
(Food reservations are ONLY done for occasions)
1 View the defined food Click the drop down menu to View the menu in a pdf
segments available see this segments format
2 Validate when the quantity Enter the quantity (so that the If ignored, a message will
is not given (per head) quantity of the food which appear saying that to enter
needed can be decided) the number
3 Enter the customer location Select the option ‘delivery’ if If selected, getting a
(if needed) needed message saying ‘we will
contact you soon’
4 Choosing the payment Select whether the payment is Both the payment modes
method done by cash or credit card will be available to be
chosen.
5 Data validation Enter valid data If not, error messages to the
customer
6 Submitting the reservation Clicking the submit button The filled form will be
appeared with the
information
1 Descriptions about the Click on each link in the hall Get the description about the
banquet halls available categories halls
2 Check availability Enter the date and time that Showing whether the hall is
to be checked for reservations booked on that day (with the
booked time)
3 Choosing the payment Select whether the payment is Both the payment modes
method done by cash or credit card will be available to be
chosen.
48
4 Validate when the hall type Select the needed, from the If ignored, a message will
is not selected given hall category list appear saying that the
particular field has not been
selected.
5 Validate when the hotel Select the needed hotel If ignored, a message will
branch is not selected branch from the given list appear saying that the
branch has not been
selected.
6 Getting personal Clicking the ‘reservation’ Since the customer’s
link after login yourself in personal data has been
entered in the registration
form… In the reservation
form, the ‘personal data’
section has been already
filled
7 Submitting the reservation Clicking the submit button The filled form will be
appeared with the
information
49
Test Description Steps Expected Result
Administration (Officer)
1 Adding a new staff member Fill the relevant details and The new staff member is
to the system click ‘Add’ added to the system
2 Delete a staff member Click on the relevant check The particular member’s
boxes and click ‘Delete’ account will be deleted
3 Change a member’s Click the ‘edit’ button The filled information will
information be allowed to be updated
4 Update the re-filled Click the ‘Update’ button The re-filled information
information will be updates to the system
5 Send messages to the staff Fill the information which is The message will be visible
members needed to be send to the to the member
member and click ‘send’
6 Add a room Fill the necessary details in The new room will be added
the relevant fields. to the system
7 Delete a room Click on the relevant check The particular room will be
boxes and click ‘Delete’ deleted
8 Edit room details Click the ‘edit’ button The filled information will
be allowed to be updated
9 Update the re-filled Click the ‘Update’ button The re-filled information
information will be updates to the system
10 Add room accessories Fill in the necessary details in The new accessories will be
the relevant fields and click added to the particular room
‘Add’
11 Delete room accessories Click on the relevant check The particular room
boxes and click ‘Delete’ accessories will be deleted
12 Edit room accessories Click the ‘edit’ button The filled information will
be allowed to be updated
13 Update the re-filled Click the ‘Update’ button The re-filled information
information will be updates to the system
14 Add a hall Fill the necessary details in The new hall will be added
the relevant fields. to the system
50
15 Delete a hall Click on the relevant check The particular hall will be
boxes and click ‘Delete’ deleted
16 Edit hall details Click the ‘edit’ button The filled information will
be allowed to be updated
17 Update the re-filled Click the ‘Update’ button The re-filled information
information will be updates to the system
18 Add hall accessories Fill in the necessary details in The new accessories will be
the relevant fields and click added to the particular hall
‘Add’
19 Delete hall accessories Click on the relevant check The particular hall
boxes and click ‘Delete’ accessories will be deleted
20 Edit hall accessories Click the ‘edit’ button The filled information will
be allowed to be updated
21 Update the re-filled Click the ‘Update’ button The re-filled information
information will be updates to the system
22 Add a new food item Fill the necessary details in The new food item will be
the relevant fields. added to the system
23 Delete a food item Click on the relevant check The particular food item will
boxes and click ‘Delete’ be deleted
24 Edit food details Click the ‘edit’ button The filled information will
be allowed to be updated
25 Update the re-filled Click the ‘Update’ button The re-filled information
information will be updates to the system
51
CHAPTER 6: CONCLUSION
6.1 Introduction
In the year 1991, Royal Group hotel industry was started by
Mr.Upul Jayarathne. Currently ‘Hotel Royal Park’ which was
started in 1998, ‘Peradeniya Rest House’ which was started in
year 1996, ‘Royal Queen’s Banquet’ and ‘Rest House Ja-Ela’
are running under his commands and nearly 200 staff has being
employed excluding the management. Even though it has being
nearly 25 years yet, all four branches are managed manually.
When looking forward to enhance its sales by attracting
customers and providing better services, the need of a
computerized system arises.
Because it’s a day-to-day customer related industry, an internal system and as well as a
site is important to be maintained.
The implementation of the site is important for the customer to get an idea about the
hotel, to see the facilities available for the customer if he is visiting, to see the food
menus, order food for an occasion, if delivery is needed set up their destination, reserve
room/banquet hall, get to know the hall prices, etc. These are very important to attract the
customer to the hotel since hotel industry is a very competitive industry.
The site and the system were built by using PHP, HTML, CSS and JavaScript.
52
6.2 Future Improvements
The system can maintain an SMS gateway, which will help to keep track on the
customers and help to maintain the efficiency of the system.
The system can manage the HR management of the system which will keep track
of the salaries. Human Resource Management (HRM, or simply HR) is a function
in organizations designed to maximize employee performance in service of their
employer’s strategic objectives.
53
Adding RSS to the system
RSS feeds enable publishers to syndicate data automatically. A standard
XML file format ensures compatibility with many different
machines/programs. RSS feeds also benefit users who want to receive
timely updates from favorite websites or to aggregate data from many
sites.
54
6.4 Problems Encountered During The Process
During the project life cycle several problems were encountered
Increase the efficiency and effectiveness of the performance was the primary objective.
To achieve the goal, different new functionalities were introduce by the client such as
food delivery service.
Class diagrams, ER diagrams, several Use case diagrams were used to analyze the
system. Database was normalized according to the requirements and interfaces were
designed according to user preference.
Testing was done to make sure the reliability of the functions. It was done throughout the
coding part and as well as unit based (unit testing) and finally, based out the entire system
(system testing).
55
REFERENCES
1. [Peter, 1996] Peter Coad, David North, Mark Mayfield, 1996, Object
Models: Strategies, Patterns, and Applications.
3. [Frank, 2001] Frank Armour, Granville Miller, 2001, Advanced Use Case
Modeling: Software Systems
6. [WWW1] http://www.projects.staffs.ac.uk/suniwe/project/rup.html
7. [WWW2] http://www.grafikart.fr/zoombox
8. [WWW3] http://www.codediesel.com/php/6-excellent-charting-libraries-for-
php/
9. [WWW4] http://en.wikipedia.org/wiki/Software_testing
56
APPENDIX A: System Documentation
In this document, it provides the guidelines to the members of the staff of the hotel or any
other interested party who wants to use this hotel management system, on how to install
the system in their machines. This is very useful for future work to be done.
The particular machine should have the following requirements in order to install this
system.
Hardware Requirements
Software Requirements
57
Installing the Hotel Management system
Backup
In order to store the daily backups, have to create a folder in the computer and have to
make sure to copy that folder to an external disk as well.
Usage
Once the ‘Royal Group’ folder is copied to the ‘htdocs’ folder and the database is
imported as above mentioned, the system is ready to run http://localhost/royalgroup/staff
58
APPENDIX B: Design Documentation
Use-case Description
The following diagrams represent the use case diagrams of each module and their
descriptions. This will help to get a clear understanding about the modules that have been
handled in this system
1. Registration
Use-case Register
Actors Customer
Overview
By getting registered their self, the customer can become a registered customer
Pre-conditions
The customer should not be a registered customer already
Flow of Events
1. Customer logs in to the system
2. If any reservation has to be made, before making the reservation the customer has to
register his/her self
Post Conditions
Can log in as a registered customer
Table B.1 Use-case description for ‘Registration’
2. Confirm Reservation
59
Flow of Events
1. Customer logs into the system
2. Check whether the customer has made the reservation correctly
3. Check whether the customer has done the payment
4. If the process is succeeded, proceed. Else remove the reservation
Post Conditions
Confirm the reservation_id
Table B.2 Use-case description for ‘Confirm Reservation ’
Post-conditions
New item is added to the system
60
4. Add staff details
5. Report Generation
Flow of Events
1. All the relevant fields are filled with information
2. The relevant fields are checked, to be countered to generate the report
Post-conditions
Reports will be generated
Table B.5 Use-case description for ‘Report Generation’
61
ACTIVITY DIAGRAM
62
Activity Diagram for Checking the Bill After Reserving a Room
63
DEPLOYMENT DIAGRAM
64
Database Design
This shows the tables in the system and the relations between them.
Customer
This table includes the data about customers who connects with this system.
Login
This table takes the customer’s (registered customer) username and password and
check the validity with the database existing values.
65
Register
Reservation
66
System User
The internal system user’s data are managed in this ‘system_user’ table. These are
saved in the database from this table.
User Type
As per this system, there are ten (10) actors involved. They all have a category ID
(user_cat_id), category name (user_cat_name) and a description
(user_cat_description). The system recognizes the user by its category ID. All of
them are saved in the database by the help of this table.
67
APPENDIX C: User Documentation
This documentation is for the users who are going to access the hotel management system
to get to know their functionalities of the system and use it efficiently. In this system
there are ten users. They are Chairman, Manager, Food Assistant Manager, Room
Assistant Manager, Hall Assistant Manager, Expenditure Handling Assistant Manager,
Accountant, Cashier, Receptionist, Administrator and Registered Customer. Privileges of
these users are given below
i. Chairman
a. Generate reports
b. View manager’s report
ii. Manager
a. View all the assistant manager’s generated reports
b. Generate reports to the chairman
vii. Accountant
a. Responsible for handling transactions within departments and budgetary
requirements and allocation of funds
b. Viewing cashier’s reports
c. Generating reports to the chairman
68
viii. Cashier
a. Handle payment of the customer
b. Generating reports to the accountant
ix. Receptionist
a. If a reservation is done manually (by customer visiting the hotel), the data
entry is done by the receptionist
b. Generating reports to relevant assistant manager
x. Officer (Administrator)
a. Data entry is done by him
69
Login
This is the very first interface that the user sees (Login interface). When a system user
enters to the system by giving their username and password, the system will re-direct
them to their relevant pages.
70
After clicking the ‘Add Food’ tab, a table will appear to add the data about that particular
food item to be filled.
In the ‘Rooms’ page there are three (3) links. They are
i. Reserve
ii. Login
iii. Sign Up Yourself
71
Figure C.5 Links available in the ‘Rooms’ page
So the next would be clicking the ‘Sign Up Yourself’ link to get the registration form.
72
After filling the registration form click the ‘Register’ button.
73
After registering yourself (after clicking the ‘Register’ button), the customer’s data will
be saved in the database. And as for the customer’s point of view, the page will re-direct
to the ‘Rooms’ page.
Then the customer has to login himself as a registered customer to make the reservation.
So the ‘Login’ should be clicked now.
After clicking that, the login interface will be loaded for the customer to login their
selves.
74
After clicking the ‘Login’ button, customer has successfully entered to the system to
make a reservation.
So the page will be loaded again. But this time it will show the customer’s identification
by displaying the customer name on top of the site. And this time, the page will load
without the ‘Login’ and ‘Sign up Yourself’ links.
Then the customer can make the reservation as wanted. (Every image in the image slider,
in the right side gives a description about the room category)
75
Figure C.13 Customer reservation page
76
APPENDIX D: Management Reports
Officer’s Interface to View the Room
After the officer adds new rooms with its relevant fields filled, rather than checking one
by one, this interface helps the officer to check the rooms in the hotel branches.
(Ex- When you need to find all the ‘Deluxe’ rooms, have to it on the search bar and click
the search button, and the particular rooms will be displayed.)
Likewise the hall and food viewable pages are also available. These interfaces will help
the officer to analyze data and generate reports.
77
APPENDIX E: Test Results
This document provides necessary test cases for both site and system. (Please refer to CD
for other test results.)
Try to do a reservation without signing into the system or if not getting registered into the
system.
Figure E.2 Error message for clicking the ‘Reservation’ link before registering
78
When trying to access without entering the information
Figure E.3 Error message for not entering data to the fields
79
APPENDIX F: Code Listing
As this project is done from structured manner, coding of some classes are included
below. (Because of the space problem, only the main parts are included and some
methods are removed. Please refer the CD for whole code.)
(Since there are 10 actors in the system and the code is lengthy, only the first two
categories are shown below)
80
81
After adding a new food item, the information of that particular item goes to the database
throughout this process.
When a customer makes the reservation, all the information goes to the database and get saved
so that, when the customer makes a reservation, the record will get entered in the system.
82
83
APPENDIX G: Client Certification
84
GLOSSARY
Asynchronous JavaScript and XML (AJAX)
- Ajax is a group of interrelated web development techniques used on the
client-side to create asynchronous web applications. With Ajax, web
applications can send data to, and retrieve data from, a server
asynchronously (in the background) without interfering with the display
and behavior of the existing page. Ajax is not a single technology, but a
group of technologies. HTML and CSS can be used in combination to
mark up and style information.
Database
- An organized collection of data
JavaScript
- An object oriented computer programming language commonly used to
create interactive effects within web browsers.
JQuery
- This is a cross platform JavaScript library designed to simplify the client-
side scripting of HTML.
85
Md5
- MD5 message-digest algorithm is a widely used cryptographic hash
function producing a 128-but (16-byte) hash value, typically expressed in
text format as a 32 digit hexadecimal number.
-
Secure Hash Algorithm (SHA-1)
- A cryptography hash function designed by the United States National
Agency which produces a 160-bit message digests.
-
86
INDEX
A
P
Activity Diagram · vii, 62, 63
Apache Server · 39 PHP · ii, 38, 39, 40, 44, 52, 54, 55, 85
PHPMailer · 40
phpMyAdmin · 39, 58
C
Charts · 49 R
Class diagram · v, 28
Code · vi, 41, 57, 80 reservation · v, 11, 12, 13, 14, 18, 19, 23, 24, 26, 34,
CSS · 38, 52, 85 35, 37, 40, 47, 48, 49, 59, 60, 69, 71, 72, 74, 75, 76,
customer · ii, 12, 13, 14, 17, 18, 19, 20, 24, 30, 34, 35, 78, 82
37, 40, 43, 45, 46, 47, 48, 49, 52, 55, 59, 60, 65, 66,
68, 69, 72, 74, 75, 82
S
M Validation · 43, 56
Module · 14, 42
W
87
88