Cs Project 123vffdfd (2)
Cs Project 123vffdfd (2)
CLASS: XII
1
NARAYANA JUNIOR COLLEGE, BHAYANDER (W)
CERTIFICATE
2 NAME: Signature:
(External)
2
TABLE OF CONTENTS [ T O C]
SER DESCRIPTION PAGENO
01
ACKNOWLEDGMENT 4
02
INTRODUCTIONS 5
03
OBJECTIVES OF THE 5
PROJECT
04
PROPOSED SYSTEM 6
05
SYSTEM DEVELOPMENT 6
LIFE CYCLE(SDLC)
06
PHASES OF SDLC 8
07
FLOW CHART 16
08
SOURCE CODE 18
09
OUTPUT 22
10
TESTING 27
11 HARDWARE/SOFTWARE
REQUIREMENTS 30
12
BIBLIOGRAPHY 31
3
ACKNOWLEDGEMENT
4
PROJECT ON CREATING AIRLINE RESERVATION MANAGEMENT
SYSTEM
INTRODUCTION
This program helps the users to manage and streamline the processes associated with
airline bookings and passenger management.
After adding information about the bookings ,the program creates a database in
MYSQL in the respective bookings you choose and creates a table to store the
bookings information in Tabular format in MYSQL.
Efficient Booking Process: Streamline the flight booking process to make it quick,
user-friendly, and efficient for customers. The objective is to reduce the time and
effort required for passengers to search for flights and complete reservations.
Data Management:
Develop a robust database system to store and manage flight information and flights
schedule as per the convience .Ensure updates and synchronization of data to provide
accurate and current information to users.
5
PROPOSED SYSTEM
The proposed system ensures the complete freedom for users where
users on its own system can log on to the website and book his or her
flights .Our proposed system allows user to book the flights, view
timings and cancel their flights
In this proposal the entire work is done on online platform and an
reservation id is also provided to the passenger. From passenger role
they should enter all their details properly such as name etc.
6
SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)
7
PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE
INITIATION PHASE
8
describe a proposal’s purpose, identify expected benefits, and explain how the
proposed system supports one of the organization’s business strategies. The
business case should also identify alternative solutions and detail as many
informational, functional, and network requirements as possible.
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.
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.
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.
⦁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),
11
⦁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 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:
12
⦁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.
DEVELOPMENT PHASE
13
⦁Preparing for integration and testing of the IT system.
⦁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
⦁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
14
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
FLOWCHART
16
17
18
19
SOURCE CODE
Import mysql .connector
from mysql.connector import Error
def create_connection():
try:
connection = mysql.connector.connect(
host='localhost',
database='airline_reservations',
user='root',
password='1234'
)
if connection.is_connected():
return connection
except Error as e:
print(f" Error: {e}")
return None
def create_tables(connection):
try:
cursor = connection.cursor()
tables = [
"""
CREATE TABLE IF NOT EXISTS flights (
id INT AUTO_INCREMENT PRIMARY KEY,
flight_number VARCHAR(255),
source VARCHAR(255),
destination VARCHAR(255),
20
type VARCHAR(255)
)
""",
"""
CREATE TABLE IF NOT EXISTS reservations (
id INT AUTO_INCREMENT PRIMARY KEY,
flight_id INT,
passenger_name VARCHAR(255),
FOREIGN KEY (flight_id) REFERENCES flights(id) ON DELETE CASCADE
)
""",
"""
CREATE TABLE IF NOT EXISTS food_choices (
id INT AUTO_INCREMENT PRIMARY KEY,
reservation_id INT,
food_option VARCHAR(255),
FOREIGN KEY (reservation_id) REFERENCES reservations(id) ON DELETE
CASCADE
)
"""
]
connection.commit()
except Error as e:
print(f"Error: {e}")
def get_user_flight_type_choice():
21
while True:
print("\nSelect Flight Type:")
print("1. Domestic Flights")
print("2. International Flights")
def display_flights(connection):
try:
flight_type_choice = get_user_flight_type_choice()
flight_type = 'Domestic' if flight_type_choice == '1' else 'International'
if not flights:
print(f"No {flight_type} flights available.")
22
else:
print(f"\nAvailable {flight_type} Flights:")
for flight in flights:
print(f"ID: {flight[0]}, Flight Number: {flight[1]}, Source: {flight[2]},
Destination: {flight[3]}")
except Error as e:
print(f"Error: {e}")
except Error as e:
print(f"Error: {e}")
return None
def display_food_choices():
print("\nFood Choices:")
print("1. Veg Option 1: Sandwich")
print("2. Veg Option 2: Burger")
print("3. Non-Veg Option 1: Chicken Tikka Masala")
print("4. Non-Veg Option 2: Chicken Noodles")
23
def get_food_choice():
while True:
food_choice = input("Enter the number of your food choice : ")
if food_choice in ['1', '2', '3', '4']:
return display_food_choices
else:
print("Invalid choice. Please enter a valid option.")
24
f.destination,
fc.food_option
FROM
reservations r
JOIN flights f ON r.flight_id = f.id
LEFT JOIN food_choices fc ON r.id = fc.reservation_id
WHERE
r.id = %s
""", (reservation_id,))
reservation_info = cursor.fetchone()
if reservation_info:
print("\nReservation Details:")
print(f"Reservation ID: {reservation_info[0]}")
print(f"Passenger Name: {reservation_info[1]}")
print(f"Flight Number: {reservation_info[2]}")
print(f"Source: {reservation_info[3]}")
print(f"Destination: {reservation_info[4]}")
else:
print("Reservation not found.")
except Error as e:
print(f"Error: {e}")
25
f.flight_number,
f.source,
f.destination
FROM
reservations r
JOIN flights f ON r.flight_id = f.id
WHERE
r.id = %s
""", (reservation_id,))
flight_info = cursor.fetchone()
if flight_info:
print("\nFlight Status:")
print(f"Flight Number: {flight_info[0]}")
print(f"Source: {flight_info[1]}")
print(f"Destination: {flight_info[2]}")
print(f"
else:
print("Reservation not found.")
except Error as e:
print(f"Error: {e}")
rows_affected = cursor.rowcount
if rows_affected > 0:
26
print("Reservation canceled successfully.")
else:
print("Reservation not found.")
except Error as e:
print(f"Error: {e}")
def fancy_exit_message():
print("\n*****************")
print("* THANK YOU FOR CHOOSING BLUEPHOENIX AIRLINES *")
print("***************\n")
def main():
print("\n WELCOME TO BLUEPHOENIX AIRLINES BOOKING WINDOW ")
connection = create_connection()
if connection:
create_tables(connection)
display_flights(connection)
try:
flight_id = int(input("\nEnter the ID of the flight you want to reserve: "))
passenger_name = input("Enter your name: ")
passenger_number = input("Enter your phone number: ")
27
reservation_id = make_reservation(connection, flight_id, passenger_name)
display_reservation_details(connection, reservation_id)
check_flight_status(connection, reservation_id)
display_foodchoice ()
fancy_exit_message()
except ValueError:
print("Invalid input. Please enter a valid numeric value.")
connection.close()
if _name_ ==
"_main_"main()
28
29
OUTPUT
30
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 test
engineer takes when designing test cases.
31
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.
32
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)
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.
33
HARDWARE AND SOFTWARE REQUIREMENTS
SOFTWARE REQUIREMENTS:
WINDOWS 10/8/7
PYTHON 3.12
MYSQL 8.0
34
.
BIBLIOGRAPHY
...
35