Cs Project

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 29

CENTRAL BOARD OF SECONDARY

EDUCATION
AISSCE EXAMINATION SESSION – 2023-2024

Techno India Group Public School, Raiganj


Gobindapur, Kholshi, Raiganj, UttarDinajpur.

PROJECT RECORD FILE IS SUBMITTED TO DEPARTMENT OF COMPUTER SCIENCE FOR THE


PARTIAL FULLFILLMENT OF AISSCE EXAMINATION SESSION – 2023-2024

SUBMITTED BY: SOUMYADIP DEBNATH


CLASS: XII
ROLL NO:
STREAM: SCIENCE
SUBJECT: COMPUTER SCIENCE
SUBJECT CODE:083

GUIDED BY:

1|Page
PROJECT ON: HOTEL MANAGEMENT

Submitted by:
SOUMYADIP DEBNATH
&
SAPTARSHI SEN

2|Page
Acknowledgement

I would like to express my special thanks of gratitude to my teacher


___________________ as well as our principal Mr.Avijit Chakraborty
who gave me this golden opportunity to do this wonderful project on the
topic "hotel management system", which also helped me in doing a lot of
research and I came to know about so many new things.
I am really thankful to them.
Secondly I would also like to thank my parents and friends who helped
me a lot in finishing this project within the limited time.
I am making this project not only for marks but also to increase my
knowledge.

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 ______________________

SIGNATURE OF THE INTERNAL SIGNATURE OF THE EXTERNAL

SIGNATURE OF THE PRINCIPAL

4|Page
INTRODUCTION

Hotel Management system is an application that enables users to create


and store Room and Customer Records. It also helps to maintain the
data of existing Rooms. It also helps to know the number of empty
rooms available and all the filled rooms. This application is helpful to
department of the hotel which maintains data of rooms and customers
related to an hotel.
It is simple to understand and can be used by anyone who is not even
familiar with simple hotels system. It is user friendly and just asks the
user to follow step by step operations by giving him few options. It is fast
and can perform many operations of a company.
This software package has been developed using the powerful coding
tools of PYTHON. The software is very user friendly. The package
contains different modules like customer details. This version of the
software has multi-user approach. For further enhancement or
development of the package, user feedback will be considered.
Hotel management system is basically a database based project done
with help of python language. This project is very useful for the librarians
to keep a count on what project they have and how much they sold or
issued books. This project is multi field project, so that it can be modified
for various purposes.

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)

The systems development life cycle is a project management technique


that divides complex projects into smaller, more easily managed
segments or phases. Segmenting projects allows managers to verify the
successful completion of project phases before allocating resources to
subsequent phases.

Software development projects typically include initiation, planning,


design, development, testing, implementation, and maintenance phases.
However, the phases may be divided differently depending on the
organization involved.

For example, initial project activities might be designated as request,


requirements-definition, and planning phases, or initiation, concept-
development, and planning phases. End users of the system under
development should be involved in reviewing the output of each phase
to ensure the system is being built to deliver the needed functionality.

8|Page
PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE

INITIATION PHASE

The Initiation Phase begins when a business sponsor identifies a need


or an opportunity.
The purpose of the Initiation Phase is to:
• Identify and validate an opportunity to improve business
accomplishments of the organization or a deficiency related to a
business need.
• Identify significant assumptions and constraints on solutions to that
need.
• Recommend the exploration of alternative concepts and methods to
satisfy the need including questioning the need for technology, i.e., will a
change in the business process offer a solution?
• Assure executive business and executive technical sponsorship. The
Sponsor designates a Project Manager and the business need is
documented in a Concept Proposal. The Concept Proposal includes
information about the business process and the relationship to the
Agency/Organization.
• Infrastructure and the Strategic Plan. A successful Concept Proposal
results in a Project Management Charter which outlines the authority of
the project manager to begin the project.

SYSTEM CONCEPT DEVELOPMENT 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:

 Determine the feasibility and appropriateness of the alternatives.


 Identify system interfaces.
 Identify basic functional and data requirements to satisfy the
business need.
 Establish system boundaries; identify goals, objectives, critical
success factors, and performance measures.
 Evaluate costs and benefits of alternative approaches to satisfy the
basic functional requirements
 Assess project risks
 Identify and initiate risk mitigation actions, and Develop high-level
technical architecture, process models, data models, and a
concept of operations. This phase explores potential technical
solutions within the context of the business need.
 It may include several trade-off decisions such as the decision to
