Sunteți pe pagina 1din 89

Web based Hotel Management System for the Royal

Holidays Hotel and Resorts


(Pvt) Ltd.

Miss Kaushani Piyumadara Jayarathne

BIT registration Number: R112694

Index Number: 1126946

Client – Mr. Kasun Karunarathne

Supervisor – Mr. Daminda Shantha Herath

December 2014

BI
T
This Dissertation is submitted in partial fulfillment of the requirement of the

Degree of Bachelor of Information Technology (external) of the

University of Colombo School of Computing


ii
ABSTRACT

‘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.2 RAD Model…………..…………………………………………………………..12

Figure 3.3 RUP Model…………...………………………………………………………….13

Figure 3.4 Room Reservation………………….……………………………………………14

Figure 3.5 Food Reservation…………………......………………………………………….15

Figure 3.6 Inventory Control & Expenditure Handling……….…………….………………15

Figure 3.7 Content Management………...…………………………………………………..16

Figure 3.8 Report Generation…….………………………………………………………….16

Figure 3.9 High Level USE CASE diagram for the system…………………………………17

Figure 3.10 ER Diagram...……………………………………………………………………18

Figure 3.11 Class Diagram for the system ……………………………………………………19

Figure 3.12 Database Structure….……...…………………………………………………….19

Figure 3.13 User Login Interface………..……………………………………………………21

Figure 3.14 Officer’s Interface………….……………………………………………………21

Figure 3.15 Food Adding……….…………………………………………..………………..22

Figure 3.16 Room Reservation Form…………………………………………………………23

Figure 3.17 ‘Home’ page of the site…………….……………………………………………24

Figure 3.18 ‘Rooms’ page of the site…………….….………………………………………..25

Figure 3.19 ‘Catering’ page of the site…....………………………………………………….25

Figure 3.20 Customer Login…………………………..……………………………………..26

Figure 4.1 Network Diagram…….…………………………………………………………30

Figure B.6 Activity Diagram for Reserving a Room………………………………………..52

Figure B.7 Activity Diagram for Checking the Standard Bill……………………………….53

Figure B.8 Deployment Diagram…………………………………………………………….54

vii
Figure B.9 Database Structure of the ‘Customer’ Table……………………………………..55

Figure B.10 Database Structure of the ‘Login’ Table…………………………………………55

Figure B.11 Database Structure of the ‘Register’ Table………………………………………56

Figure B.12 Database Structure of the ‘Reservation’ Table…………………………………..57

Figure B.13 Database Structure of the ‘System User’ Table………………………………….57

Figure B.14 Database Structure of the ‘User Type’ Table……………………………………57

Figure C.1 Login Interface for the System Users……………………………………………60

Figure C.2 Adding New Food Item………………………………………………………….60

Figure C.3 Adding Information about the New Food Item………………………………….61

Figure C.4 Menu Tab………………………………………………………………………...61

Figure C.5 Links Available In the ‘Rooms’ Page……………………………………………62

Figure C.6 Error Message Shown in the Reservation Link………………………………….62

Figure C.7 ‘Sign-Up’ Page…………………………………………………………………..62

Figure C.8 ‘Register’ Button in the Sign-Up Page…………………………………………..63

Figure C.9 Displaying Error Messages in the ‘Sign-Up’ Page………………………………63

Figure C.10 Re-Directing to the ‘Rooms’ Page after Registration……………………………64

Figure C.11 Customer Login Interface………………………………………………………..64

Figure C.12 Registered Customer in the ‘Rooms’ Page………………………………………65

Figure C.13 Customer Reservation Page……………………………………………………...66

Figure D.1 Viewing Room Information……………………………………………………...67

Figure D.2 Chart for Room Reservation by Month………………………………………….68

Figure E.1 Error Message for Entering Wrong Username or Password…………………….69

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

Figure E.4 Successfully Log Out…………………………………………………………..7

viii
LIST OF TABLES
Table 5.1 Test Cases for Common Functions..…………………..…………………………36

Table 5.2 Test Cases for Room Reservation………………………………………………..37

Table 5.3 Food Reservation………………………………….……………………………..38

Table 5.4 Test Cases for Hall Reservation…………….….………………………………..38

Table 5.5 Test Cases for Report Generation…………..…..……………………………….39

Table 5.6 Test Cases for Administration…..……………………………………………….40

Table A.1 Hardware Requirements………………………………………………………….47

Table A.2 Software Requirements…………………………………………………………..47

