Airline Reservation System (Informatics Practices Project Class XII)
Airline Reservation System (Informatics Practices Project Class XII)
PROJECT REPORT ON
AIRLINE RESERVATION SYSTEM
ROLL NO :
NAME : ISHANA CHATTERJEE
CLASS : XII
SECTION : SCIENCE-A
SUBJECT : INFORMATICS PRACTICES
SUB CODE : 065
ASIAN INTERNATIONAL SCHOOL
CERTIFICATE
This is to certify that Cadet Ishana Chatterjee of class XII, Section Science-
A, Roll No. ____________has successfully completed the project work
entitles AIRLINE RESERVATION SYSTEM(ARS) in the subject Informatics
Practices (065).
The project work reported here is as per the guidelines laid down by CBSE for
AISSCE Practical Examination and it is done under the supervision of Sukanta
Dasgupta. The project work carried out by her is not a form of any other
project work.
________________ _________________
Signature Signature
TABLE OF CONTENTS [ T O C ]
01 ACKNOWLEDGEMENT 02
02 INTRODUCTION 03
04 PROPOSED SYSTEM 04
07 INTRODUCTION TO ARS 13
08 FLOW CHART 14
09 SOURCE CODE 17
10 OUTPUT 26
11 TESTING 27
13 BIBLIOGRAPHY 30
1
ACKNOWLEDGEMENT
Apart from the efforts of me, the success of any project depends largely on the
encouragement and guidelines of many others. I take this opportunity to express my
gratitude to the people who have been instrumental in the successful completion of
this project.
I express deep sense of gratitude to almighty God for giving me strength for the
successful completion of the project.
The guidance and support received from all the members who contributed and
who are contributing to this project, was vital for the success of the project. I am
grateful for their constant support and help.
2
PROJECT ON CREATING AIRLINE RESERVATION SYSTEM
INTRODUCTION
This programme helps the users to add a data of flyer of all those who does flies.
Today’s world is full of completions and the only winner of this race is the one who
challenges everybody in that specific field.
This program is one example of how one shop can be deferent in function from the
other.
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
3
PROPOSED SYSTEM
Today one cannot afford to rely on the fallible human beings, who really wants
valid, it’s out-dated 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
One has to use the data management software. Software has been an ascent
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 paperwork has
to be done but now software production 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 to be wasted. 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 automating such an organization
4
SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)
5
PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE
INITIATION PHASE
6
SYSTEM CONCEPT DEVELOPMENT PHASE
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.
7
PICTORIAL REPRESENTATION OF SDLC:
PLANNING PHASE
REQUIREMENTSANALYSIS 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.
8
❖ 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
DEVELOPMENT PHASE
❖ Testing as a deployed system with end users working together with contract
personnel
IMPLEMENTATION PHASE
11
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.
12
INTRODUCTION TO AIRLINE RESERVATION SYSTEM
In today’s airline industry users or customers can reserve seat or book flight
from any place in the world as long as they are connected to internet. The
Innovation of technology has made traveling in the air easier for customers with
airline reservation or booking just a click away.
The fastest means of transportation today is by air. Thousands of people flock
the airline industry these days so that they can arrive their destination within a
short period of time. Vehicles, train etc. cannot drive across the Atlantic Ocean
or the Pacific Ocean, so customers tend to travel to other state, countries, and
continents using air…show more content…
Because of the assessment of the Travel to agent to make reservation directly
the Airline industry provided an Airline deregulation rule, this Airline
deregulation occurred in the year 1978, it deals with the magnifying the
importance of the computerized airline reservation systems and their
accessibility.
The main purpose of the 1978 Airline Deregulation Act in the U.S was to
eliminate government control over commercial aviation and ensure competitive
behaviour and fair business practices in the Airline Industry.
The flight reservation system is the way to the modern, scalable and robust
architecture of reserving a flight. The most dominant issue that an airline face is the
pressure of cost-cutting which slows down the entire growth of the airline industry. The
success of the airline depends on two factors, one is the traveller’s and second is the
technology used to book a flight.
As a part of the travel company, you must hire professionals that can help you build a
competitive application for flight. A credible development firm for a travel software that
helps you create a well-organized software for flight booking. A proper FRS (flight
reservation system) is the reason for a sustained travel business. This helps
customers to reserve flights in a matter of a few minutes hence, it becomes an
important aspect of travel.
Here are a few elements to consider when constructing your travel agency software.
Offer online payment features with options: Let your users pay as per their comfort,
not yours. All airline systems usually give payment, but some may be very restricted.
As a travel company, you need to ensure the safety of customer’s information and
make sure that the software supports all kinds of payment gateways.
13
FLOWCHART FOR ARS
START
Input
14
if a=='' or b=='' or c=='': messagebox.showerror("Error","Cant leave any
field empty")
else:
else :
else:
15
NO
STOP
YES
else:
16
SOURCE CODE
from tkinter import Button, Label, Tk, messagebox
from tkinter.ttk import Combobox
from tkinter import *
from tkinter.ttk import *
import sqlite3
con=sqlite3.Connection('hrdb')
rootp=Tk()
Label(rootp,text="Airline Reseration System",font="Bold 20").pack()
def fun8():
rootp.destroy()
root2=Tk()
root2.title("Welcome,Customer To our Cancellation System")
Label(root2,text="Enter last 4 digit of your Citizenship
Number").grid(row=0,column=0)
e1=Entry(root2)
e1.grid(row=0,column=1)
Label(root2,text="Choose your class").grid(row=1,column=0)
w2=Combobox(root2,height=5,width=15,values=["BusinessClass","
Economic"])
w2.grid(row=1,column=1)
Label(root2,text="select boarding").grid(row=2,column=0)
w3=Combobox(root2,height=5,width=15,values=["New
York","Chicago","Dallas","San Francisco"])
17
w3.grid(row=2,column=1)
def fun2():
d=e1.get()
b=w2.get()
c=w3.get()
cur=con.cursor()
x=str(d)
y=str(c)
con.commit()
if d=='' or b=='' or c=='':
messagebox.showerror("Oops","You can't Enter the leave
any field empty")
else:
if b=="economic":
cur.execute("delete from economic2 where adno=(?) and
boarding=(?)",(d,b,))
cur.execute("select * from economic2")
messagebox.showinfo("your reservation is
cancelled",cur.fetchall())
else:
cur.execute("delete from common2 where adno=x and
boarding=y")
cur.execute("select * from common2")
18
Bc=Button(root2,text="Cancel
Reservation",command=fun2).grid(row=4,column=0)
root2.mainloop()
def fun9():
rootp.destroy()
root4=Tk()
root4.title("Welcome,Search flights")
Label(root4,text="Enter Boarding").grid(row=0,column=0)
w1=Combobox(root4,height=5,width=15,values=["New
York","Chicago","Dallas","San Francisco"])
w1.grid(row=0,column=1)
Label(root4,text="select destination").grid(row=1,column=0)
w2=Combobox(root4,height=5,width=15,values=["New
York","Chicago","Dallas","San Francisco"])
w2.grid(row=1,column=1)
Label(root4,text="Choose day of travel").grid(row=2,column=0)
w3=Combobox(root4,text="choose
day",height=5,width=15,values=["sunday","monday","tuesday","wen
sday","thursday","friday","saturday"])
w3.grid(row=2,column=1)
def fun10():
a=w1.get()
b=w2.get()
c=w3.get()
19
cur=con.cursor()
if a=='' or b=='' or c=='':
messagebox.showerror("Error","Cant leave any field
empty")
else:
if a!=b:
#cur.execute("create table eco(boarding
char(20),destination char(20),day char(20),time number,class
char(10),fare number)")
cur.execute("insert into eco values('New
York','Chicago','Sunday',1.00,'Economic',2500)")
cur.execute("insert into eco values('New
York','Dallas','Monday',1.00,'Common',4000)")
cur.execute("insert into eco values('New York','San
Francisco','Tuesday',1.00,'Economic',5500)")
cur.execute("insert into eco values('Chicago','New
York','Wensday',1.00,'Economic',3500)")
cur.execute("insert into eco values('Chicago','New
York','Wensday',7.00,'Common',2500)")
cur.execute("select * from eco where boarding=? and
destination=? and day=?",(a,b,c,))
con.commit()
e=cur.fetchall()
messagebox.showinfo("flights availble are",e)
20
else:
messagebox.showerror("Oops","boarding and destination
can't me same")
Bs=Button(root4,text="search",command=fun10).grid(row=3,column
=0)
root4.mainloop()
def fun5():
rootp.destroy()
root=Tk()
root.title('Flight search And booking')
Label(root,text="Enter Boarding").grid(row=1,column=0)
#e1=Entry(root,width=20,bd=4,justify="right")
#e1.grid(row=1,column=1)
w=Combobox(root,height=5,width=15,values=["Dallas","Washington
","New York","San Francisco"])
w.grid(row=1,column=1)
Label(root,text='Enter Destination').grid(row=2,column=0)
#e2=Entry(root,width=20,justify='right')
#e2.grid(row=2,column=1)
w1=Combobox(root,height=5,width=15,values=["Dallas","Washingto
n","New York","San Francisco"])
w1.grid(row=2,column=1)
21
#e3=Entry(root,width=20,justify='right')
#e3.grid(row=3,column=1)
Label(root,text='Enter last 4 digit of your Aadhaar
Number').grid(row=3,column=0)
e=Entry(root,width=20)
e.grid(row=3,column=1)
w2=Combobox(root,text='BusinessClass',height=5,width=15,values
=["Business","Economic","Common"])
w2.grid(row=4,column=1)
Label(root,text='Choose Class').grid(row=4,column=0)
Label(root,text="Choose day of travel").grid(row=5,column=0)
w3=Combobox(root,text="Choose
day",height=5,width=15,values=["Sunday","Monday","Tuesday","We
dnesday","Thursday","Friday","Saturday"])
w3.grid(row=5,column=1)
Label(root,text="Choose Time of your
flight").grid(row=6,column=0)
w4=Combobox(root,height=5,width=15,values=["1:00 AM","7:00
AM","1:00 PM","4:00 PM","9:00 PM"])
w4.grid(row=6,column=1)
def fun():
a=w.get()
b=w1.get()
c=e.get()
d=w2.get()
22
f=w3.get()
g=w4.get()
x=(a,b,c,f,g)
cur=con.cursor()
if a!=b:
#cur.execute("create table economic2(boarding
char(20),destination char(20),adno number,day char,time number)")
cur.execute("insert into economic2 values(?,?,?,?,?)",x)
messagebox.showinfo("congrats","your seat has been
reserved")
con.commit()
cur.execute("select * from economic2 where
adno=(?)",(c,))
messagebox.showinfo("records",cur.fetchall())
else:
messagebox.showerror("Error","you can't choose same
city")
if d=='BusinessClass':
23
#cur.execute("create table common2(boarding
char(20),destination char(20),adno number,day char,time number)")
if a!=b:
cur.execute("insert into common2 values(?,?,?,?,?)",x)
messagebox.showinfo("congrats","your seat has been
reserved")
con.commit()
cur.execute("select * from common2 where
adno=(?)",(c,))
messagebox.showinfo("records",cur.fetchall())
else :
messagebox.showerror("Error","you can't choose same
city")
Bi=Button(root,text="Insert",command=fun).grid(row=7,column=1)
#Bo=Button(root,text="See
Flights",command=dis).grid(row=7,column=1)
#Bf=Button(root,text='Set fair
range',command=fun1).grid(row=7,column=2)
root.mainloop()
B1=Button(rootp,text="Cancel Booking",command=fun8).pack()
B2=Button(rootp,text="Search Flight",command=fun9).pack()
B3=Button(rootp,text="Book Flight",command=fun5).pack()
#B2=Button(rootp,text="Cancel
Booking",height=4,width=35,font="Bold",bg="gray").pack()
24
#B3=Button(rootp,text="See
flights",height=4,width=35,font="Bold",bg="gray").pack()
rootp.mainloop()
25
OUTPUT
Flight Booking
Then a dialogue will pop-up: Which states that “Successful” for 5 seconds
Flight Search
Then a dialogue will pop-up- Which states that “The details of the flight” for few
seconds
Flight Cancellation
Then a dialogue pops-up: Which states that “Reservation cancelled” for 5 seconds
26
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.
SPECIFICATION-BASED TESTING
27
to be provided to the tester, who then can simply verify that for a given input, the output
value (or behaviour), either "is" or "is not" the same as the expected value specified in
the test case. Specification-based testing is necessary, but it is insufficient to guard
against certain risks
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.
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.
29
SOFTWARE REQUIREMENTS:
I. Windows OS
II. Python
BLIOGRAPHY
30