0% found this document useful (0 votes)
15 views

Hbms4 (1)

The document is a project report for a Hotel Booking Management System developed by students at Bhagwan Mahavir College of Computer Application as part of their Bachelor of Computer Application degree. It outlines the project's objectives, structure, and progress, detailing the technology used and the roles of each team member. The system aims to automate hotel booking processes, improve user experience, and enhance data management efficiency.

Uploaded by

ayushsidpara
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

Hbms4 (1)

The document is a project report for a Hotel Booking Management System developed by students at Bhagwan Mahavir College of Computer Application as part of their Bachelor of Computer Application degree. It outlines the project's objectives, structure, and progress, detailing the technology used and the roles of each team member. The system aims to automate hotel booking processes, improve user experience, and enhance data management efficiency.

Uploaded by

ayushsidpara
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 81

A Project Report on

“HOTEL BOOKING MANAGEMENT SYSTEM”


At

“Bhagwan Mahavir College of Computer Application”,


Bharthana-Vesu, Surat
As A Partial Fulfilment for The Degree Of

Bachelor of Computer Application

2024-25

Guided By Submitted By:


Asst. Prof. Ravi J. Patel Yash Barvaliya
Sahil Kathiriya
Vraj Vaghasiya
Jenish Vaddoriya

Bhagwan Mahavir College of Computer Application


Bharthana-Vesu, Surat
Affiliated With

Bhagwan Mahavir University, Surat, Gujarat, India


BHAGWAN MAHAVIR COLLEGE
OF
COMPUTER APPLICATION

Certificate
This is to certify that the summer project entitled “CAR SHOWROOM
MANAGEMENT SYSTEM” has been

submitted by BHANDERI SAHIL D. ENROLLMENT NO.:

2202020101056 at Bhagwan Mahavir College of Computer Application as a

partial fulfilment of the requirement for the degree of Bachelor of Computer

Application for the academic Year 2024-25.

Place: BMCCA , Surat

Date:

Asst. Prof. Ravi J. Patel Asst. Prof. Dr. Hetal Modi

(Project Guide, BMCCA) (Program Head)


BHAGWAN MAHAVIR COLLEGE
OF
COMPUTER APPLICATION

Certificate
This is to certify that the summer project entitled “CAR SHOWROOM
MANAGEMENT SYSTEM” has been

submitted by BHANDERI MANTHAN ENROLLMENT NO.:

2202020101055 at Bhagwan Mahavir College of Computer Application as a

partial fulfilment of the requirement for the degree of Bachelor of Computer

Application for the academic Year 2024-25.

Place: BMCCA , Surat

Date:

Asst. Prof. Ravi J. Patel Asst. Prof. Dr. Hetal Modi

(Project Guide, BMCCA) (Program Head)


BHAGWAN MAHAVIR COLLEGE
OF
COMPUTER APPLICATION

Certificate
This is to certify that the summer project entitled “ CAR SHOWROOM

MANAGEMENT SYSTEM ” ha n itt

SIDPARA AYUSH R ENROLLMENT NO.: 2202020101828

at Bhagwan Mahavir College of Computer Application as a partial fulfilment of

the requirement for the degree of Bachelor of Computer Application for the

academic Year 2024-25

Place: BMCCA , Surat

Date:

Asst. Prof. Ravi J. Patel Asst. Prof. Dr. Hetal Modi

(Project Guide, BMCCA) (Program Head)


BHAGWAN MAHAVIR COLLEGE
OF
COMPUTER APPLICATION

Certificate
This is to certify that the summer project entitled “HOTEL BOOKING
MANAGEMENT SYSTEM” has been

submitted by Vaddoriya Jenish Girishbhai ENROLLMENT NO.:

2202020101910 at Bhagwan Mahavir College of Computer Application as a

partial fulfilment of the requirement for the degree of Bachelor of Computer

Application for the academic Year 2024-25

Place: BMCCA , Surat

Date:

Asst. Prof. Ravi J. Patel Asst. Prof. Dr. Hetal Modi

(Project Guide, BMCCA) (Program Head)


BHAGWAN MAHAVIR COLLEGE OF
COMPUTER APPLICATION

Date: - 02/03/2025

PROJECT PROGRESS REPORT


1. Project Group No: 50

2. Project Title: Hotel booking management system

3. Project Guide Name: Asst. Prof. Ravi J. Patel


Progress Report No: 1
Progress Report Duration: From 25/01/2025 to 10/02/2025
Project Group Student Names:

1) BHANDERI SAHIL 2) BHANDERI MANTHAN


3) SIDPARA AYUSH 4)

Project Detail:
Project Name: HBMS
Front End: HTML, CSS, JAVASCRIPT, JQUERY
Back End: PHP, MYSQL ( DATA BASE )

Sr.
Student Name(s) Description
No.
1. BHANDERI SAHIL Back-end Design: Home, About Us.
2. BHANDERI MANTHAN Back-end Design: Car listing, Contact Us.
3. SIDPARA AYUSH Front end Design: Home, About Us.