Table B.1 Use-Case Description for ‘Registration’…………………………………………49

Table B.2 Use-Case Description for ‘Confirm Reservation’………………………………..50

Table B.3 Use-Case Description for ‘Adding New Food Item’…………………………….50

Table B.4 Use-Case Description for ‘Add Staff Details’…………………………………...51

Table B.5 Use-Case Description for ‘Report Generation’…………………………………..51

ix
LIST OF ACRONYMS

AJAX - Asynchronous JavaScript and XML

CD ROM - Compact Disc Read Only Memory

CSS - Cascading Style Sheet

DBMS - Database Management Systems

ER - Entity Relationship

GUI - Graphical User Interface

HTML - Hypertext Mark

PHP - Hypertext PreProcessor

RAD - Rapid Application Development

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.

1.2 Motivation for the Project


Hotel and Banquet industry is one of the most expanding businesses in Sri Lanka. Royal
Park is a leading hotel at Kiribathgoda. During the past few years, they have been
expanding their business to venues such as Peradeniya, Ja-Ela and Wattala. Hotel Royal
Park is currently running on a manual system.

11
The current system is facing the problems listed below.

 Managing branches in different locations is hard to in less amount of time.


 Reservations are done often by phones and the information is recorded in huge
books. By this, the ability to have redundant data is high. Referring that
information takes a lot of time and sometimes it will not be available too.
 Searching about different sectors inside the management is hard.
 Historical data cannot be viewed easily and anytime.
 Inventory control is poor.
 Expenditure handling is hard when the system is running manually.
 Giving notifications and feedback to the customer is not efficient while having a
manual system.

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.

1.3 Objectives for the project


The main goal of this project is to provide a complete and accurate solution to improve
the efficiency, reliability, accuracy of the current manual system by implementing a web
based system.
The objectives of this project are listed below

 Arrange the current file base system into a DBMS.


 Reduce data redundancy
 To ease staff and admin with facilities for reservation process.
 Ensure the security and integrity of data and information by providing user
privileges to appropriate user and by implementing controls.
 Provide chairman and managers the privilege to view the progress of the hotel.
 Generate reports to the higher level managers in a timely manner.
 Create an attractive web based system to provide online reservation to the
customer.
 Maintain an online food reservation, room reservation and hall reservations
service to the customer.
 Maintain a food delivery service for customer satisfaction. (this service depends
on the designation of the customer)
 Giving the customer a feedback via email after the reservation is done.

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.

The scope of this project is as follows

 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.

 Inventory Control and Expenditure handling


This section will manage the inventory items regarding provisions, furniture under
capital logistics and also the expenditure of the hotel.

 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.

 Customer Feedback and notification Module


Giving the customer a feedback immediately after any interaction

1.5 Structure of the dissertation


The dissertation chapters provide a clear understanding about the overall project. This
includes six chapters.

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.

Design - This chapter defines the design methodologies, tools and


techniques used in the design phase and the database design. It also
includes detailed Use-case diagrams, ER diagrams and some if the
graphical user interfaces.

Implementation - In this chapter hardware, software and needed technologies are


explained. And also it contains the major code segmentations.

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.

2.2 Fact Gathering Techniques


When gathering requirements, it has to be

a. a statement of what the system


b. a statement of characteristics that the system must have
c. focus is on business user needs during the analysis phase

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

It is the technique used to extract information from number of people. This


method can be adopted and used only by a skillful analyst.

iii. Document Review

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.

2.3 Existing System

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.

Though Royal Holidays Hotel


has 25 years of history,
currently they are running on a
manual system. Both
internally and externally
interactions are done
manually. Even though they
have a customer friendly web
site to get information about
the hotel, all the reservations
are done via telephones.

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.

2.5 Functional requirements


Functional requirements of the hotel management system are listed down below.

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.

vi. User management


a. The user should be able to add details of newly recruited employees and
manage details of existing employees.

vii. Report generation


a. This should allow the assistant managers of the branches to collect
reports of different departments and to generate reports in a timely
manner as well.
b. This should allow the manager to view the reports which were sent
and generate reports as well.

viii. Customer feedback and notification


a. The system should allow the users to subscribe for newsletters via
email, so as to inform about special offers and rates.

2.6 Nonfunctional requirements

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.

2.7 Reasons to choose a Web Based System


