Professional Documents
Culture Documents
Ip New
Ip New
01 PROJECT INTRODUCTION 02
03 PROPOSED SYSTEM 05
09 OUTPUT 20-21
11 CONCLUSION 22
13 TESTING 23-24
12 BIBLIOGRAPHY 25
1
1)Introduction:
Airline Reservation System Project
Introduction
Features
1. Flight Booking
Users can input flight details such as flight number, class (Business
or Economy), Aadhar number, and date of travel to book a seat on
a flight. The system provides real-time feedback on seat availability
and calculates the booking amount based on the selected class.
3. Reservation Cancellation
2
Users can cancel their reservations by entering the flight number.
The system checks for the existence of the provided flight number
and cancels the reservation, making the seat available for other
passengers.
4. Flight Search
The system enables users to search for flights by entering the flight
number. It displays the route information, including the source and
destination of the selected flight.
Implementation
Conclusion
Python 3.12
Python Libraries: Pandas, MySQL Connector
MySQL RDBMS
3) PROPOSED SYSTEM
4
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
One has to use the data management software. Airline management initially hadto maintain a
lot of ledgers and a lot of paperwork has to be done but now software production this
organization has made their work fasterand easier. This prevents a lot of time and money.
Thework becomes fully automated and any information regarding the organization can be
obtained by clicking the button
5)TH E O R E T I C A LB A C K G R O U N D
5
Airline Reservations: Enhancing Travel Efficiency through Digital
Booking Systems
Technological Advancements:
Stage 1: Plan
The Planning stage lays the groundwork for the entire SDLC. It involves
identifying the system’s goals, defining project scope, setting objectives,
establishing timelines, and determining available resources. Planning
ensures that the development process aligns with organizational needs
and sets a clear direction for subsequent stages.
10
Stage 2: Analyze
During the Analysis stage, the focus is on gathering and understanding
the requirements of the system. This includes conducting interviews,
studying existing processes, and identifying stakeholders’ needs. The
gathered information serves as a basis for designing a system that meets
users’ expectations and addresses organizational challenges.
Stage 3: Design
System Design is a critical stage in the SDLC, where the requirements
gathered during the Analysis phase are translated into a detailed technical
plan. It involves designing the system’s architecture, database structure,
and user interface, and defining system components. The Design stage
lays the foundation for the subsequent development and implementation
phases.
Stage 4: Develop
The Development stage involves the actual coding and programming of
the system. Based on the design specifications, developers write code,
create database structures, and implement necessary functionalities.
Rigorous testing and quality assurance are performed to ensure the
system’s accuracy, performance, and adherence to the design
requirements.
Stage 5: Implement
This stage involves deploying the developed system into the production
environment. This includes activities such as system installation, data
migration, training end-users, and configuring necessary infrastructure.
Implementation requires careful planning and coordination to minimize
disruptions and ensure a smooth transition from the old system to the new
one.
Stage 6: Maintain
Maintenance is an ongoing stage that involves monitoring, managing, and
enhancing the system’s performance and functionality. It includes
activities such as bug fixes, updates, security patches, and addressing user
11
feedback. Regular maintenance ensures the system remains reliable,
secure, and adaptable to changing business needs.
Significance of System Design
System Design is a crucial stage in the SDLC as it bridges the gap
between requirements analysis and system development. It transforms
user needs and functional specifications into a detailed technical plan that
guides the development team. Proper system design ensures that the
developed system aligns with the desired functionality, performance, and
scalability requirements.
Conclusion: Software DLC is all about building software in a phase
approach systematically whereas System DLC is about implementing
hardware and software in a phased manner systematically.
12
8)SOURCE CODE
import tkinter as tk
from tkinter import messagebox
class AirlineReservationSystem:
def __init__(self):
self.root = tk.Tk()
self.root.title("Airline Reservation System" # Initialize flights (In-memory database)
self.flights = [
{"flight_no": "ABC123", "source": "New York", "destination": "Chicago",
"seats_available": {"BusinessClass": 10, "Economy": 40}},
{"flight_no": "XYZ456", "source": "Chicago", "destination": "New York",
"seats_available": {"BusinessClass": 5, "Economy": 25}},
{"flight_no": "123", "source": "Delhi", "destination": "Rewa", "seats_available":
{"BusinessClass": 30, "Economy": 50}},
{"flight_no": "ABC", "source": "Mumbai", "destination": "Satna", "seats_available":
{"BusinessClass": 40, "Economy": 60}},
{"flight_no": "12345", "source": "New York", "destination": "MALAYSIA",
"seats_available": {"BusinessClass": 50, "Economy": 440}},
{"flight_no": "XYZ", "source": "USA", "destination": "JAPAN", "seats_available":
{"BusinessClass": 70, "Economy": 40}},
# Add more flights as needed
]# Widgets
self.label = tk.Label(self.root, text="Airline Reservation System", font=("bold", 16))
self.label.pack(pady=10)
self.book_button = tk.Button(self.root, text="Book Flight", command=self.book_flight)
self.book_button.pack(pady=10)
self.cancel_button = tk.Button(self.root, text="Cancel Reservation",
command=self.cancel_reservation)
13
self.cancel_button.pack(pady=10)
self.search_button = tk.Button(self.root, text="Search Flights", command=self.search_flights)
self.search_button.pack(pady=10)
def book_flight(self):
book_window = tk.Toplevel(self.root)
book_window.title("Book Flight")
flight_no_label = tk.Label(book_window, text="Enter Flight No:")
flight_no_label.grid(row=0, column=0)
flight_no_entry = tk.Entry(book_window)
flight_no_entry.grid(row=0, column=1)
class_label = tk.Label(book_window, text="Select Class:")
class_label.grid(row=1, column=0)
class_var = tk.StringVar()
class_var.set("Economy") # Default class
class_option_menu = tk.OptionMenu(book_window, class_var, "BusinessClass",
"Economy")
class_option_menu.grid(row=1, column=1)
aadhar_label = tk.Label(book_window, text="Enter Aadhar No:")
aadhar_label.grid(row=2, column=0)
aadhar_entry = tk.Entry(book_window)
aadhar_entry.grid(row=2, column=1)
date_label = tk.Label(book_window, text="Enter Date (DD-MM-YYYY):")
date_label.grid(row=3, column=0)
date_entry = tk.Entry(book_window)
date_entry.grid(row=3, column=1)
14
book_button = tk.Button(book_window, text="Book", command=lambda:
self.process_booking(flight_no_entry.get(), class_var.get(), aadhar_entry.get(), date_entry.get(),
book_window))
book_button.grid(row=4, column=1)
def process_booking(self, flight_no, selected_class, aadhar_no, date, book_window):
selected_flight = next((flight for flight in self.flights if flight["flight_no"] == flight_no),
None)
if selected_flight:
if selected_flight["seats_available"][selected_class] > 0:
# Calculate the amount based on the class (you can adjust the logic)
amount = 2500 if selected_class == "Economy" else 5000
messagebox.showinfo("Amount", f"Amount to be paid: {amount}")
# Update the database (decrement available seats)
selected_flight["seats_available"][selected_class] -= 1
# You can save the booking details to a database if needed
self.show_payment_window(amount, selected_class, flight_no, book_window)
else:
messagebox.showerror("Error", f"No available seats in {selected_class} class for
Flight {flight_no}.")
else:
messagebox.showerror("Error", f"Flight {flight_no} not found.")
def show_payment_window(self, amount, selected_class, flight_no, book_window):
payment_window = tk.Toplevel(self.root)
payment_window.title("Payment Mode Selection")
payment_var = tk.StringVar()
payment_var.set("Credit Card") # Default selection
credit_card_radio = tk.Radiobutton(payment_window, text="Credit Card",
variable=payment_var, value="Credit Card")
15
credit_card_radio.pack()
debit_card_radio = tk.Radiobutton(payment_window, text="Debit Card",
variable=payment_var, value="Debit Card")
debit_card_radio.pack()
17
flight_no_entry.grid(row=0, column=1)
search_button = tk.Button(search_window, text="Search Flight", command=lambda:
self.display_route(flight_no_entry.get(), search_window))
search_button.grid(row=1, column=1)
def display_route(self, flight_no, search_window):
selected_flight = next((flight for flight in self.flights if flight["flight_no"] == flight_no),
None)
if selected_flight:
route = f"Route: {selected_flight['source']} to {selected_flight['destination']}"
messagebox.showinfo("Flight Route", route)
else:
messagebox.showerror("Error", f"Flight {flight_no} not found.")
search_window.destroy()
def main():
airline_system = AirlineReservationSystem()
airline_system.root.mainloop()
if __name__ == "__main__":
main()
9) OUTPUT:
18
19
20
10) CONCLUSION
11) TESTING
Software Testing is an empirical investigation conducted to provide
stakeholders with information about the quality of the product or service
21
under test[1] , with respect to the context in which it is intended to operate.
Software Testing also provides an objective, independent view of the
software to allow the business to appreciate and understand the risks at
implementation of the software. Test techniques include, but are not
limited to, the process of executing a program or application with the
intent of finding software bugs.
Software Testing, depending on the testing method employed, can be
implemented at any time in the development process, however the most
test effort is employed after the requirements have been defined and
coding process has been completed.
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.
22
WHITE BOX TESTING
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)
12) BIBLIOGRAPHY
23
24