4.

9. Next Progress Report Date: 11/02/2025

Project Guide Name: Asst. Prof. Ravi J. Patel

Project Guide Sign:

bhagwanmahaviruniversity Bhagwan Mahavir University BMUsurat


Bhagwan Mahavir College of Computer Application, BMU, VIP Road, Surat 395007
www.bmusurat.ac.in | 7575803091 / 0261-6770125/123
BHAGWAN MAHAVIR COLLEGE OF
COMPUTER APPLICATION

Date: - 02/03/2025

PROJECT PROGRESS REPORT


1. Project Group No: 50
2. Project Title: Hotel booking management system

3. Project Guide Name: Asst. Prof. Ravi J. Patel


Progress Report No: 2
Progress Report Duration: From 12/02/2025 to 21/02/2025
Project Group Student Names:

1) BHANDERI SAHIL 2) BHANDERI MANTHAN


3) SIDPARA AYUSH 4)

Project Detail:
Project Name HBMS
Front End: HTML, CSS, JAVASCRIPT, JQUERY
Back End: PHP, MY SQL( DATA BASE )
Task Completed

Sr.
Student Name(s) Description
No.
1. BHANDERI SAHIL Working on Back-end: U s e r Site.
2. BHANDERI MANTHAN Working on Back-end: Admin site.
3. SIDPARA AYUSH Working Front end Design.

4.

9. Next Progress Report Date: 22/02/2025

Project Guide Name: Asst. Prof. Ravi J. Patel

Project Guide Sign:

bhagwanmahaviruniversity Bhagwan Mahavir University BMUsurat


Bhagwan Mahavir College of Computer Application, BMU, VIP Road, Surat 395007
www.bmusurat.ac.in | 7575803091 / 0261-6770125/123
BHAGWAN MAHAVIR COLLEGE OF
COMPUTER APPLICATION

Date: - 02/03/2025

PROJECT PROGRESS REPORT


1. Project Group No: 50

2. Project Title: Hotel booking management system

3. Project Guide Name: Asst. Prof. Ravi J. Patel


Progress Report No: 3
Progress Report Duration: From 22/02/2025 to 27/02/2025
Project Group Student Names:

1) BHANDERI SAHIL 2) BHANDERI MANTHAN


3) SIDPARA AYUSH 4)

Project Detail:
1. Project Name: HBMS
Front End: HTML, CSS, JAVASCIPT, JQUERY
Back End: PHP, MY SQL ( DATA BASE )
Task Completed

Sr.
Student Name(s) Description
No.
1. BHANDERI SAHIL Working on Back-end: Designer Site
2. BHANDERI MANTHAN Working on Back-end: Client Site
3. SIDPARA AYUSH Working on front-end Changes
4.

9. Next Progress Report Date: 29/02/2025

Project Guide Name: Asst. Prof. Ravi J. Patel

Project Guide Sign:

bhagwanmahaviruniversity Bhagwan Mahavir University BMUsurat


Bhagwan Mahavir College of Computer Application, BMU, VIP Road, Surat 395007
www.bmusurat.ac.in | 7575803091 / 0261-6770125/123
BHAGWAN MAHAVIR COLLEGE OF
COMPUTER APPLICATION

Date: - 02/03/2025

PROJECT PROGRESS REPORT


1. Project Group No: 70
2. Project Title: Hotel booking management system

3. Project Guide Name: Asst. Prof. Ravi J. Patel


Progress Report No: 4
Progress Report Duration: From 28/02/2025 to 01/03/2025
Project Group Student Names:

1) Yash Barvaliya 2) Sahil Kathiriya


3) Vraj Vaghasiya 4) J e n i s h V a d d o r i y a

Project Detail:
Project Name: HBMS
Front End: HTML, CSS, JAVASCRIPT, JQUERY
Back End: PHP, MY SQL ( DATA BASE )
Task Completed

Sr.
Student Name(s) Description
No.
1. Yash Barvaliya Back-end Changes Complete.
2. Sahil Kathiriya Back-end Changes Complete.
3. Vraj Vaghasiya front-end Changes Complete.
4. Jenish Vaddoriya Documention Complete.

Project Guide Name: Asst. Prof. Ravi J. Patel

Project Guide Sign:

bhagwanmahaviruniversity Bhagwan Mahavir University BMUsurat


Bhagwan Mahavir College of Computer Application, BMU, VIP Road, Surat 395007
www.bmusurat.ac.in | 7575803091 / 0261-6770125/123
Acknowledgement

The reason of completing the project work successfully is not just our efforts but
efforts of many people. The people, who trusted us, guided us and encouraged
us with every means. Guide is a person who provides you the direction towards
success, so I feel great pleasure to express our gratitude to our guides, our
faculty members as well as every person who helped us directly or indirectly
with our project.
We are also indebted to our Professor Asst. Prof. Ravi J. Patel who provided
constant encouragement, support & valuable guidance before and during our
project. It was her effort who led us to this place for project work. Her guidance
and suggestions were valuable.