a. Cross platform compatibility.
b. Customers can access the system from any location. (No logical
boundaries)
c. The management can generate reports at any time.
d. More manageable.
e. Highly deployable.
f. Secure live data.
g. Reduce costs.
h. Request of the customer to have a web based system.

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.

The following UML modeling diagrams were used.

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

3.2 Process Models


A process model is a description of the sequence of activities carried out in SE projects
and the relative order of these activities. It provides a fixed generic framework that can be
tailored to a specific project. [Sommerville Chapters 4,17,19,12.4]

3.2.1 Waterfall Method


The waterfall method is a sequential design process, often used in software
development processes, in which progress is seen as flowing steadily downwards
(like a waterfall) through the phases of Requirement gathering, System design
and Specification, Coding and verification, Testing and Integration and
Maintenance.

Figure 3.1 Waterfall Model

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.

Figure 3.2 RAD Model

3.2.3 Rational Unified Process Model


This divides the development process into four distinct phases that each involves
business modeling, analysis and design, implementation, testing and deployment.

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

The project’s architecture and required resources are further evaluated.


Developers consider possible applications of the software and costs
associated with the development.

iii. Construction

The project is developed and completed. The software is designed, written


and tested.

iv. Transition

The software is released to the public. Final adjustments or updates are


made based on feedback from end users.

22
Figure 3.3 RUP Model

3.3 USE CASE Diagram


A use case diagram acts as a focus for the description of user requirements. It describes
the relationships between requirements, users, and the major components. It does not
describe the requirements in detail; these can be described in separate diagrams or in
documents that can be linked to each use case.

In here, the overall use case diagram and some main use case descriptions are discussed
in detail.

3.3.1 Room Reservation


Reservation related processes are handled in this section. 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 reservation. Receptionist
will be able to get all this filled details to manage the database. Cashier will be
handling the payment. Administrator will be able to view all this, because
weekly/monthly a report has to be generated and send to the manager.

23
Figure 3.4 Room Reservation

3.3.2 Food 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

3.3.3 Inventory control and expenditure handling

This section will manage the


inventory items regarding
provisions, furniture under capital
logistics and also the expenditure of
the hotel. All these are handled by
the accountant and the
administrator can view the
expenditure.

Figure 3.6 Inventory Control & Expenditure Handling

25
3.3.4 Content Management

The administrator may add, delete, modify or show/hide the content of the system
to the user.

Figure 3.7 Content Management

3.3.5 Report Generation

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.

Figure 3.8 Report Generation

26
3.3.6 High level USE CASE diagram for the system

Figure 3.9 High Level USE CASE Diagram

27
3.4 Entity Relationship Diagram

An entity-relationship diagram (ERD) is a data modeling technique that graphically


illustrates an information system’s entities and the relationships between those entities.
An ERD is a conceptual and representational model of data used to represent the entity
framework infrastructure.

Figure 3.10 ER Diagram

3.5 Class diagram for the system

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

3.6 Database Design

Figure 3.12 Database Structure

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.

3.7 User Interface design


User interface designs are mainly used for the interaction of the users with the system
where users will view only the smooth and attractive front end working part but not the
back end.

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.

a. Choosing readable and clear set of fonts.


b. Using colors which match the business theme.
c. Use attractive, meaningful icons
d. User friendly
e. Suitable error messages should prompt whenever the user encounters problems.

3.8 Main Interfaces

3.8.1 The User Login Interface

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

3.8.2 Chairman’s Login Interface

Figure 3.14 Chairman’s Profile 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.

3.8.3 Officer (Admin) login

Figure 3.15 Officer’s Interface

This is the Officer’s (Administrator’s) interface. He is empowered to do Food


Management, Room Management, Hall Management and Inventory &
Expenditure. In each and every management category, Officer has got the
privilege to add, edit, delete and view.

32
3.8.3 Officer Adding a Food Item

Figure 3.16 Food Adding

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.

After submitting, the item will be added to the system.

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.

Figure 3.17 Room Reservation Form

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.

Figure 3.18 ‘Home’ page of the site

3.8.6 ‘Rooms’ Page of the Site


A clear description about the room categories which are available in all four
branches are given in this page. The customer can select a room and try to make a
reservation from this page.

35
Figure 3.19 ‘Rooms’ page of the Site

3.8.7 ‘Catering’ Page of the Site

Figure 3.20 ‘Catering’ 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.

3.8.8 Customer login


Customers can ONLY do a reservation, if he/she is a registered customer. If they
are not registered, first they have to register their selves. And if he/she is already a
registered customer, they can log their self in by giving the username and
password.

