WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
Airline ticket reservation system
1. Project Item
Airline Ticket Reservation System
Submitted by
Name : SH Rajøn
Group : The Geniuses
Batch : 1410
Student of Department of Computer Science and Engineering of IUBAT
IUBAT- International University of Business Agriculture and Technology
2. 2
TABLE OF CONTENTS
TeamMembers Information............................................ Ii
Acknowledgement..................................................... Iii
List of Contents................................................................. Iv
List of Figures..................................................................... V
List of Tables...................................................................... Vi
01 Introduction......................................................................... 7
1.1 Software Requirements............................................ 8
1.2 Aims and Objectives................................................ 8
02 DESIGN AND IMPLEMENTATION............................... 9
2.1 Design Approach.................................................... 9
2.2 UML Class Diagrams.............................................. 11
2.3 Database and Table Design..................................... 12
2.4 Graphical User Interface Implementation............... 17
2.5 Application Innovations.......................................... 22
03 WHITE BOX TESTING.................................................... 23
04 CRITICAL EVALUATION............................................... 24
05 BIBLIOGRAPHY................................................................. 24
3. 3
List of Figures
Titles Page No
Figure 2.2.1 UMLClass Diagram............................................................. 12
Figure 2.4.1 login page............................................................................. 18
Figure 2.4.2 home page............................................................................. 18
Figure 2.4.3 reservation page................................................................... 19
Figure 2.4.4 update page.......................................................................... 19
Figure 2.4.5 about company page............................................................ 20
Figure 2.4.6 admin page........................................................................... 20
Figure 2.4.7 baggage page........................................................................ 21
Figure 2.4.8 flight schedule page............................................................. 21
Figure 2.4.9 prohibited item page........................................................... 21
Figure 2.5.1 fare chart page..................................................................... 22
5. 5
1. Introduction
Purpose and motivation
The main purpose of this vision document is to list the requirements of the Airline
Reservation System project. This document also helps us to collect
And analyze the ideas Gathered for the project. This vision document will be
subject to change, if more requirements are added to the project. This document is
mainly prepared to set stage for the design phase of the project. The document
being prepared is the first version of vision document for the Airline Reservation
System project.
Our interest to learn this new technology has prompted me to take up this project,
which would set the stage for the applications I would be developing in the future.
Projectoverview
The Airline Reservation System project is an implementation of a general Airline
Ticketing website like Orbitz, which helps the customers to search the availability
and prices of various airline tickets, along with the different packages available
with the reservations. This project also covers various features like online
registration of the users, modifying the details of the website by the management
staff or administrator of the website, by adding, deleting or modifying the customer
details, flights or packages information. In general, this website would be designed
to perform like any other airline ticketing website available online.
References
Some of the references used for preparing the vision document include:
1. http://inkboard.sourceforge.net/docs/VisionDocument.pdf
2. www.orbitz.com
3. IEEE document for Software Requirements Specifications
4. E-Draw software is used to generate the use casediagrams 15
5. Wikipedia
6. MSE Portfolio presentation I lecture by Dr. Deloach, on the CIS website
6. 6
1.1 Software Requirements
The application should run on a Windows XP/2000/7/8/8.1/10 Operating System.
Since the application needs a database to store all the customer details, airline,
motel and package information, SQL server 2000 would be used. Use XAMPP as
local host.
Any supported versions of Net Beans or Oracle software would be used for
creating the application. All the coding will be done in JAVA program.
1.2 Aims and Objectives
One of the most common modes of travel is traveling by air. Customers who wish
to travel by air nowadays have a wide variety of airlines and a range of timings to
choose from. Nowadays competition is so fierce between airlines that there are lot
of discounts and a lot of luxuries given to customers that will give an edge to that
particular airline. The World Wide Web has become tremendously popular over
the last four years, and currently most of the airlines have made provision for
online reservation of their flights. The Internet has become a major resource for
people looking for making reservations online without the hassle of meeting travel
agents. Our Project intends to serve these purposes. It intends to check all the
available airline databases and return a string of results, which can help them in
their travel plans. The objective of this project is to create an airline reservation
system where a traveler can request all flight information as per their journey
dates. They can get information regarding time, cost, etc all at the same time and
place. When the customer calls the Counter Assistant for his/her travel needs, the
counter assistant will enter the customer’s details (flight requirements) in the
system. The system displays all the available airlines, schedules and prices. This
system would help the airline to better serve its customers by catering to their
needs. The site would use a Database to hold this information as well as the latest
pricing and availability information for the airlines.
7. 7
2. DESIGN AND IMPLEMENTATION
2.1 DesignApproach
When dealing with the specification, design, or implementation of a number of
similar applications, common parts can be found. These parts can be specified as
patterns that are independent from a particular specification, implementation
details, or implementation language. Sometimes such modules are not so simple: a
general module for different purposes to achieve separation of concerns is not
trivial. Moreover, the more complicated modules often vary slightly from
application to application. As the number of applications increases, their
management becomes increasingly difficult and unwieldy. The concept of
Semantic Analysis Patterns (SAPs) [3] emphasizes functional aspects of the
application model as opposed to improving flexibility. The main purpose of this
type of pattern is to serve as a starting point when translating requirements into a
conceptual model. This type of pattern represents a minimum application (a set of
basic use cases) so that it can be applied to a variety of situations and it can be
combined with other related patterns to describe more complex applications [4].
Software for airport management is a very complex real-life system and the
flight reservation system is one of its most commonly used parts. Typically a
customer places an order for a seat(s) for a certain combination of connected
flights. To support such an operation, the customer and the system need to check
the feasibility of flight connections and their schedule. Several different atomic
patterns can be derived to provide the different functional aspects of the system.
The purpose of this paper is tying together these existing patterns to design a more
complex system, which would be very hard to build directly. Because of the way it
is built the resulting model is also flexible and reusable.
Section 2 describes the requirement for this system and a set of atomic patterns.
Each atomic pattern focuses on a detailed functional aspect of the system. To
describe each pattern we follow loosely the templates of When dealing with the
specification, design, or implementation of a number of similar applications,
common parts can be found. These parts can be specified as patterns that are
independent from a particular specification, implementation details, or
implementation language. Sometimes such modules are not so simple: a general
8. 8
module for different purposes to achieve separation of concerns is not trivial.
Moreover, the more complicated modules often vary slightly from application to
application. As the number of applications increases, their management becomes
increasingly difficult and unwieldy. The concept of Semantic Analysis Patterns
(SAPs) [3] emphasizes functional aspects of the application model as opposed to
improving flexibility. The main purpose of this type of pattern is to serve as a
starting point when translating requirements into a conceptual model. This type of
pattern represents a minimum application (a set of basic use cases) so that it can be
applied to a variety of situations and it can be combined with other related patterns
to describe more complex applications [4].
Software for airport management is a very complex real-life system and the
flight reservation system is one of its most commonly used parts. Typically a
customer places an order for a seat(s) for a certain combination of connected
flights. To support such an operation, the customer and the system need to check
the feasibility of flight connections and their schedule. Several different atomic
patterns can be derived to provide the different functional aspects of the system.
The purpose of this paper is tying together these existing patterns to design a more
complex system, which would be very hard to build directly. Because of the way it
is built the resulting model is also flexible and reusable.
Section 2 describes the requirement for this system and a set of atomic patterns.
Each atomic pattern focuses on a detailed functional aspect of the system. To
describe each pattern we follow loosely the templates of [2]. Section 3 shows how
we compose these patterns to develop a flight reservation system. The
effectiveness and flexibility of this SAP is shown by domain analysis using some
examples. We end with some conclusions in Section 4.
. Section 3 shows how we compose these patterns to develop a flight
reservation system. The effectiveness and flexibility of this SAP is shown by
domain analysis using some examples. We end with some conclusions in Section
4.
9. 9
2.2 UML Class Diagrams
Reserving airline tickets is often a confusing and expensive process. And the stakes
are high—if you skip a step, you could end up missing your flight! A use case
diagram template like the one below can help you plot out the most important
aspects. Use an oval shape to represent use cases and lines to symbolize actors in
the process. The actor's participation in the system is modeled with a line between
the actor and use case. To depict the system boundary, draw a box around the use
case itself. If all that sounds overwhelming, just start with one of the examples on
this page.
Unified Modeling Language (UML) can be used to make class diagrams, which are
perfect for modeling the relationships between classes and objects. With this class
diagram template for modeling airline reservations, you'll get a clear and effective
visual of every element in planning airline travel.
Airline reservations were one of the earliest systems to become managed by
computers, since the changing elements of the process are difficult to keep track of.
Mapping these systems requires careful consideration of the factors involved.
Which seats numbers are available? What kind of seats are the passengers
requesting? What flight times will be used? A class diagram can provide a valuable
overview of the potential classes, attributes, and relationships for objects in the
reservation system. You can easily build this diagram in Lucidchart with the
examples below.
10. 10
Airline ReservationClassDiagramTemplate
Figure 2.2.1 UML Class Diagram
2.3 Database andTable Design
Task#1:
Draw an Entity Relationship Diagram (ER Model) for the given case study along
with properassociations and cardinalities.
Entity Relationship Diagram
check attached image (case study diagram.jpg) which i have made
Task#2:
Derive the tables from the ER model and normalize up to third normal form (3rd
NF)
Tables
Jets
Id Entity Information
11. 11
1 JetID Primary Key
2 JetName Text
3 JetType Text
Table 2.3.1 Jets
Flights
Id Entity Information
1 FlightID Primary Key
2 FlightDate Date
3 FlightJetID Foreign Key
4 FlightSource Text
5 FlighDestination Text
6 FlightTime Text
7 RunWayID Foreign Key
8 ReservedBy Foreign key
Table 2.3.2 Flights
Passengers
Id Entity Information
1 PassengerID Primary Key
2 PassengerName Text
3 PassengerCell Text
Table 2.3.3 Passengers
Staff
Id Entity Information
1 StaffMemberID Primary Key
2 StaffMemberName Text
3 StaffMemberDesignation Text
12. 12
4 StaffMemberContact Text
Table 2.3.4 staff
Tickets
Id Entity Information
1 TicketID Primary Key
2 TicketType Text
3 PassengerID Number
4 FlightType Foreign Key
Table 2.3.5 Tickets
Announcements
Id Entity Information
1 AnnouncementID Primary Key
2 AnnouncementText Text
3 AnnouncementStartDate Date
4 AnnouncementExpDate Date
5 StaffMemberID Foreign Key
Table 2.3.6 Announcement
Runway
Id Entity Information
1 RunwayID Primary Key
2 RunwayTrack Text
3 TowerAssigned Number
Table 2.3.7 Runway
So an abstractgraphical view of the database may look like:
check image (tableInAccess.jpg)
13. 13
Task#3:
De-normalize the database (obtained after completing task#2) by using the
“collapsing tables” technique.
De-normalize
Table collapsing: table collapsing de-normalization technique is used on one-to-
one and many-to-many relations. In ER model given in task-1 we do not have man-
to-many relations, however, one-to-one relations were identified between
“Tickets”, “Passengers”entities and “Runway”, “Flights” and “Jets” entities.
First we collapse the “Passengers”and “Tickets” tables. We supposethat
“PassengerCell” attribute is unnecessary so finally the resultant “Tickets” table
after collapsing becomes:
Tickets
1. TicketID Number Primary Key
2. TicketType Text
3. PassengerID Number
4. PassengerName String
5. FlightID Number Foreign Key (Refers FlightID in Table Flights)
Next we collapse “Runway”, “Flights” and “Jets” tables
First collapsing “Runways” table with “Flights” (supposewe need “RunwayTrack”
field only) we get:
Flights’
1. FlightID Number Primary Key
2. FlightDate Date
3. FlightJetID Number Foreign Key (Refers JetID in Table Jets)
4. FlightSource Text
5. FlighDestination Text
6. FlightTime Text
7. RunWayID Number Foreign Key (Refers RunWayID in Table
Runways)
8. RunwayTrack String
9. ReservedBy Number Foreign key (Refers StaffMemberID in Table
Staff)
14. 14
Then we merge “Jets” Table with “Flights”. The final structure of “Flights” table
becomes:
Flights
1. FlightID Number Primary Key
2. FlightDate Date
3. FlightJetID Number Foreign Key (Refers JetID in Table Jets)
4. JetName String
5. JetType String
6. JetType String
7. FlightSource Text
8. FlighDestination Text
9. FlightTime Text
10.RunWayID Number Foreign Key (Refers RunWayID in Table
Runways)
11.RunwayTrack String
12.ReservedBy Number Foreign key (Refers StaffMemberID in Table
Staff)
Finally the abstract view may look like:
please check attached image(finalShape.jpg)
Secondtask.doc
Task:
In Sub Task no. 3 of first Task, you denormalized all one-to-one and many-to-
many relationships; in this assignment you will denormalize all one-to-many
relationships by taking into account the same Air Ticket reservation system, in
order to optimize it further.
So, de-normalize all one-to-many relationships (left after Sub Task no. 3 in Task
no. 1) using Pre-joining technique.
The pre-joined tables should:
Contain no redundant columns (matching join criteria columns)
Contain only those columns absolutely necessary for the application to meet
its processing needs
15. 15
2.4 Graphical User Interface Implementation
Launching GUI
User has to simply click on the GUI icon. GUI is software with extension .jar. A
login window will be appeared and asks the user to enter username and password.
User has to click on login button after filling username and login details. GUI will
be launched by checking the username and password otherwise it gives alert
message.
Opening Website
User can select the website required from the drop box. Web sites are provided in
the
drop box with general names for example http://www.apsrtconline.com is simply
displayed as APSRTC. If User wants to open multiple websites he/she can choose
new tab option from file menu. For closing GUI user can directly close it or user
can chooselogout option from file menu.
Change Login Details
User can change the Login details by clicking the “change login details” from
settings menu. Here user can edit username and password.
Manage webaddress
User can add, delete or edit websites by clicking “Manage web address”option in
the Settings menu.
Screen Shots
20. 20
Figure 2.4.9 prohibited item page
2.5 Application Innovations
The system can further enhanced to save all user accountdetails in database by
using any database as backend, whenever user launched the GUI all websites are
provided to auto login with usernames and passwords retrieved from database. A
complete browser can also be developed with minimum functionalities.
21. 21
Figure 2.5.1 fare chart page
3. White-box and airline reservationblack-boxtesting
To bookflight meet Wikipedia's quality standards, this airline ticket reservation
system section may require cleanup. Please discuss this airline ticket reservation
system issue on the B Sc computer science project talk page, and airline
reservation or replace this airline ticket reservation system tag vb.net with JAVA a
ticket booking more specific message. White boxand airline reservation black box
testing are terms used to bookflight describe the point of view a ticket booking test
engineer takes when designing test cases. Black box being an IT MCA project
report external view of the project documentation test object and airline reservation
white box being an IT MCA project report internal view. Software testing is partly
intuitive, but largely systematic. Good testing involves much more than just
running the java sourcecodeprogram a ticket booking few times to bookflight see
whether it works. Thorough analysis of the project documentation program under
test, backed by a ticket booking broad knowledge of testing techniques and airline
reservation tools are prerequisites to bookflight systematic testing. Software
Testing is the process ofexecuting software in a ticket booking controlled manner;
in order to bookflight answer the question “Does this airline ticket reservation
22. 22
system software behave as specified?” Software testing is used in association Net
Bean with JAVA Verification and airline reservation Validation. Verification is the
checking of testing of items, including software, for BCA project synopsis
conformance and airline reservation consistency net bean with JAVA an IT MCA
project report associated specification. Software testing is just one kind of
verification, which also uses techniques as reviews, inspections, walkthrough.
Validation is the process ofchecking what has been specified is what the user
actually wanted.
4. CRITICAL EVALUATION
In order to eliminate the errors of the previous system, a superb application has
been developed due to which the user need not to waste his valuable time in
booking, the ticket and instead of server is built that takes care of every action
thereby reducing the size & effort of all users.
The purposeof the present Airline Reservation system is to allow customer to
interact that gives some basic information such as all flights information,
availability of accommodation in flights, ticket booking, class type like luxury/
super luxury/ special/ AC/ non AC.
In the existing system if any personwants to travel somewhere by flight he should
take some basic steps to get ticket like he should go to airport to bookthe flight
ticket, he should speak with Airline help center regarding the availability of flights.
It is time consuming process.
5. Bibliography
Some of the references used for preparing the vision document include:
http://inkboard.sourceforge.net/docs/VisionDocument.pdf
www.orbitz.com
IEEE document for Software Requirements Specifications
E-Draw software is used to generate the use case diagrams 15
Wikipedia
MSE Portfolio presentation I lecture by Dr. Deloach, on the CIS website
Reference -sites.google.com/site/bcafinalyearproject
http://docs.oracle.com/javafx/2/overview/jfxpub-overview.htm#A1096183
23. 23
https://netbeans.org/kb//docs/java/javafx-setup.html
Herbert Schildit, “Java 2 The Complete Reference “, Fifth Edition ,
McGraw-
Hill.
Herbert Schildit, “Java The Complete Reference “, Eigth Edition , McGraw-
Hill.
http://docs.oracle.com/javafx/2/api/javafx/embed/swing/JFXPanel.html