Hotel Management - Tanmaya
Hotel Management - Tanmaya
-----------------------------------
Teacher’s Signature
----------------------------------- ----------------------------------
Examiner’s Signature Principal’s Signature
2
ACKNOWLEDGEMENT
I
undertook this Project work, as the part of my XII-
Computer Science Practices course. I had tried to apply
best of my knowledge and experience, gained during the
study and class work experience. However, developing
software system is generally a quite complex and time-
consuming process. It requires a systematic study, insight
vision and professional approach during the design and
development. Moreover, the developer always feels the
need, the help and good wishes of the people near you, who
have considerable experience and idea.
TANMAYA BEHERA
Class XII
3
TABLE OF CONTENTS [ T O C ]
01 ACKNOWLEDGEMENT 04
02 INTRODUCTION 05
04 PROPOSED SYSTEM 06
07 FLOW CHART 15
08 SOURCE CODE 16
09 OUTPUT 19
10 TESTING 20
12 BIBLIOGRAPHY 24
4
PROJECT ON HOTEL MANAGEMENT
INTRODUCTION
about the costomer such as his\her room they book,etc. These information can
The objective of this project is to let the students apply the programming
knowledge into a real- world situation/problem and exposed the students how
5
PROPOSED SYSTEM
Today one cannot afford to rely on the fallible human beings of be really
wants to stand against today’s merciless competition where not to wise saying
“to err is human” no longer valid, it’s out-dated to rationalize your mistake. So,
to keep pace with time, to bring about the best result without malfunctioning and
One has to use the data management software. Software has been an
now in markets, which have helped in making the organizations work easier and
efficiently. Data management initially hadto maintain a lot of ledgers and a lot of
paperwork has to be done but now software producton this organization has
made their work fasterand easier. Now only this software has to beloaded on the
This prevents a lot of time and money. The work becomes fully automated
and any information regarding the organization can be obtained by clicking the
6
SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)
7
PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE
INITIATION PHASE
8
SYSTEM CONCEPT DEVELOPMENT PHASE
9
PICTORIAL REPRESENTATION OF SDLC:
PLANNING PHASE
10
A Project Management Plan is created with components related to
acquisition planning, configuration management planning, quality assurance
planning, concept of operations, system security, verification and validation, and
systems engineering management planning.
REQUIREMENTSANALYSIS PHASE
Further define and refine the functional and data requirements and
document them in the Requirements Document,
Complete business process reengineering of the functions to be supported
(i.e., verify what information drives the business process, what information
is generated, who generates it, where does the information go, and who
processes it),
Develop detailed data and process models (system inputs, outputs, and
the process.
Develop the test and evaluation requirements that will be used to
determine acceptable system performance.
DESIGN PHASE
11
unified design specifications that developers use to script programs during the
development phase. Program designs areconstructed in various ways. Using a
top-down approach, designers first identify and link major program components
and interfaces, then expand design layouts as they identify and link smaller
subsystems and connections. Using a bottom-up approach, designers first
identify and link minor program components and interfaces, then expand design
layouts as they identify and link larger systems and connections. Contemporary
design techniques often use prototyping tools that build mock-up designs of items
such as application screens, database layouts, and system architectures. End
users, designers, developers, database managers, and network administrators
should review and refine the prototyped designs in an iterative process until they
agree on an acceptable design. Audit, security, and quality assurance personnel
should be involved in the review and approval process. During this phase, the
system is designed to satisfy the functional requirements identified in the
previous phase. Since problems in the design phase could be very expensive to
solve in the later stage of the software development, a variety of elements are
considered in the design to mitigate risk. These include:
DEVELOPMENT PHASE
13
Multiple levels of testing are performed, including:
IMPLEMENTATION PHASE
This phase is initiated after the system has been tested and accepted by
the user. In this phase, the system is installed to support the intended business
functions. System performance is compared to performance objectives
established during the planning phase. Implementation includes user notification,
user training, installation of hardware, installation of software onto production
computers, and integration of the system into daily work processes. This phase
continues until the system is operating in production in accordance with the
defined user requirements.
14
The purpose of this phase is to:
SOURCE CODE
import datetime
class Room:
self.room_number = room_number
self.room_type = room_type
self.price = price
self.is_available = True
def book(self):
self.is_available = False
def checkout(self):
self.is_available = True
class Hotel:
15
def __init__(self, name):
self.name = name
self.rooms = []
self.rooms.append(room)
def show_available_rooms(self):
print("\nAvailable Rooms:")
if room.is_available:
room.is_available:
room.book()
successfully booked!")
return
16
if room.room_number == room_number and not
room.is_available:
room.checkout()
return
number!")
def display_menu():
print("5. Exit")
def main():
Hotel
17
while True:
display_menu()
if choice == '1':
(Single/Double/Suite): ")
"))
hotel.add_room(Room(room_number, room_type,
price))
successfully!")
hotel.show_available_rooms()
book: "))
hotel.book_room(room_number)
18
room_number = int(input("Enter room number to
checkout: "))
hotel.checkout_room(room_number)
break
else:
if __name__ == "__main__":
main()
19
TESTING
TESTING METHODS
Software testing methods are traditionally divided into black box testing
and white box testing. These two approaches are used to describe the point of
view that a test engineer takes when designing test cases.
20
BLACK BOX TESTING
Black box testing treats the software as a "black box," without any
knowledge of internal implementation. Black box testing methods include:
equivalence partitioning, boundary value analysis, all-pairs testing, fuzz testing,
model-based testing, traceability matrix, exploratory testing and specification-
based testing.
SPECIFICATION-BASED TESTING
The black box tester has no "bonds" with the code, and a tester's
perception is very simple: a code must have bugs. Using the principle, "Ask and
you shall receive," black box testers find bugs where programmers don't. But, on
the other hand, black box testing has been said to be "like a walk in a dark
labyrinth without a flashlight," because the tester doesn't know how the software
being tested was actually constructed.
That's why there are situations when (1) a black box tester writes many
test cases to check something that can be tested by only one test case, and/or
(2) some parts of the back end are not tested at all. Therefore, black box testing
has the advantage of "an unaffiliated opinion," on the one hand, and the
disadvantage of "blind exploring," on the other.
21
White box testing, by contrast to black box testing, is when the tester has
access to the internal data structures and algorithms (and the code that
implement these)
White box testing methods can also be used to evaluate the completeness
of a test suite that was created with black box testing methods. This allows the
software team to examine parts of a system that are rarely tested and ensures
that the most important function points have been tested.
22
II. PROCESSOR : PENTIUM(ANY) OR AMD
MSI
SOFTWARE REQUIREMENTS:
I. Windows OS
II. Python
23
BIBLIOGRAPHY
1. User Management
o Login/Signup: Create user profiles (admin, hotel staff, guest).
o Guest Management: Track guest check-in, check-out, preferences, and special
requests.
2. Room Management
o Room Booking: Booking rooms based on availability.
o Room Status: Mark rooms as available, occupied, under maintenance, or
reserved.
o Room Types: Differentiate between room types (standard, deluxe, suite).
o Room Rate Management: Set prices for different seasons or special offers.
4. Check-In/Check-Out
o Check-In Process: Record guest details, assign rooms, and track check-in times.
o Check-Out Process: Calculate the total stay cost, generate bills, and update
room status.
6. Staff Management
o Shift Scheduling: Assign and track staff work hours.
o Payroll: Handle staff salaries, bonuses, and deductions.
24
7. Reservation System
o Online Booking: Allow customers to book rooms online (if you include a web
front-end).
o Cancellation & Modification: Allow guests to modify or cancel reservations.
8. Admin Panel
o User Permissions: Admin should be able to manage all operations and assign
roles to staff members.
o Dashboard: A central dashboard for admin to monitor hotel performance
2. Backend Development:
o Programming Languages: Python (with Flask/Django), Java (with Spring), or
Node.js (with Express) for backend logic.
o Database: SQL-based databases like MySQL, PostgreSQL, or non-SQL databases
like MongoDB for storing hotel data (guest details, room bookings, etc.).
o Authentication: JWT (JSON Web Token) or sessions for user login security.
4. Additional Features:
o API Integration: If you plan to implement features like payment gateways
(Stripe, PayPal), integrate APIs for payments.
o SMS/Email Notifications: Use services like Twilio or SendGrid to send booking
confirmations or alerts.
1. Admin Login: Admin logs in to the system with username and password.
2. Dashboard: Admin views the hotel’s booking stats, occupancy, and revenue summary.
3. Room Management: Admin can add rooms, set rates, and change room status.
4. Booking: Guests can make room reservations, check-in, and check-out.
5. Billing: On check-out, generate a bill based on the room stay, extra services, and taxes.
6. Reports: Admin can generate reports on revenue, occupancy, and guest statistics.
1. Requirement Analysis:
o Identify the user roles (admin, staff, guest).
25
o Gather functional and non-functional requirements for the system.
2. Database Design:
o Design tables for guests, rooms, bookings, payments, staff, etc.
o Define relationships and attributes for each entity (e.g., guests have multiple
bookings).
4. Testing:
o Test individual modules like room booking, payment processing, etc.
o Perform integration testing to ensure the entire system works cohesively.
5. Documentation:
o Provide clear and concise documentation for the system, including installation
instructions, features, and usage.
1. Guests Table
o guest_id (Primary Key)
o first_name
o last_name
o email
o phone_number
o address
2. Rooms Table
o room_id (Primary Key)
o room_number
o room_type
o price
o status (available, occupied, maintenance)
3. Bookings Table
o booking_id (Primary Key)
o guest_id (Foreign Key)
o room_id (Foreign Key)
o check_in_date
o check_out_date
o total_amount
4. Payments Table
o payment_id (Primary Key)
o booking_id (Foreign Key)
o payment_amount
o payment_method (Credit Card, Cash, etc.)
26
o payment_date
5. Staff Table
o staff_id (Primary Key)
o name
o role
o salary
27