Figure 3.21 Customer Login

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.

4.2 Implementation Environment

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

Intel® Core™ i7 Processor


4GB RAM
80GB free hard space

4.3 Reused Modules

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.

Figure 4.1 Network Diagram

4.5 Code Segments

4.5.1 Database Connection

41
4.5.2 Login Module

4.5.3 Sign-Out Module

42
4.5.4 Email Validation

4.5.5 NIC 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

Session support in PHP consists of a way to preserve data across subsequent


accesses. This enables you to build more customize applications and increase the
appeal of your website.

 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.

5.2 Testing Procedure

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.

And except for that, unit testing is done in order to


test each and every unit in the system and later, these
units were tested together using integration testing.

Furthermore, acceptance testing is done to check


whether customer data is acceptable in the system
and finally, the system testing is used to check the
complete system.

45
5.3 Testing Plan and Test Cases

Test Description Steps Expected Result

Common Functions In the External Site

1 Customer registration Clicking the ‘Sign up Getting the registration form


yourself’ link

2 Customer Registration Form Fill all the required data and The customer becomes a
click the submit button registered customer

Miss one data filed to fill Gives a message saying that


the particular filed is not
filled
Giving a wrong NIC number Giving a message

Giving an invalid email Giving a message


address
Filling the either one or both Give the message saying
‘Date of Birth’ filed or ‘NIC that the date of birth and the
number’ wrong NIC number are not
matching
Filling the ‘Phone’ filed with Give a message saying that
non-numeric it has to be filed in using
integers

Clicking the submit button Giving a message saying


that the email address and
the NIC number has become
the customer’s user name
and password
3 Customer Login Giving the username and If the given user name and
password to login password matches with the
data database stored
information, log the
customer IN.

5 Customer Logout Click the ‘Logout’ link Logging out the customer
from the site

Table 5.1 Test Cases for Common Functions

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

7 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

8 Submitting the reservation Clicking the submit button The filled form will be
appeared with the
information

Table 5.2 Test Cases for Room Reservation

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

Table 5.3 Test Cases for Food Reservation

Test Description Steps Expected Result


Hall Reservation

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

Table 5.4 Test Cases for Hall Reservation

Test Description Steps Expected Result


Report Generation

1 Generate Charts Select the relevant The relevant graph will be


parameters and click generated
‘Generate’
2 Generate Reports Enter the relevant parameters The relevant report will be
and click ‘Generate’ generated

3 Data validation Enter invalid data An error message will be


displayed
Ignore at least one data filling An error message will
displayed

Table 5.5 Test Cases for Report Generation

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

Table 5.6 Test Cases for Administration

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 implementation of the system is very important as chairman, manager, assistant


managers (food, hall, room), cashier, accountant, receptionist, administrator are all part of
it. It helps to maintain a smooth run in the work and keep necessary documentations,
reports and statistical charts that will show the improvements of all four branches from
time to time. The system allows the customers to check for availability of the rooms &
banquet halls in all four branches, do online reservations, check for available food setup
menus, and plan their stay at the hotel.

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.

An SMS gateway allows a computer to send or receive Short Message


Service (SMS) transmission to or from a telecommunications network.
Most messages are eventually routed into the mobile phone networks.
Many SMS gateways support media conversion from email and other
formats.

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.

6.3 Lessons Learnt


By undertaking this project,

a. This was a great opportunity to get a practical knowledge of what we


learnt so far throughout the BIT degree program.
b. From the beginning, requirement gathering to the deployment of the
system was not a smooth task. It helped me to learn to cooperate with
people and to manage work and time
c. Obtain knowledge in programming with PHP and MySQL.
d. Experiencing the project management cycle and most of the knowledge
areas relevant to the project development.
e. Obtain knowledge, how to manage the scope, time and resources.
f. Writing of the thesis followed by the standard methods was another
learning outcome.

54
6.4 Problems Encountered During The Process
During the project life cycle several problems were encountered

i. Gathering information from different types of users was very time


consuming.
ii. Gathering requirements from four various different branches located in
several places were hard.
iii. Extracting useful information from the gathered requirements to design the
system was very critical.
iv. Time management
v. Short of knowledge in programing with PHP and MySQL lead to incur
more time for coding and testing.

6.5 Critical Evaluation of The Project Development