use COTS software products as opposed to developing custom
software or reusing software components, or the decision to use
an incremental delivery versus a complete, onetime deployment.
 Construction of executable prototypes is encouraged to evaluate
technology to support the business process. The System
Boundary Document serves as an important reference document
to support the Information Technology Project
 Request (ITPR) process.
The ITPR must be approved by the State CIO before the project can
move forward.

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

This phase formally defines the detailed functional user requirements


using high-level requirements identified in the Initiation, System Concept,
and Planning phases. It also delineates the requirements in terms of
data, system performance, security, and maintainability requirements for
the system. The requirements are defined in this phase to a level of
detail sufficient for systems design to proceed. They need to be
measurable, testable, and relate to the business need or opportunity
identified in the Initiation Phase. The requirements that will be used to
determine acceptance of the system are captured in the Test and
Evaluation Masterplan. The purposes of this phase are to:
 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

The design phase involves converting the informational, functional, and


network requirements identified during the initiation and planning phases
into unified design specifications that developers use to script programs
during the development phase. Program designs are constructed in
various ways. Using a top-down 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,

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

The development phase involves converting design specifications into


executable programs. Effective development standards include
requirements that programmers and other project participants discuss
design specifications before programming begins. The procedures
help ensure programmers clearly understand program designs and
functional requirements. Programmers use various techniques to
develop computer programs. The large transaction oriented programs
associated with financial institutions have traditionally been
developed using procedural programming techniques. Procedural
programming involves the line-by-line scripting of logical instructions
that are combined to form a program. Effective completion of the
previous stages is a key factor in the success of the Development
phase. The Development phase consists of:
 Translating the detailed requirements and design into system
components.
 Testing individual elements (units) for usability.
 Preparing for integration and testing of the IT system.

INTEGRATION AND TEST PHASE

Subsystem integration, system, security, and user acceptance testing


is conducted during the integration and test phase. The user, with
those responsible for quality assurance, validates that the functional
requirements, as defined in the functional requirements document,
are satisfied by the developed or modified system. OIT Security staff
assesses the system security and issue a security certification and
accreditation prior to installation/implementation.

Multiple levels of testing are performed, including:


Testing at the development facility by the contractor and possibly
supported by end users
Testing as a deployed system with end users working together with
contract personnel

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.

OPERATIONS AND MAINTENANCE PHASE

The system operation is on-going. The system is monitored for


continued performance in accordance with user requirements and
needed system modifications are incorporated. Operations continue
as long as the system can be effectively adapted to respond to the
organization’s needs. When modifications or changes are identified,
the system may re-enter the planning phase. The purpose of this
phase is to:
 Operate, maintain, and enhance the system.
 Certify that the system can process sensitive information.
 Conduct periodic assessments of the system to ensure the
functional requirements continue to be satisfied.
 Determine when the system needs to be modernized, replaced,
or retired.

15 | P a g e
Customer’s Data Management

It is one of commonly used projects applied in real life situations. It may


happen that many smallscale companies keep entire Customer’s details
manually. It is really a difficult task to perform various tasks manually
due to the following reasons:

 It becomes time consuming.


 It requires more people to be involved.
 It also requires a lot of paperwork.
 The same data may need to be written on different sheets.
 There is always a chance to make mistakes.

To overcome this situation, the organisation wants to design a software


(say, Customer's Data Management System) so that result could be
tabulated faster and could be made available in a short span of time.

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:

 Creating a new room in Room Record file


 Viewing vacant rooms in the Room Record file
 Viewing occupied rooms in the Room Record file
 Book a room in the Customer Record file
 Checkout from room in the Customer Record file
 Exit

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:

 Rooms Record File


 Customer’s Record File

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)

#Function to checkout a guest


def checkout():
room_no = input("Enter the Room Number : ")
q = " select rooms.room_no,booking.cname,booking.phone,rooms.status
from rooms,booking where status='occupied' and rooms.room_no="+ room_no
cr1 = con.cursor()
cr1.execute(q)
res = cr1.fetchall()
for row in res:
print(row)
chkoutdate = input("Enter the date of Checkout : ")

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:

View All Vacant Rooms:

View All Occupied 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

We need hotel management system because we can able to search into


different room and customer details by using their "room_no" within
seconds. We can also able to add details of the customers easily. We
can easily handle all the customers with their suitable needs.

29 | P a g e

You might also like