We are also Thanks full to our all Faculties Members & specially Our Principal
Dr. Vikram Kaushik, to give us opportunity to make us this project.
Thank you very much,

Sahil Bhanderi
Manthan Bhanderi
Ayush Sidpara
Preface
Before Tasking the Project Work for Foundation, It Is Quite Necessary To Have
An Exact Idea The Work “Project”. The Project Consist of Seven Letters Each
Letter Has Its Own Significance As Follow.

‘P’ For Planning


‘R’ For Resources
‘O’ For Operation
‘J’ For Joints Efforts
‘E’ For Engineering Function
‘C’ Communication
‘T’ Task Of Working

We Happy to Hand Over This Project To The Bhagwan Mahavir College Of


Computer Application. This project is based on “L” Making Photo and
Earn.
In a computer application studies, the partial training is very important. We can
improve theoretical knowledge by reading and attempting class but it is
imperfect without getting partial knowledge.
Being an IT student, we should see every side of technical unit. It performs vital
role in developing software and situation opportunities and problem.
INDEX

Sr. No Description Page No.


1 Introduction 3
1.1 Project description 3
2 Module 4
2.1 Admin module 4
2.2 User module 5
3 Objective 6
4 Environment Description 8
4.1 Hardware and Software Requirements 8
4.2 Technology 10
5 System Analysis and Planning 12
5.1 Existing System And its drawbacks 12
6 Details Planing 13
6.1 UML – Usecase and Activities Flow Diagram 16
6.2 Class Diagram 18
6.3 Enity- Relationship Diagram 19
7 System Design 32
7.1 Data Base Design 32
7.2 User Interface 37
8 Software Testing 58
8.1 Unit Testing 59
8.2 Integration testing 63
9 Conclusion 68
10 References 69
Abstract

• The aim of ‘Hotel Booking Management System’ is to automate its existing


manual system by the help of computerized equipment and full-fledge
computer software, fulfilling their requirements so that their valuable
date can be stored for a longer period with easy accessing and
manipulation of the same.

• Basically the project describes how to handle good performance and


provide better services to clients.

• This project can lead to error free, secure, reliable and fast management
system.

• This system will help the organization in better utilization of resources.


Introduction

• Project description :-

The Hotel Booking Management System has been meticulously designed to address
and overcome the limitations of traditional manual systems that many hotels still rely
on. By transitioning from a manual process to a web-based application, this system
effectively eliminates, and in some cases significantly reduces, the challenges
associated with managing bookings, client details, and hotel services. The primary
objective of this system is to streamline operations and reduce errors during data
entry, which are common in manual processes. The system is equipped with features
that notify users when invalid data is entered, further minimizing mistakes and
ensuring data accuracy.

One of the key advantages of the Hotel Booking Management System is its user-
friendly interface. It has been designed in such a way that even users with no formal
technical knowledge can easily navigate and operate the system. This ensures that
hotel staff and administrators can quickly adapt to the system without the need for
extensive training.
The system is built using PHP for the server-side logic, and it is supported by a robust
MySQL database to store and manage all records efficiently. These technologies
provide a strong foundation for maintaining up-to-date information on bookings, client
records, and hotel services.

The Hotel Booking Management System is divided into two main modules: the admin
module and the user module. The admin module allows hotel management to have
complete control over the system, including managing bookings, tracking client
information, and overseeing hotel services. The user module, on the other hand,
provides clients with an easy-to-use platform to make reservations and access relevant
hotel services.

Overall, the system not only simplifies hotel operations but also enhances the user
experience by making the entire booking and management process more intuitive and
efficient. By integrating these modern technologies, the Hotel Booking Management
System ensures that hotels can deliver better services while maintaining organized and
error-free records.
Admin Module
1. Home: In this section, admin can briefly view the total new booking,
approved booking, Cancelled Booking, Total Registered users, total read
enquires and total unread enquires.

2. Room Category: In this section, admin can manage category (add/delete).

3. New Room: In this section, admin can manage


rooms(add/update).
4. Page: In this section, admin can manage about us and contact us
pages..

5. Booking: In this section, admin can view new, approved, canceled


bookings and also give a remark.
6. Reg Users: In this section, admin can view the detail of registered users.

Admin can also update his profile, change the password and recover the password.
User Module

1. Home: It is a welcome page for users.


2. About: It is a about us page of website.

3. Services: In this section, users can view services provided by organization.


4. Room: In this section, user can view details of room which is available in
the hotel.
5. Gallery: In this section, user can view gallery of hotel.

6. Book Room: In this section, user can book the hotel room by registered
himself with hotels.
7. Contact: It is a contact us page where users can send the queries to hotel.

8. Sign Up: Users can register through sign up page.