Project development was started with requirement gathering and analyzing the problem
domain. Since the client is currently having a manual system, requirement gathering and
customer satisfaction was a hard task to accomplish. Due to the unfamiliarity of the
problem domain, this stage took a long period of time in the project life cycle.

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.

2. [Booch, 2007] Grady Booch, 2007, Object-Oriented Analysis and Design

3. [Frank, 2001] Frank Armour, Granville Miller, 2001, Advanced Use Case
Modeling: Software Systems

4. [Sommerville, 2007] I.Sommerville, Software Engineering, 8th edition,


Addison-Wesley, 2007.

5. [Sommerville, 2004] I.Sommerville, Software Engineering, 7th edition,


Addison-Wesley, 2004.

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

10. [WWW5] http://bazman.tripod.com/what_testing.html

11. [WWW6] http://www.w3schools.com/sql/default.asp

12. [WWW7] http://www.w3schools.com/php/default.asp

13. [WWW8] http://www.w3schools.com/css/default.asp

14. [WWW9] http://www.w3schools.com/jquery/default.asp

15. [WWW10] http://www.w3schools.com/jquery/jquery_ajax.asp

16. [WWW11] https://github.com/posabsolute/jQuery-Validation-Engine

17. [WWW12] http://docs.jquery.com/Downloading_jQuery

18. [WWW13] http://www.mysql.com/products/workbench/

19. [WWW14] http://ptgmedia.pearsoncmg.com/images/013147149X


/downloads/013147149X_book.pdf

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

Hardware Minimum Requirement


Processor 1Ghz Processor or greater
Memory 1GB RAM or higher
Hard Disk Space 1GB or higher
Display 1024x768 or higher
Internet Minimum 512kbps
Printer Dot-matrix printer or any
Table A.1 Hardware requirements

Software Requirements

Software Minimum Requirements

Operating System Windows XP/ Windows 7/ Windows Vista


XAMPP sever Version 3.2.1
Web Browser Google Chrome / Firefox
Code Editor Net Beans IDE(php version) 6.9.1 or higher
Image Editor Adobe Photoshop
PDF converter PDF24
Database MySQL server 5 or higher
Table A.2 Software requirements

57
Installing the Hotel Management system

i. Download XAMPP server and install it to C:\path of the computer.


ii. Copy the hotel management folder in the CD and paste it into the htdocs folder as
in the path given below.
C:\xampp\htdocs

Setting up the Database

i. Open phpMyAdmin by typing the URL http://localhost/phpmyadmin in the


browser’s address bar.
ii. Login by using the username and password.
iii. Create a blank database as ‘Royal Group’
iv. Click the ‘import’ tab and browse the ‘Royal Group.sql’ file in the CD.
v. Click the ‘go’ button to import the ‘royal group.sql’ file into the newly created
‘Royal Group’ database.

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

Use-case Confirm Reservation

Actors Registered Customer


Overview
Customer confirms their reservation
Pre-conditions
1. Customer must be a registered customer
2. Customer must log in him/ herself in before making a 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 ’

3. Add a new food item


(This method is applied for adding rooms and halls too)

Use-case Add a new food item to the system


Actors Officer (Admin)
Overview
The Officer add new food item room
Pre-conditions
Need to have valid and correct details about the adding food
Flow of Events
1. Officer must log himself in
2. Go to the relevant adding section (Add a new food item)
3. Add details

Post-conditions
New item is added to the system

Table B.3 Use-case description for ‘Adding new food item’

60
4. Add staff details

Use-case Add staff details


Actors Officer
Overview
The Officer adds the staff members into the system
Pre-conditions
Valid and correct details of the staff members
Flow of Events
1. Officer logs into the system
2. Add the staff member’s details
Post-conditions
Staff member is added to the system
Table B.4 Use-case description for ‘Add staff details’

5. Report Generation

Use-case Report Generating


Actors Chairman & Managers
Overview
Report generating according to the parameters
Pre-conditions
Data should be entered in the relevant fields to be generated

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

Activity Diagram for Reserving a Room

Figure B.6 Activity diagram for reserving a room

62
Activity Diagram for Checking the Bill After Reserving a Room

Figure B.7 Activity diagram for checking the standard bill

63
DEPLOYMENT DIAGRAM

A deployment diagram in the Unified Modeling Language models the physical


deployment of artifacts on nodes. To describe a web site, for an example, a deployment
diagram would show what hardware components exist, what software components run on
each node and how the different pieces are connected.

Figure B.8 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.

Figure B.9 Database structure of the ‘Customer’ table

Login

