Cs Project
Cs Project
Cs Project
EDUCATION
AISSCE EXAMINATION SESSION – 2023-2024
GUIDED BY:
1|Page
PROJECT ON: HOTEL MANAGEMENT
Submitted by:
SOUMYADIP DEBNATH
&
SAPTARSHI SEN
2|Page
Acknowledgement
SOUMYADIP DEBNATH
XII SCIENCE
3|Page
CERTIFICATE
This is to certify that SOUMYADIP DEBNATH and SAPTARSHI SEN of class XII has
satisfactorily completed their project in Informatics Computer Science with the title
"HOTEL MANAGEMENT SYSTEM" as a part of course completion in pursuance of
AISSCE during the academic year 2023-24.
The project is original conceptualization and has been executed by them under the
guidance of ______________________
4|Page
INTRODUCTION
5|Page
OBJECTIVES OF THE PROJECT
The objective of this project is to let the students apply the programming
Knowledge into a real- world situation/problem and expose the students
how programming skills helps in developing a good software.
• Write programs utilizing modern software tools.
•Apply object oriented programming principles effectively when
developing small to medium sized projects.
• Write effective procedural code to solve small to medium sized
problems.
•Students will demonstrate a breadth of knowledge in Computer
Science, as exemplified in the areas of systems, theory and software
development.
•Students will demonstrate ability to conduct a research or applied
Computer science project, requiring writing and presentation skills which
exemplify scholarly style in Computer science.
6|Page
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 outdated to rationalize your
mistake. So, to keep pace with time, to bring about the best result
without malfunctioning and greater efficiency so to replace the unending
heaps of flies with a much sophisticated hard disk of the computer.
One has to use the data management software. Software has been an
ascent in atomization various organisations. Many software products
working are now in markets, which have helped in making the
organizations work easier and efficiently. Data management initially had
to maintain a lot of ledgers and a lot of paper work has to be done but
now software product on this organization has made their work faster
and easier. Now only this software has to be loaded on the computer
and work can be done.
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 button. Moreover, now it’s an age of computers
of and automating such an organization gives the better look.
7|Page
SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)
8|Page
PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE
INITIATION PHASE
9|Page
The System Concept Development Phase begins after a business need
or opportunity is validated by the Agency/Organization Program
Leadership and the Agency/Organization CIO.
The purpose of the System Concept Development Phase is to:
10 | P a g e
PICTORIAL REPRESENTATION OF SDLC
PLANNING PHASE
The planning phase is the most critical step in completing development,
acquisition, and maintenance projects. Careful planning, particularly in
the early stages of a project, is necessary to coordinate activities and
manage project risks effectively. The depth and formality of project plans
should be commensurate with the characteristics and risks of a given
project. Project plans refine the information gathered during the initiation
phase by further identifying the specific activities and resources required
to complete a project. A critical part of a project manager’s job is to
coordinate discussions between user, audit, security, design,
development, and network personnel to identify and document as many
functional, security, and network requirements as possible. During this
phase, a plan is developed that documents the approach to be used and
includes a discussion of methods, tools, tasks, resources, project
schedules, and user input. Personnel assignments, costs, project
schedule, and target dates are established. 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.
11 | P a g e
REQUIREMENTS ANALYSIS PHASE
DESIGN PHASE
12 | P a g e
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:
Identifying potential risks and defining mitigating design features.
Performing a security risk assessment.
Developing a conversion plan to migrate current data to the new
system.
Determining the operating environment.
Defining major subsystems and their inputs and outputs.
Allocating processes to resources.
Preparing detailed logic specifications for each software module. The
result is a draft System Design Document which captures the preliminary
design for the system.
Everything requiring user input or approval is documented and reviewed
by the user. Once these documents have been approved by the Agency
CIO and Business Sponsor, the final System Design Document is
created to serve as the Critical/Detailed Design for the system.
This document receives a rigorous review by Agency technical and
functional representatives to ensure that it satisfies the business
requirements. Concurrent with the development of the system design,
the Agency Project Manager begins development of the Implementation
Plan, Operations and Maintenance Manual, and the Training Plan.
13 | P a g e
DEVELOPMENT PHASE
14 | P a g e
Operational testing by the end user alone performing all functions.
Requirements are traced throughout testing, a final Independent
Verification & Validation evaluation is performed and all
documentation is reviewed and accepted prior to acceptance of the
system.
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.
15 | P a g e
Customer’s Data Management
Specifications
To design the above task, the teacher has created a team comprising
some students. Each team member is assigned to design the code for a
part of the project. Finally, all the parts (coded snippets) will be
combined together to form the entire application. The specifications of
the project work are as shown below:
1. Create the main menu comprising the following options:
16 | P a g e
2. Creating the files: The team member allotted for this task will have to
run the Database code which automatically creates all the files in the
device.
The Database code consist of two files:
It must be noted that the Database Code needs to be executed first to start using
the software and the database and files named files must not already exist in
MySQL.
Viewing Vacant Room Records: It will display all the vacant rooms
that you have entered while creating new rooms. If the customers
have already booked it then it won’t show up here.
Viewing Occupied Rooms Record: It will display all the occupied
rooms that you have entered while creating new rooms. If the
customers have not yet booked it then it won’t show up here.
Book a Room: The data of all the customers those who are willing
to book a room will be saved with this. It will contain the name, ID
submitted, ID number, Address, Phone number, Gender, Date of
check-in and Room Number. The rooms status are changed to
occupied from vacant.
Checkout from Room: The status of the occupied rooms are
changed to vacant and the date of checkout are saved.
Exit: After performing a task, the control must go back to display
the main menu. In case, you feel that your overall tasks have been
completed and you want to exit the code, the Exit option of the
main menu must be selected.
17 | P a g e
SOFTWARE & HARDWARE REQUIREMENTS
Software:
Operating system: DOS/WINDOWS/LINUX
Python compiler: IDLE PYTHON
Data storage: MySQL
Hardware:
Processor: Intel 80385 compatible and above
R.A.M: 512 MB and above
V.D.U.V.G.A/S.V.G/T.F.T
18 | P a g e
SOURCE CODE
DATABASE CODE:
import mysql.connector as mycon
con=mycon.connect(host="localhost",user="root",password="123456",auth_plu
gin="mysql_native_password")
cursor=con.cursor()
try:
cursor.execute("create database HOTEL;")
print("Database Created...")
cursor.execute("use HOTEL;")
print("Using database HOTEL...")
cursor.execute("create table rooms(Room_no int primary key,Room_type
varchar(20),Guests int,Location varchar(100),Charge_per_day int,Status
varchar(20));")
print("Table named rooms is created...")
cursor.execute("create table booking(cname varchar(30),idno int,idtype
varchar(20),address varchar(30),phone int,gender varchar(10),dateofcheckin
varchar(20),room_no int);")
print("Table named booking is created...")
except:
con.rollback()
for i in cursor():
print(i)
con.close()
19 | P a g e
SOFTWARE CODE:
import mysql.connector as mycon
con =
mycon.connect(host="localhost",user="root",password="123456",auth_plugin=
"mysql_native_password",database="HOTEL")
def showmenu():
while True:
print("@" * 30)
print("---- HOTEL BARATIE ----")
print("@" * 30)
print("Press 1 - Create a New Room")
print("Press 2 - Show All Rooms")
print("Press 3 - Show All Vacant Rooms")
print("Press 4 - Show All Occupied Rooms")
print("Press 5 - Book a Room")
print("Press 6 - Check Out")
print("Press 7 - Exit")
choice = int(input("Enter your choice : "))
if choice == 1:
createRoom()
elif choice == 2:
showRooms()
elif choice == 3:
showVacantRooms()
elif choice == 4:
showOccupiedRooms()
elif choice == 5:
20 | P a g e
bookRoom()
elif choice == 6:
checkout()
elif choice == 7:
break
def createRoom():
print(" --- ENTER ROOM DETAILS --- ")
rno = int(input("Enter Room No. : "))
type = input("Enter Room Type(Simple/Delux/Super Delux):")
guest = int(input("Enter maximum number of guests : "))
loc = input("Enter Location details : ")
rent = int(input("Enter Per Day Charges : "))
status = "Vacant"
q = "insert into rooms values(%s,%s,%s,%s,%s,%s)"
data = (rno,type,guest,loc,rent,status)
cr1 = con.cursor()
cr1.execute(q,data)
con.commit()
print("--- Room Created Successfully ---")
def showRooms():
q = "select * from rooms"
cr1 = con.cursor()
cr1.execute(q)
res = cr1.fetchall()
for row in res:
print(row)
21 | P a g e
def showVacantRooms():
q = "select * from rooms where status='Vacant'"
cr1 = con.cursor()
cr1.execute(q)
res = cr1.fetchall()
for row in res:
print(row)
def showOccupiedRooms():
q = " select rooms.room_no,booking.cname,booking.phone,rooms.status from
rooms,booking where status='occupied';"
cr1 = con.cursor()
cr1.execute(q)
res = cr1.fetchall()
for row in res:
print(row)
def bookRoom():
print("-" * 40)
print(" BOOKING A ROOM ")
print("-" * 40)
cname = input("Enter the Customer Name : ")
idtype = input("Enter the ID submitted(PAN Card/License/Aadhar
Card/Passport) : ")
idno = input("Enter the ID number : ")
address = input("Enter Address : ")
phone = input("Enter Phone number : ")
22 | P a g e
gender = input("Enter Gender : ")
dcheckin = input("Enter Date of Check in (yyyy-mm-dd) : ")
room_no = int(input("Enter Room number : "))
q = "insert into
booking(cname,idno,idtype,address,phone,gender,dateofcheckin,room_no)
values(%s,%s,%s,%s,%s,%s,%s,%s)"
data = (cname,idno,idtype,address,phone,gender,dcheckin,room_no)
cr = con.cursor()
cr.execute(q,data)
con.commit()
q = "update rooms set status='Occupied' where romm_no ="+ str(room_no)
cr.execute(q)
con.commit()
print("-" * 50)
print(" ROOM BOOKED")
print("-" * 50)
23 | P a g e
q = "update rooms set status='Vacant' where romm_no =" + str(room_no)
cr1.execute(q)
con.commit()
if con.is_connected():
showmenu()
MAIN MENU
OUTPUTS
Creating a room:
24 | P a g e
25 | P a g e
View All Rooms:
26 | P a g e
Book A Room:
Check Out:
Exit:
27 | P a g e
BIBLIOGRAPHY
www.python.com
Github
https://stackoverflow.com/questions/6638520/1052-column-id-in-field-list-is-
ambiguous
https://www.w3schools.com/python/python_syntax.asp
https://opus.govst.edu/cgi/viewcontent.cgi?article=1199&context=capstones
28 | P a g e
CONCLUSION
29 | P a g e