9. Login: It is login page.

10. My Account: After registration user can have their own account
where he/she can update profile, change password, recover password and
view booking details of hotel room.
Objective

The main objective of the Hotel Booking Management System project is to manage the
details of Hotels, Rooms, Services, Payments, and Booking. This Hotel Booking
Management System will definitely reduce the time, energy and money wasted in
manually searching the details of the booking and registered users. With the help of
this software, all the services and users can be properly channelized.

Enable users to monetize their contributions and interactions within the platform
through tokenization, incentivizing active participation and fostering a thriving
ecosystem of creators and consumers.

Implement advanced privacy features such as end-to-end encryption and decentralized


storage to safeguard user data and ensure confidentiality, thereby addressing concerns
related to data privacy and security.

Foster a sense of community and collaboration through features such as group


discussions, forums, and virtual events, providing users with opportunities to connect,
exchange ideas, and collaborate on projects of mutual interest.

Leverage machine learning algorithms to personalize user experiences,recommend


relevant content, and facilitate meaningful connections based on users' interests,
preferences, and behavior patterns.

This Hotel Booking Management System is totally outdated and involves high risk of
ambiguity and redundancy.
• Existing System
The present scenario offers manual data entry. A lot of time is wasted in creating the
reports as well as maintaining them. In case, if any query arises to get the information
about the booking, queries and registered users, the whole report is re-typed or
xeroxed. This seriously affects the authentication of the system.

Proposed System
The proposed Hotel Booking Management System is to have everything completely
automated and computerized. The software is very easy to use and manage even for a
non technical person. The redundancy and ambiguity will be removed by assigning
every booking a unique number (i.e Booking Number).
Requirement Specification Hardware Configuration :
Client Side:
RAM 512 MB

Hard disk 10 GB

Processor 1.0 GHz

Server side:
RAM 1 GB

Hard disk 20 GB

Processor 2.0 GHz


Software Requirement:
Client Side:

Web Browser Google Chrome or any compatible


browser
Operating System Windows or any equivalent OS

Server Side:

Web Server APACHE

Server side Language PHP5.6 or above version

Database Server MYSQL

Google Chrome or any


Web Browser compatible browser

Operating System Windows or any equivalent OS


APACHE

The Apache HTTP Server Project is an effort to develop and maintain an open-source
HTTP server for modern operating systems including UNIX and Windows. The goal of
this project is to provide a secure, efficient and extensible server that provides HTTP
services in sync with the current HTTP standards.
The Apache HTTP Server ("httpd") was launched in 1995 and it has been the most
popular web server on the Internet since April 1996. It has celebrated its 20th birthday
as a project in February 2015.

PHP
• PHP stands for PHP: Hypertext Preprocessor.
• PHP is a server-side scripting language, like ASP.
• PHP scripts are executed on the server.
• PHP supports many databases (MYSQL, Informix, Oracle, Sybase, Solid,
Generic ODBC, etc.).
• PHP is an open source software.
• PHP is free to download and use.

MYSQL

• MYSQL is a database server


• MYSQL is ideal for both small and large applications
• MYSQL supports standard SQL
• MYSQL compiles on a number of platforms
• MYSQL is free to download and use
How to access MySQL: http://localhost/phpmyadmin
Analysis and Design

Analysis:

The present scenario offers manual data entry. A lot of time is wasted in creating the
reports as well as maintaining them. In case, if any query arises to get the information
about the client, the whole report is re-typed or Xeroxed. This seriously affects the
authentication of the system. This Client Management System is totally outdated and
involves high risk of ambiguity and redundancy.
Disadvantage of present system:

• Not user friendly: The present system not user friendly because data is not
stored in structure and proper format.
• Manual Control: All report calculation is done manually so there is a
chance of error.
• Lots of paper work: Visitors maintain in the register so lots of paper
require storing details.
• Time consuming.
Design Introduction:
• Design is the first step in the development phase for any techniques and
principles for the purpose of defining a device, a process or system in
sufficient detail to permit its physical realization.

• Once the software requirements have been analyzed and specified the
software design involves three technical activities - design, coding,
implementation and testing that are required to build and verify the
software.

• The design activities are of main importance in this phase, because in this
activity, decisions ultimately affecting the success of the software
implementation and its ease of maintenance are made.

• These decisions have the final bearing upon reliability and


maintainability of the system. Design is the only way to accurately
translate the customer’s requirements into finished software or a system.

• Design is the place where quality is fostered in development. Software


design is a process through which requirements are translated into a
representation of software.
• Software design is conducted in two steps. Preliminary design is
concerned with the transformation of requirements into data