This table takes the customer’s (registered customer) username and password and
check the validity with the database existing values.

Figure B.10 Database structure of the ‘Login’ table

65
Register

If the customer is not a registered customer, he/she cannot do the reservations. So


he/she must register themselves. These are the information which is taken from
them. That information is saved in this ‘register’ table.

Figure B.11 Database structure of the ‘Register’ table

Reservation

Figure B.12 Database structure of the ‘Reservation’ table

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.

Figure B.13 Database structure of the ‘System User’ 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.

Figure B.14 Database structure of the ‘User Type’ 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

iii. Food Assistant Manager


a. Manage customer food reservations
b. Generating reports to the Manager

iv. Room Assistant Manager


a. Manage customer room reservations
b. Generating reports to the manager

v. Hall Assistant Manager


a. Manage customer banquet hall booking
b. Generating reports to the manager

vi. Expenditure Handling Assistant Manager


a. Handling all the expenditure in the hotel
b. Generating reports to the manager

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

xi. Registered Customer


a. Reservations are done only by the registered customers
(It’s a must to register before doing any reservation)

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.

Figure C.1 Login interface for the system users

General method of adding a new food item to the system


(This is applying to both hall and room)

Figure C.2 Adding new food item

70
After clicking the ‘Add Food’ tab, a table will appear to add the data about that particular
food item to be filled.

Figure C.3 Adding information about the new food item

General method of doing a room reservation


(This applies to the hall and food reservation too)

Figure C.4 Menu tab

Click on the ‘Rooms’ tabs in the site.

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

A reservation can only be done by a registered customer. Hence before making a


reference, the customer must register him/herself.

Figure C.6 Error message shown in the reservation link

So the next would be clicking the ‘Sign Up Yourself’ link to get the registration form.

Figure C.7 ‘Sign-Up’ page

72
After filling the registration form click the ‘Register’ button.

Figure C.8 ‘Register’ button in sign up page

Filling all this field is a must.

Figure C.9 Displaying error messages in the ‘sign-up’ page

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.

Figure C.10 Re-directing to the ‘Rooms’ page after registration

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.

Figure C.11 Customer login interface

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.

Figure C.12 Registered customer in the ‘Rooms’ page

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.

There’s a search bar to search room by its category.

(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.)

Figure D.1 Viewing room information

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.)

Enter wrong username or password

Figure E.1 Error message for entering wrong username or password

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

When successfully logged out

Figure E.4 Successfully Logout

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.)

Giving Privileges to the users to log into the system

(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.

 Apache HTTP Server


- An open source HTTP web server which is a project of Apache
Foundation.

 Cascade Style Sheet (CSS)


- Cascading Style Sheet (CSS) is a simple mechanism for adding style
(e.g : fonts, colors, spacing, etc..) to Web documents.

 Database
- An organized collection of data

 Graphical User Interface


- This is a visual way of interacting with a computer using items such as
windows, icons and menus, used by most modern operating systems.
 Hypertext Processor
- PHP is a server side scripting language designed for web development but
also used as a general purpose programming language.
 Hypertext Transfer Protocol Secure (HTTP)
This is a set of standards that allow users of the World Wide Web to
exchange information found on web pages.
 Internet
- A global computer network providing a variety of information and
communication facilities, consisting of interconnected networks using
standardized communication protocols.

 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.

 Rapid Application Development (RAD)


- A software development methodology that involves methods like iterative
development and software prototyping.

-
 Secure Hash Algorithm (SHA-1)
- A cryptography hash function designed by the United States National
Agency which produces a 160-bit message digests.
-

 Unified Modeling Language (UML)


- This is a general purpose modeling language in the field of software
engineering, which is designed to provide a standard way to visualize the
design of a system.

 World Wide Web (WWW)


- This is a system of interlinked hypertext documents that are accessed via
the Internet.

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

H Software · x, 38, 56, 57


System · i, ii, vi, viii, 17, 20, 21, 39, 45, 57, 67
Hardware · x, 39, 57
HTML · 38, 52, 85
T

J Test Cases · x, 46, 47, 48, 49, 51

JavaScript · 38, 52, 85


U

L USE CASE · v, vii, 23, 27


Use case Diagram · 21
Login · v, vi, vii, viii, 30, 31, 37, 42, 46, 58, 65, 70, 71,
74, 75
V

M Validation · 43, 56

Module · 14, 42
W

Waterfall Model · vii, 21

87
88

S-ar putea să vă placă și