UML Diagrams:
Actor:
A coherent set of roles that users of use cases play when interacting with the use
`cases.

Use case: A description of sequence of actions, including variants, that a system


performs that yields an observable result of value of an actor.

UML stands for Unified Modeling Language. UML is a language for specifying,
visualizing and documenting the system. This is the step while developing any product
after analysis. The goal from this is to produce a model of the entities involved in the
project which later need to be built. The representation of the entities that are to be
used in the product being developed need to be designed.

USECASE DIAGRAMS:
Use case diagrams model behavior within a system and helps the developers
understand of what the user require. The stick man represents what’s called an actor.
Use case diagram can be useful for getting an overall view of the system and clarifying
who can do and more importantly what they can’t do.
Use case diagram consists of use cases and actors and shows the interaction between
the use case and actors.
• The purpose is to show the interactions between the use case and
actor.
• To represent the system requirements from user’s perspective.
• An actor could be the end-user of the system or an external system.

USECASE DIAGRAM: A Use case is a description of set of sequence of actions.


Graphically it is rendered as an ellipse with solid line including only its name. Use case
diagram is a behavioral diagram that shows a set of use cases and actors and their
relationship. It is an association between the use cases and actors. An actor represents
a real-world object. Primary Actor – Sender, Secondary Actor Receiver.
Use Case Diagrams

Admin:
User :
Class Diagram:

A description of set of objects that share the same attributes operations, relationships,
and semantics.
ER Diagram:
The Entity-Relationship (ER) model was originally proposed by Peter in 1976 [Chen76]
as a way to unify the network and relational database views. Simply stated the ER
model is a conceptual data model that views the real world as entities and
relationships. A basic component of the model is the Entity- Relationship diagram
which is used to visually represent data objects. Since Chen wrote his paper the model
has been extended and today it is commonly used for database design for the database
designer, the utility of the ER model is:
• It maps well to the relational model. The constructs used in the ER model
can easily be transformed into relational tables.
• It is simple and easy to understand with a minimum of training. Therefore,
the model can be used by the database designer to communicate the
design to the end user.
• In addition, the model can be used as a design plan by the database
developer to implement a data model in specific database management
software.

ER Notation
There is no standard for representing data objects in ER diagrams. Each modeling
methodology uses its own notation. The original notation used by Chen is widely used
in academics texts and journals but rarely seen in either CASE tools or publications by
non-academics. Today, there are a number of notations used; among the more
common are Bachman, crow's foot, and IDEFIX.
All notational styles represent entities as rectangular boxes and relationships as lines
connecting boxes. Each style uses a special set of symbols to represent the cardinality
of a connection. The notation used in this document is from Martin. The symbols used
for the basic ER constructs are:
• Entities are represented by labeled rectangles. The label is the name of
the entity. Entity names should be singular nouns.
• Relationships are represented by a solid line connecting two entities. The
name of the relationship is written above the line. Relationship names
should be verbs
• Attributes, when included, are listed inside the entity rectangle. Attributes
which are identifiers are underlined. Attribute names should be singular
nouns.
• Cardinality of many is represented by a line ending in a crow's foot. If the
crow's foot is omitted, the cardinality is one.
Existence is represented by placing a circle or a perpendicular bar on the line.
Mandatory existence is shown by the bar (looks like a 1) next to the entity for an
instance is required. Optional existence is shown by placing a circle next to the entity
that is optional.
ER Diagram
Data Flow Diagram

Data Flow Diagrams (DFDs)


• A Data Flow Diagram (DFD) is a traditional and highly effective visual
representation of the flow of information within a system.
• It serves as a tool to graphically depict the way data moves through
various processes, components, and storage locations.
• A well-constructed and neatly organized DFD can provide an
accurate and concise depiction of system requirements, making it easier
to understand the system’s functionality.

• DFDs can represent both manual and automated processes or even a


combination of both. They play a crucial role in simplifying the
communication of system processes and data flows between different
stakeholders involved in a project.
• A DFD illustrates several key components of a system, including how data
enters the system, how it is processed or transformed, how and where it
is stored, and how it exits the system.
• These visual elements help stakeholders understand the data
lifecycle within the system, making it easier to identify potential
improvements or areas for optimization.
• For instance, by examining a DFD, system analysts can identify inefficient
processes, redundant data flows, or potential bottlenecks in the system.
• The primary goal of creating a DFD is to establish a clear understanding of
the scope and boundaries of the system as a whole.
• It provides a high-level overview of the system's operations and helps
define the interactions between different system components. DFDs are
frequently used as a communication tool between system analysts,
developers, and any other parties involved in system design or analysis.
• They act as a foundational starting point for redesigning or improving a
system, as they offer a clear picture of how data flows across various
processes.

• This is why DFDs are also referred to as "data flow graphs" or "bubble
charts."

Here are several important observations regarding Data Flow Diagrams:


1. Unique Naming:
All names within a DFD, whether referring to processes, data stores, or data flows,
must be unique. This ensures that each element can be easily identified and referenced
without confusion. A clear naming convention simplifies communication and
documentation.
2. Not a Flowchart:
It is important to distinguish a DFD from a flowchart. While flowcharts are used to
represent the sequence of events or steps in a process using arrows, a DFD represents
the flow of data through a system. The arrows in a DFD symbolize the movement of
data between different components of the system, not the order of operations or
events. Unlike flowcharts, DFDs do not deal with the sequencing of events but rather
focus solely on the movement and transformation of data.
3. Avoid Logical Decisions:
DFDs do not include decision points or conditional logic, such as those represented by
diamond-shaped boxes in flowcharts. Logical decisions introduce an ordering of events,
which is irrelevant to the concept of data flow. In the context of a DFD, the focus is on
how data moves through the system, not on decision-making processes. Thus, any
temptation to introduce decision points into a DFD should be avoided.
4. Focus on High-Level Concepts:
While creating a DFD, it is essential to maintain a high-level perspective and not
become bogged down in unnecessary details. The primary objective of a DFD is to
provide a general overview of the system’s data flow. Error conditions, error handling,
and specific operational details can be deferred until later in the analysis. DFDs should
prioritize clarity and simplicity, avoiding the inclusion of overly granular information at
the early stages of analysis.
Standard symbols for DFDs are derived from the electric circuit diagram analysis and
are shown in fig:
Symbols of Data Flow Diagrams (DFDs)
• In a Data Flow Diagram (DFD), various symbols are used to represent the
flow of data, the processes that manipulate data, and where data is stored
or collected.
• Each symbol serves a specific purpose and helps system analysts
visualize how information moves through a system, making it easier to
understand the interactions between different components.

• A DFD typically uses four main types of symbols: circles (or bubbles),
lines, parallel lines, and rectangles.

• Each of these symbols represents a distinct part of the system's


functionality, from processes to data storage and external entities.
Understanding the meaning behind these symbols is key to interpreting
and creating accurate DFDs.
Here is a detailed explanation of the symbols used in Data Flow Diagrams:
• Circle (Process):
• The circle, also referred to as a "bubble," is one of the core symbols
used in a DFD.
• It represents a process within the system, where data inputs are
transformed into data outputs.
• A process could be anything from a calculation, a business
transaction, or a set of instructions that alters the incoming data to
produce an output.
• In a DFD, processes are the points where the data is acted upon or
manipulated. For instance, a process might take customer input
data, such as an order, and generate output data like an invoice or
receipt.
• The circle essentially symbolizes where action happens, and it plays
a central role in the flow of data through the system.
• Data Flow (Curved Line):
The data flow symbol is depicted as a curved or straight line
and indicates the movement or flow of data between processes, data stores, or
external entities.
• The arrows on the lines point in the direction the data is moving.
Data flows into processes where it may be transformed, and then exits the
process, moving on to the next step.
• A clear and well-drawn data flow ensures that the movement of
information is understood within the context of the system. It shows how
different parts of the system communicate with each other.
• For example, a data flow could represent customer details being sent from
a website form to a database or customer records being sent to a billing
process. The data flow lines are crucial for visualizing how data travels
within the system.

• Data Store (Parallel Lines):


The data store is represented by a pair of parallel lines and indicates a place where data
is stored for use at a later stage or by other processes.

• A data store can be a physical location (like a filing cabinet or a storage


facility) or a digital location (like a database or a file system). The data
store allows information to be stored persistently and accessed whenever
needed.
• For example, a data store might hold customer orders, inventory records,
or transaction logs. The information stored here can be used by different
processes, either in sequence or independently. Data stores are essential
for maintaining the integrity and availability of data across various
processes.
• Whether the data is stored as individual elements or grouped into
sets, the data store ensures that critical information is retained for future
processing.

• Source or Sink (External Entity):


• The source or sink symbol is represented by a rectangle and denotes an
external entity that interacts with the system.

• A source is where data originates, and a sink is where data is output


or consumed.

• Sources and sinks exist outside the boundaries of the system being
analyzed and often represent external systems, individuals, or
organizations that provide data to or receive data from the system.
• For example, a customer submitting an order through a web form is
a source, while a vendor receiving an order request for processing is a
sink.
• These external entities play a key role in defining the system’s interactions
with the outside world and help determine what data flows into and out
of the system.

• In a DFD, the relationship between these four symbols illustrates how


data moves and is transformed within the system.
• The processes (circles) show where data is manipulated, the data flows
(curved lines) show the movement of that data, the data stores (parallel
lines) represent where data is kept for future use, and the sources/sinks
(rectangles) identify external interactions with the system.

• Each of these symbols serves as a building block of the DFD, allowing


system analysts to map out both high-level and detailed views of the
system.

• The simplicity of these symbols enables users to quickly grasp the


system’s workings, regardless of its complexity.

• By using these standardized symbols, DFDs provide a universal language


for system analysis and design, ensuring
clarity and reducing the potential for miscommunication between team members,
stakeholders, or clients.

Zero Level D
First Level
Second Level
MySQL Data Tables:

Admin Table :( Table name is admin)


This store admin personal and login details.
Booking Table (Table name is tblbooking) This store the detail of room booking

Room Category Table: (Table name is tblcategory) This store the room category detail

Contact Table: (Table name is tblcontact) This table stores the data of contact person
Facility Table: (Table name is tblfacility)
This table stores the data of facility which is available by hotels.

Page Table: (Table name is tblpage)


This table stores the about us and contact us details of hotels.
Room Table: (Table name is tblroom) This table stores the details of hotel rooms.

User Table: (Table name is tblroom)


This table stores the details of registered users.
Schema Diagram
User interface

Home Page

Services Page
Footer Section
About US Page

Facilities Page
Rooms Details Page
Gallery Page
Contact Us Page
Register User
Login Page
My Account
Profile Page
Booking Details Page
Change Password Page
Admin Login

Dashbord
Add Category Page

Manage Category Page


Add Facility

Manage Category
Add Room

Manage Room
All Booking

New Booking
Approved Booking

Cancelled Booking
Register User

Admin Profile
Change Password
Implementation and System Testing

After all phase have been perfectly done, the system will be implemented to the server
and the system can be used.
❖ System Testing
• System testing is a critical phase in the software development life cycle,
where the entire integrated system is thoroughly tested to ensure that it
functions as intended.

• The primary objective of system testing is to identify and resolve any


faults or issues that may exist within the project.

• This stage plays a key role in verifying that the system as a whole meets
the predefined requirements and performs the desired tasks under
different conditions.
• In essence, it serves as the final verification before the software is
deployed to users or moved into production.

• During the system testing process, the program is subjected to a wide


variety of test inputs, and detailed observations are made regarding its
behavior.

• These inputs simulate different real-world scenarios the system might


encounter once it is live.

• The observations made from these tests are analyzed, and based on the
results, it is determined whether the program behaves as expected.
• The focus is on ensuring that the software functions correctly under
all conditions, including normal usage, edge cases, and even erroneous
inputs.
• System testing helps to confirm that the software is stable, reliable,
and performs all its functions accurately, as per the requirements
specification.

• System testing is typically divided into multiple phases or levels to ensure


comprehensive coverage of the system.

• In our project, two distinct levels of testing were conducted to ensure that
each component worked correctly, both in isolation and when integrated
with other components.
• These two levels are as follows:
1. Unit Testing:
• Unit testing is the foundation of the software testing process and is
typically the first stage of testing performed during the development of a
system.

• This level of testing focuses on the smallest, testable parts of an


application, which are referred to as "units."

• A unit can be an individual function, method, or object within the


code, and its purpose is to perform a specific task.

• The goal of unit testing is to ensure that each of these isolated units
behaves as expected by testing them independently of other components.

• By doing so, developers can verify the correctness of each unit,


identify and fix any errors early in the development process, and ensure
that each module is functioning properly before being integrated with
other parts of the system.

• Unit testing is typically performed by developers during the coding phase.


• It is a form of "white-box testing," meaning the tester has access to the
internal structure of the code and can create tests that focus on specific
parts of the logic.

• In this context, the developer writes test cases that provide specific inputs
to the unit and checks whether the actual output matches the expected
result.
• These test cases are designed to cover all possible scenarios, including
both normal and edge cases, to ensure that the unit behaves correctly
under various conditions.

The process of unit testing involves several key steps:

• Identifying Units for Testing:


The first step is to break down the application into individual units that need to be
tested. These units are typically small pieces of functionality, such as functions,
methods, or classes.
• Creating Test Cases:
Once the units are identified, developers create specific test cases that provide a set of
input data to the unit and define the expected output. These test cases cover a wide
range of scenarios, including typical use cases, edge cases, and invalid inputs.
• Running the Tests:
The test cases are then executed, and the results are compared to the expected
outcomes. If the unit produces the correct output for all test cases, it is considered to
have passed the unit test.
• Fixing Errors:
If discrepancies are found between the expected and actual outputs, developers debug
the unit, identify the source of the problem, and fix the code accordingly. Once the
issues are resolved, the unit is retested to ensure that it now behaves as expected.

• The benefits of unit testing are numerous.


• First and foremost, it allows developers to identify and fix bugs early in
the development process, reducing the likelihood of more significant
issues arising later on.

• By testing units in isolation, developers can pinpoint specific problems


without having to sift through complex interactions between modules.
• This makes the debugging process faster and more efficient.

• Additionally, unit testing ensures that each individual component


functions correctly, which lays a strong foundation for the next levels of
testing.

• Another advantage of unit testing is that it facilitates refactoring and code


maintenance.

• When developers make changes to a unit, they can rerun the unit tests to
ensure that the modifications do not introduce new bugs or break existing
functionality.
• This practice of continuous testing helps maintain the stability of the
system over time and ensures that the software remains reliable as it
evolves.
• Furthermore, unit testing plays a critical role in building modular,
maintainable code.

• Since each unit is tested independently, developers are encouraged


to write code that is loosely coupled and has clear, well-defined
interfaces.

• This modularity makes the system easier to understand, test, and


maintain, leading to higher overall software quality.

• In summary, unit testing is a vital step in the software development


process that helps to ensure the correctness of individual units before
they are integrated into the larger system.
• By identifying and fixing bugs early, unit testing improves the overall
quality and stability of the software, reduces development costs, and
makes the code easier to maintain over time.
2. Integration Testing:
• Integration testing is the second level of testing in the software
development process and follows unit testing.

• While unit testing focuses on testing individual components in isolation,


integration testing examines how these components interact when
combined.

• The purpose of integration testing is to verify that different modules


or units of the software work together as expected when integrated into a
larger system.

• This is an essential step in the testing process because even if individual


units function correctly on their own, issues can arise when they are
combined due to differences in how they interact with each other.
• In many cases, individual units are developed and tested in isolation,
meaning that their interactions with other parts of the system may not be
fully considered during unit testing.
• Integration testing addresses this gap by ensuring that data flows
correctly between units, that interfaces between modules are properly
implemented, and that there are no miscommunications or
inconsistencies when modules are used together.

The process of integration testing typically involves several phases:

❖ Incremental Integration Testing:


• This approach involves gradually integrating units or modules together
and testing them as they are combined.

• Instead of testing the entire system at once, integration testing is


performed in stages, which makes it easier to identify which specific
combination of units is causing any issues.
• Incremental integration can be done in two ways: "top- down"
integration, where high-level modules are tested first and lower-level
modules are integrated later, or "bottom-up" integration, where
lower-level modules are integrated and tested first before adding
higher-level modules.
❖ Big Bang Integration Testing:
• In contrast to incremental integration, big bang integration involves
combining all units or modules at once and testing the entire system in
one go.
• This approach is often used when the software is relatively simple or
when time constraints make it difficult to perform incremental testing.
• However, the downside of big bang integration is that it can be
challenging to pinpoint the source of an error if the system fails, as
multiple modules are integrated simultaneously.

❖ Interface Testing:
• A critical part of integration testing is ensuring that the interfaces
between modules are functioning correctly.

• Each module may have its own specific interface for communicating
with other parts of the system, and any mismatch or
miscommunication between these interfaces can lead to errors.
• Interface testing ensures that data is passed correctly between
modules and that the interactions between components are seamless.

• The benefits of integration testing are substantial.


• One of the main advantages is that it helps to identify problems that
may arise when individual units are combined.
• While each unit may work perfectly in isolation, unexpected issues can
occur when they need to communicate with one another.

• Integration testing ensures that all the modules of the system work
together cohesively and that data flows as expected throughout the
system.
• Another significant benefit of integration testing is that it validates the
system architecture.

• During the design phase, developers and architects define how


different modules should interact, including how data flows between
them and how each component contributes to the overall system.
• Integration testing confirms that this architecture has been correctly
implemented and that the system behaves as intended when modules
are combined.

• This ensures that the software meets the overall system requirements
and functions as a unified whole.

• Integration testing also helps to detect issues related to compatibility


and interaction.
• For example, two modules may work fine independently, but when
integrated, they might produce unexpected behavior due to timing
issues, mismatched data formats, or other factors.
• These issues are often not caught during unit testing, making
integration testing a vital step in identifying and resolving them before
the software is deployed.
• In conclusion, integration testing is an essential step in the software
testing process that verifies that individual modules or components
work together as expected when combined into a larger system.
• By testing the interactions between modules, integration testing
ensures that the system functions as a cohesive whole and meets the
overall system requirements.
• It helps to detect and resolve issues that may arise from the
interactions between units, ensuring that the software is stable,
reliable, and ready for further testing or deployment.
Test for the admin module

• Testing admin login form:


This form is used for log in of administrator of the system. In this form we enter the
username and password if both are correct administration page will open otherwise if
any of data is wrong it will get redirected back to the login page and again ask the
details
• Report Generation:
admin can generate report from the main database.
CONCLUSION:

This Application provides a computerized and automated version of Hotel Booking


Management System which will benefit the hotel companies and their users.

It makes entire process online and can generate reports. It has a facility of user’s login
where users can view their booking details.

The Application was designed in such a way that future changes can be done easily.
The following conclusions can be deduced from the development of the project.

• Automation of the entire system improves the productivity.


• It provides a friendly graphical user interface which proves to be
better when compared to the existing system.
• It gives appropriate access to the authorized users depending on
their permissions.
• It effectively overcomes the delay in communications.
• Updating of information becomes so easier.
• System security, data security and reliability are the striking
features.
• The System has adequate scope for modification in future if it is
necessary.
References
• For PHP
• https://www.w3schools.com/php/default.asp

• For MySQL
• https://www.mysql.com/
• http://www.mysqltutorial.org

• For XAMPP
• https://www.apachefriends.org/download.html
70

You might also like