You are on page 1of 39

INRODUCTION

The proposed project is a computerized reservation and ticketing system. Specifically,


the project pertains only in the Flightiness operation of booking a passenger and reserving a
seat in a flight and provides a payment process that will generate ticket in the ticketing
system. The related sub-system Hotel, Tour, and Car Reservation has a direct connection in
the ticketing system of the project since that the system only reserves a passenger who wants
to include a hotel, tour, or car reservation in relation to their flight reservation. The
developers provide a short report of their data gathered in the next paragraphs. This is an
important part of this section that will give the reader an idea of what is the project theme all
about.

Airline reservation systems were first introduced in the late 1950s as relatively simple
standalone systems to control flight inventory, maintain flight schedules, seat assignments
and aircraft loading. The history of airline reservations systems began in the late 1950s when
American Airlines required a system that would allow real-time access to flight details in all
of its offices, and the integration and automation of its booking and ticketing processes. As a
result the Semi-Automated Flightiness Research Environment (SABRE) was developed and
launched in 1964 and the real breakthrough was its ability to keep inventory correct in real
time, accessible to agents around the world. Prior to this, manual systems required centralized
reservation centers, groups of people in a room with the physical cards that represented
inventory, in this case, seats on airplanes. The deregulation of the airline industry, in the
Airline Deregulation Act, meant that airlines, which had previously operated under
government-set fares ensuring airlines at least broke even, now needed to improve efficiency
to compete in a free market. In this deregulated environment the Airline Reservation System
and its descendants became vital to the travel industry.

The modern airline reservation system is comprehensive suite of products to provide a


system that assists with a variety of airline management tasks and service customer needs
from the time of initial reservation through completion of the flight. The Airline Reservations
System (ARS)wasone of the earliest changes to improve efficiency. ARS eventually evolved
into the computer reservations system (CRS). A computer reservation system is used for the
reservations of a particular airline and interfaces with a global distribution system (GDS)
which supports travel agencies and other distribution channels in making reservations for

1
most major airlines in a single system. A computer reservations system or central reservation
system (CRS) is a computerized system used to store and retrieve information and conduct
transactions related to air travel, hotels, car rental, or activities. Originally designed and
operated by airlines, CRS’s were later extended for the use of travel agencies. Major CRS
operations that book and sell tickets for multiple airlines are known as global distribution
systems (GDS). Airlines have divested most of their direct holdings to dedicated GDS
companies, who make their systems accessible to consumers through Internet gateways.
Modern GDS’s typically allow users to book hotel rooms, rental cars, airline tickets as well
as activities and tours. They also provide access to railway reservations and Flight
reservations in some markets, although these are not always integrated with the main system.
Airline reservations systems contain airline schedules, fare tariffs, passenger reservations and
ticket records. An airline's direct distribution works within their own reservation system, as
well as pushing out information to the GDS. The second types of direct distribution channel
are consumers who use the internet or mobile applications to make their own reservations.
Travel agencies and other indirect distribution channels access the same GDS as those
accessed by the airlines' reservation systems, and all messaging is transmitted by a
standardized messaging system that functions on two types of messaging that transmit on
SITA's HLN [high level network]. These message types are called Type A [usually
EDIFACT format] for real time interactive communication and Type B [TTY] for
informational and booking type of messages. Message construction standards set by IATA
(International Air Transport Association) and ICAO (International Civil Aviation
Organization), are global, and apply to more than air transportation. Since airline reservation
systems are Flightiness critical applications, and their functionally quite complex, the
operation of an in-house airline reservation system is relatively expensive. Prior to
deregulation, airlines owned their own reservation systems with travel agents subscribing to
them. Today, the GDS are run by independent companies with airlines and travel agencies as
major subscribers.

2
OBJECTIVES OF THE PROJECT:

The proposed project is entitled Flight Reservation and Ticketing system. The project is
one of the eleven (11) sub-systems of the main project Airline Management System that must
be capable to be integrated into the other sub-systems of the main project. The main project
reservation system is divided into two categories which are the flight reservation (FR) and the
hotel, tour, car reservation (HTCR). The proposed project handles the FR of the reservation
system that includes the ticketing system of both the FR and HTCR. That’s why in
conclusion the name of the original reservation system is renamed to be as Flight Reservation
and Ticketing System (FRAT) and Hotel, Tour, Car Reservation (HTCR).
The proposed project focuses on developing a flight reservation system that specifically
used only to book different types of passengers in a flight including their baggage. Cargo
reservation is temporarily not included in the proposed project since that the developers want
to assure that the primary purpose of the project which is making reservation of passenger for
air travel to be reach first. Cargo reservation will soon to be develop ones that the flight
reservation for passenger finished.

The proposed project will follow the IATA and ICAO standards in designing the flight
reservation system structure. To be able for the system to operate in the airline industry
operation, this standard should have to be implemented in the system. The ticketing system of
the proposed system seems to be ticketless. The ticketing structure also follows the standards.
An option to print the ticket of the passenger desired flight reservation is still given. But what
the good thing on making the flight reservation ticketless is that the passenger and the airline
company itself will save time and money. Excess baggage computing and ticketing is also
included in ticketing system of the proposed project. The baggage management module of the
project not only manages baggage. It also contains baggage marking and it can also track the
passenger baggage.Material Order Inventory is also automatically managed. The material
needed by the passengers should have to be supplied and given before the flight proper.
Material Order Inventory directly communicates to the flight operation and engineering sub-
system.Sales should also automatically collect and compute by the ticketing system. This
report generated in this system should have to be forwarded to the finance and accounting
sub-sy

3
SYSTEM SPECIFICATION
System requirement give an idea about what are the necessary things that are
needed for the proposed system, which plays a very important role in the development of any
system. This chapter deals with what are hardware components that are needed for the
system, application, software that is required for the development of the system and the
functional requirement of the system. Frontend tools helps to visualize the system, while
backend helps in activities which are not visible to the end user.

HARDWARE REQUIREMENTS

PROCESSOR : Intel Pentium 4 or more


RAM : 1 GB or more
MONITOR : 15” COLOR
HARD DISK : 40 GB hard disk recommended
KEYBOARD : STANDARD 102 KEYS

SOFTWARE REQUIREMENTS

OPERATING SYSTEM : Windows 7 Ultimate


FRONT-END : C++
LANGUAGE : C++
BACKEND : SQL Server 2008

4
SYSTEM STUDY

System Study is an important activity that takes place when we attempt to build a new
system or when modifying existing ones. In this phase the problems in the existing system are
thoroughly studied and the new system is proposed which rectifies the errors persisted in the
current system. The problems are analyzed from different point of view.
Study is the final stage before starting the designing of a project and hence, all the
required modification should be done at this stage. Then the specification to meet the
proposed system is to be produced after the Study stage that the project persons will use it for
further proceedings.
System Study then is the process of gathering and interpreting facts, diagnosing
problems and using the information to recommend improvements to the system. Before
development of any project can be pursued, a system study is conducted to learn the details of
the current Flightiness situation. Information gathered through the study, forms the basis for
creating alternative design strategies. Management selects the strategy to pursue.
System Study is about understanding situations. Effective Study includes
investigation and questioning to learn how a system currently operates and to identify the
requirements for a new or modified one. For the development of any good project proper
Study of the existing system is a pre-requisite. The existing system is studied to know the
extent of computerization required. Therefore, a detailed Study of the existing system should
be conducted. For this purpose, system should be broken down into various subsystems and
these subsystems were analyzed closely to identify the problem areas.
FEASIBILTY STUDY
The feasibility of the project is analyzed in this phase and Flightiness proposal is put
forth with a very general plan for the project and some cost estimates. During system analysis
the feasibility study of the proposed system is to be carried out. This is to ensure that the
proposed system is not a burden to the company. For feasibility analysis, some
understanding of the major requirements for the system is essential.

The feasibility study investigates the problem and the information needs of the
stakeholders. It seeks to determine the resources required to provide an information systems
solution, the cost and benefits of such a solution, and the feasibility of such a solution. The
analyst conducting the study gathers information using a variety of methods, the most popular
of which are:

5
 Developing and administering questionnaires to interested stakeholders, such as
potential users of the information system.
 Observing or monitoring users of the current system to determine their needs as well
as their satisfaction and dissatisfaction with the current system.
 Collecting, examining, and analyzing documents, reports, layouts, procedures,
manuals, and any other documentation relating to the operations of the current system.
 Modeling, observing, and simulating the work activities of the current system.

The goal of the feasibility study is to consider alternative information systems solutions,
evaluate their feasibility, and propose the alternative most suitable to the organization. The
feasibility of a proposed solution is evaluated in terms of its components. These components
are

 ECONOMICAL FEASIBILITY
 TECHNICAL FEASIBILITY
 SOCIAL FEASIBILITY
 OPERATIONAL FEASIBILITY

ECONOMICAL FEASIBILITY
This study is carried out to check the economic impact that the system will have on
the organization. The amount of fund that the company can pour into the research and
development of the system is limited. The expenditures must be justified. Thus the developed
system as well within the budget and this was achieved because most of the technologies
used are freely available. Only the customized products had to be purchased.
TECHNICAL FEASIBILITY
This study is carried out to check the technical feasibility, that is, the technical
requirements of the system. Any system developed must not have a high demand on the
available technical resources. This will lead to high demands on the available technical
resources. This will lead to high demands being placed on the client. The developed system
must have a modest requirement, as only minimal or null changes are required for
implementing this system.

6
SOCIAL FEASIBILITY
The aspect of study is to check the level of acceptance of the system by the user. This
includes the process of training the user to use the system efficiently. The user must not feel
threatened by the system, instead must accept it as a necessity.
The level of acceptance by the users solely depends on the methods that are employed
to educate the user about the system and to make him familiar with it. His level of confidence
must be raised so that he is also able to make some constructive criticism, which is
welcomed, as he is the final user of the system.
OPERATIONAL FEASIBILITY
The ability, desire, and willingness of the stakeholders to use, support, and operate the
proposed computer information system. The stakeholders include management, employees,
customers, and suppliers. The stakeholders are interested in systems that are easy to operate,
make few, if any, errors, produce the desired information, and fall within the objectives of the
organization.

EXISTING SYSTEM
There are a number of small countries for which the uses of dedicated AFTN
facilities are either not available or unaffordable. These ATS centers have been receiving
and sending AFTN by fax or phone.
The costs associated with using the above method are high because the connection
calls are charged at ISD rates. The process also is labour intensive may result in a higher than
necessary workload for staff. These countries are ideally suited for which this Internet type of
service delivery is more convenient and economical.

Draw backs of existing system.


Here in the Flite Booking, a detailed study of existing system is carried along
with all the steps in system analysis. An idea for creating a better project was carried and the
next steps were followed.
 Lack of security of data.
 More man power.
 Time consuming.
 Consumes large volume of pare work.

7
 Needs manual calculations.
 No direct role for the higher officials.
 Damage of machines due to lack of attention.
To avoid all these limitations and make the working more accurately the system needs
to be computerized.

PROPOSED SYSTEM
In existing system the ATS need fax and other recourses to tell about it the status of the flight
and other information related to Air Traffic Control. So hackers may easily hack the
information. So security issue arises. In proposed system we implemented the new technique
to overcome the problem in existing system. In proposed system ATS center are fully
automated and with high security. Here, (i.e.) in proposed system all information related to
Air Traffic Control and flight status are send through mail and message which is in an
encrypted format. The receiver should decrypt it by using key.

Advantages of Proposed System


The system is very simple in design and to implement. The system requires very
low system resources and the system will work in almost all configurations. It has got
following features

 Ensure data accuracy.


 Minimize manual data entry.
 Minimum time needed for the various processing
 Greater efficiency
 Better Service
 Minimum time required
 Availability of seats can be enquired very easily.
 Passengers can also cancel their tickets easily.
 This would help the corporation prepare and organize its schedules more efficiently
on the basis of traffic demand.

8
SYSTEM DESIGN AND DEVELOPMENT

INTRODUCTION:
Systems design is the process or art of defining the architecture, components,
modules, interfaces, and data for a system to satisfy specified requirements. One could see it
as the application of systems theory to product development. There is some overlap and
synergy with the disciplines of systems analysis, systems architecture and systems
engineering.
FILE DESIGN
File design is the design of the database and it contains information about the files
used in the system. In database design the tables constructed, fields in the tables their data
types and in the other part it tells about the extensions of the file used in the development.
INPUT DESIGN
The input design is the process of converting the user-oriented inputs in to the
computer-based format. The goal of designing input data is to make the automation as easy
and free from errors as possible. For providing a good input design for the application easy
data input and selection features are adopted. The input design requirements such as user
friendliness, consistent format and interactive dialogue for giving the right message and help
for the user at right time are also considered for the development of the project.

The following points should consider while designing the input;


 What data to input?
 What medium to use?
 How the data should be arranged or coded?
 The dialogue to guide users in providing input
 Data items and transactions needing validation to detect errors
 Methods for performing input validation and steps to follow when errors

occur.

9
In this project all the text boxes are validated. If any field is not filled then it will
display the message “Enter the text box”. The dialogue boxes are used to guide the user while
giving inputs. The list boxes are used to reduce the user inputs.

He will select one of the items in list boxes. Radio buttons are used to select the
options. The following design guidelines will result in a friendly and efficient interface.
Minimize the number of input actions required from user. This can be accomplished by using
the mouse to select from predefined set of inputs. In application the user can select the
options by using the mouse. The user is allowed to choose priority, mode of transport using
predefined set of values. Maintain consistency between information display and data input.
The visual characteristics of the display (e.g. text size, color etc) should be carried over to the
input domain. In this project the status information are represented by different colors.Allow
the user to customize input. An expert user might decide to create customer commands or
dispense with some types of warning messages and action verification.

OUTPUT DESIGN
When designing output, systems analyst must accomplish the following;
 Determine what information to present
 Decide whether to display, print the information and select the output medium
 Arrange the presentation of information in an acceptable format
 Decide how to distribute the output to intended recipient

Accomplishing the general activities listed above will require specific decisions, such

as whether to use preprinted forms when preparing reports and documents, how many line to

plan on printed page, or whether to user graphics and color. The output design is specified on

layout forms, sheets that describe the location characteristics (such as length and type), and

format of the column headings and pagination. As we indicated at the beginning of this

discussion, these elements are analogous to an architect blueprint that shows the location of

each component.

DATABASE DESIGN

10
Database design is the process of producing a detailed data model of a database. This
logical data model contains all the needed logical and physical design choices and physical
storage parameters needed to generate a design in a Data Definition Language, which can
then be used to create a database. A fully attributed data model contains detailed attributes for
each entity. In an object database the entities and relationships map directly to object classes
and named relationships. However, the term database design could also be used to apply to
the overall process of designing, not just the base data structures, but also the forms and
queries used as part of the overall database application within the database management
system.
A database is a collection of interrelated data stored with minimum redundancy to
serve many users quickly and efficiently. The general objective of database design is to make
the data access easy, inexpensive and flexible to the user.

Database design is used to define and then specify the structure of Flightiness used in

the client/server system. A Flightiness object is nothing but information that is visible to the

users of the system. The database must be normalized one.


Database Design is one of the important part in developing software. It is a process of
developing the conceptual model of data. It minimizes the artificiality embedded in using
separate files. It is a definition of the entire information content of the organization and it
specifies a relationship between the data.
 Controlled Redundancy
 Data independence
 Accurate and integrating
 More information at low cost
 Recovery from failure
 Privacy and security
 Performance
 Ease of learning and use

SYSTEM DEVELOPMENT MODULE


MODULES
 Login
 AFTN Message sending

11
 Flight Details

 Flight Status

 MODULE DESCRIPTION:

1. LOGIN:

Login is the first module of the project. The login page helps us to navigate
throughout inside the website. The login page is found as a link in the home page of
AFTN website. After logging in, the user is provided with different links like AFTN
message area, flight details, flight status and reports. This login consists of two sub
modules namely
 Registration.

 User Authentication.

 REGISTRATION:

The registration page consists of various fields like username, password, email
id and mobile number. These data are stored in the database and these data can be
retrieved from the database when the login page can be accessed for the new users to
navigate throughout the website. The username should be of alphabetic characters.
Password can be of any character of user’s type. E-Mail id must be a valid e-mail of
any prototype website. A valid ten digit mobile number is to be provided in the next
mobile number field to send the mail sequence number to corresponding mobile when
any AFTN message is received.

 USER AUTHENTICATION:

12
User Authentication is the main page for logging inside the website. This link
is provided in the home page of the website. It consists of the username and the
password field through which the user can login. The system checks with the database
details already registered for the new user when the submit button is clicked. It thrives
the user to the success page if the details provided are correct. Else the user is thrived
to the error page to make user provide the correct details already registered. This page
also allows the user to transact to the registration page in case of undefined new user.

2. AFTN MESSAGE SENDING:

The next module is AFTN Message sending. The AFTN messages are those
which are very important when considered according to airports authority. These
messages consist of different types like NOTAM, FPL, ARR, DLY, CHG, EST, CNL,
etc. They are the necessary flights related messages which are helpful to the airports
authority employees in receiving the flight at their destination and to send a flight
from their source. These messages are needed to be secured from unwanted hacking
which may lead to hijacking of flights. Thus to send these messages in a secured way
which is done is three different progress which are considered as the sub modules as
follows
 Encryption and decryption.

 Sending as E-Mail

 Mobile Message Alert.

 ENCRYPTION AND DECRYPTION:

The message which is being composed in the AFTN message link is sent
through public internet. Since it is using public internet as the communication
medium, there becomes a threat to the hacking of messages or change of messages
due to vulnerable virus transmission. Thus this project provides a best method in
securing the messages while sending through the public internet. This project is using

13
String Encryption technique, a new technique for securing the messages that are
inbound for hacking.
This encryption technique uses a permanent public key both at sending and
receiving airport authorities. This key is used for encrypting the messages in an
iterative method. The public key can be of any characters like numbers, alphabets,
symbols, alphanumeric characters, etc. The message is encrypted of each and every
character of the public key decided by the authorities for sending secured messages to
the destination. The characters are chosen in a random sequence for every message
generated. This random sequence differs for every message and it acts as the private
key. Thus the simple AFTN message is converted to the cipher text by iterative
encryption.
The same reverse procedure is followed at the destination to decrypt the cipher
text to the plain text. The decryption involves the same string encryption and
decryption technique. The random sequence, which is the private key, is the necessary
key for decrypting the cipher text. The cipher text is decrypted according to the
sequence it is encrypted. Thus the original AFTN message is retrieved. Since a
permanent secured public key is used for encryption the security for the messages are
considerably increased in types of encryption. The hackers are unable to retrieve the
message unless they have the public key which is known only to system that receives
the message and the system that sends and not even known to the user who types the
message.
 SENDINGASE-MAIL:

The encrypted message is converted to E-Mail format since it uses public internet as
the medium of the communication. The sending process uses any prototype of the E-
Mails that are specifically used by the airports authorities. This provides another security
to the messages with e-mail encryption technique. Thus the iterative encrypted message is
once again secured using the e-mail encryption technique. Thus the inbound hacking is
prevented to the very extent of the security measures. The e-mails are received at the
destination to the specified e-mail id which is downloaded to view the message.

 MOBILE MESSAGE ALERT:

Each and every message is being generated with a sequence number. This
number is sent to the registered mobile number as a message to notify that the

14
message has been received at destination. This uses mobile communication with Short
Messaging Service (SMS) to send the sequence number to the required mobile
numbers. This provides a notification for the arrival of the message at destination end.
Thus all messages are view and the user can be aware of the messages that are lost or
missed due to network failure or any other network attacks.

3. FLIGHTDETAILS:

This provides the user to add up or edit the flight details in the log such that it
can be viewed at any time for references. The flight details that are updated are stored
in the database for future references. These details are archived for three days such
that the details are deleted automatically after third day of the message. This module
consists of the following sub modules.

 Addition of flight details.

 Updating and edition.

 ADDITION OF FLIGHT DETAILS:

The addition of flight details consists of the following fields like flight code,
flight name, source, destination, time and date. The time and date are automatically
updated according to the system time and it is programmed that it can be changed
according to the users time and date revised by the airport authorities. The add button
provides us the facility to add the details in the database which can be viewed by the
tabular column provided below the fields of the flight details to be added.

 UPDATING AND EDITION:

This facility provides in editing of the flight details according to the authorities
revised data. The manual delete facility is provided in the log file where the flight
details are being displayed. This helps the authorities to delete unnecessary details
from the database thus making database manually in emergency cases. Further
automatic deletion of the details is done at every third day of the detail updated. This
archiving facility is applied on both AFTN messages and flight details.

15
4. FLIGHT STATUS:

The flight status can be viewed by the authorities in this website directly.
When the connection of Metar section of the airports authority, the simulation of the
selected flight can be viewed directly with the nodes available in its path of travel to
the destination. This module consists of a sub module namely
 Simulation

 SIMULATION:

This page is navigated from the flight details page. The detail of the flight is
selected by enabling the check box found in the first column of the table found. Then
the status of the flight is checked by clicking the status button. This provides the
simulation of the flight from nodes between the source and destination. These nodes
are obtained from the Metar section of the airport authority. Whenever the flight
reaches the node it displays the node to which it has arrived in a message box. And
the simulation is continued till the flight reaches the destination node. The speed of
the flight traveling and the distance traveled by the flight is also displayed in the
simulation page.

DATAFLOW DIAGRAM
The Data Flow Diagram was first developed by Larry Constantine as a way of
expressing system requirements in a graphical form; this led to modular design.

A Data Flow Diagram, also known as “bubble chart” has the purpose of clarifying
system requirements and identifying major transformations that will become programs in
system design. A DFD consists of a series of bubbles joined by lines. The bubbles represent
data transformations and the lines represent data flows in the system.

In the DFD, there are for symbols,


1. A square defines a source (originator) or designation of system data.
2. An arrow identifies data flow--data in motion. It is a pipeline through which
information flows.
3. A circle or a “bubble” represents a process that transforms incoming data
flow(s) into outgoing data flow(s).

16
4. An opened rectangle is a data store—data at rest, or a temporary repository
of data.
A few guidelines to aid the derivation of a DFD
 The level 0 DFD should depict the software/ system as a single bubble
 Primary input and output should be noted
 Refinement should begin by isolating candidate processes, data objects and the
stores to be represented in the next level
 All arrows and bubbles should be labeled with a meaningful name
 Information flow continuity must be maintained from level to level and
 One bubble at a time should be refined.

The level 0 DFD (context) is expanded o level 1 DFD. The process represented in the
level 1 DFD can be further refined o level 2 DFD. Information flow continuity is maintained
between levels. The refinement continues until each bubble performs a simple function. That
is, until the process represented by the bubble performs a function that would be easily
implemented as a program.

The DFD serves two purposes:


1. To provide an indication of how data is transformed as they move through
the system, and
2. To depict the functions (and sub functions) that transforms the data flow.

DFD provide additional information that is used during the analysis of the information
domain and serves as a basis for the modeling of function.

DATA FLOW DIAGRAM:

1. The DFD is also called as bubble chart. It is a simple graphical formalism that can be
used to represent a system in terms of input data to the system, various processing
carried out on this data, and the output data is generated by this system.
2. The data flow diagram (DFD) is one of the most important modeling tools. It is used
to model the system components. These components are the system process, the data

17
used by the process, an external entity that interacts with the system and the
information flows in the system.
3. DFD shows how the information moves through the system and how it is modified by
a series of transformations. It is a graphical technique that depicts information flow
and the transformations that are applied as data moves from input to output.
4. DFD is also known as bubble chart. A DFD may be used to represent a system at any
level of abstraction. DFD may be partitioned into levels that represent increasing
information flow and functional detail

[ADMIN] [USER]

[AFTNMSGENDING] [FLIGHT DETAILS]

[FLIGHT DETAILS] [CONTACT US]

[FLIGHT STATUS] [LOGOUT]

[REPORT]

[CONTACT US]

[LOGOUT]

Figure. 4.1 UML Diagram


UML DIAGRAMS

UML stands for Unified Modeling Language. UML is a standardized general-purpose


modeling language in the field of object-oriented software engineering. The standard is
managed, and was created by, the Object Management Group.
The goal is for UML to become a common language for creating models of object
oriented computer software. In its current form UML is comprised of two major components:

18
a Meta-model and a notation. In the future, some form of method or process may also be
added to; or associated with, UML.
The Unified Modeling Language is a standard language for specifying, Visualization,
Constructing and documenting the artifacts of software system, as well as for Flightiness
modeling and other non-software systems.
The UML represents a collection of best engineering practices that have proven
successful in the modeling of large and complex systems.
The UML is a very important part of developing objects oriented software and the
software development process. The UML uses mostly graphical notations to express the
design of software projects.

GOALS:
The Primary goals in the design of the UML are as follows:
1. Provide users a ready-to-use, expressive visual modeling Language so that they can
develop and exchange meaningful models.
2. Provide extendibility and specialization mechanisms to extend the core concepts.
3. Be independent of particular programming languages and development process.
4. Provide a formal basis for understanding the modeling language.
5. Encourage the growth of OO tools market.
6. Support higher level development concepts such as collaborations, frameworks,
patterns and components.
7. Integrate best practices.

USE CASE DIAGRAM:

A use case diagram in the Unified Modeling Language (UML) is a type of behavioral
diagram defined by and created from a Use-case analysis. Its purpose is to present a graphical
overview of the functionality provided by a system in terms of actors, their goals (represented
as use cases), and any dependencies between those use cases. The main purpose of a use case
diagram is to show what system functions are performed for which actor. Roles of the actors
in the system can be depicted.

19
CLASS DIAGRAM:

In software engineering, a class diagram in the Unified Modeling Language


(UML) is a type of static structure diagram that describes the structure of a system by
showing the system's classes, their attributes, operations (or methods), and the relationships
among the classes. It explains which class contains information.

User

REGISTRATION +user name


+Password
+NAME
+PASSWORD +login()
+EMAIL ID
+PHONE NO

+REGISTER()
+LOGIN()

Admin FLIGHT DETAIL

+USER NAME +FLIGHT NO


+PASSWORD +PLACE
+...
+LOGIN()
+EDIT()
+UPDATE()
+INSERT()

FLIGHT STATU

+SIMULATIONS
AFTNMSGSENDING
+...
+MAIL ID
+CURRENT PLACE()
+PHONE NO
+DETAILS
+...

+MAIL CONFORMATION()

20
Figure. 4.2 Class Diagram

SEQUENCE DIAGRAM:

A sequence diagram in Unified Modeling Language (UML) is a kind of interaction


diagram that shows how processes operate with one another and in what order. It is a
construct of a Message Sequence Chart. Sequence diagrams are sometimes called event
diagrams, event scenarios, and timing diagrams.

21
ADMIN
USER DATA BASE

1 : REGISTER()

2 : LOGIN()

3 : LOGIN()

4 : AFTNMESSAGE SENDING()

5 : FLIGHT DETAILS()

6 : FLIGHT DETAILS()

7 : FLIGHT STATUS()

8 : REPORT()

9 : CONTACT US()

10 : LOGOUT()

11 : LOGOUT()

Figure. 4.3 Sequence Diagram

ACTIVITY DIAGRAM:

Activity diagrams are graphical representations of workflows of stepwise activities


and actions with support for choice, iteration and concurrency. In the Unified Modeling
Language, activity diagrams can be used to describe the Flightiness and operational step-by-
step workflows of components in a system. An activity diagram shows the overall flow of
control.

22
[REGISTER]

[LOGIN]

NO

YES

[ADMIN] [USER]

[AFTNMSGSENDING]
[FLIGHT DETAILS]

[FLIGHT DETAILS]
[CONTACT US]

[FLIGHT STATUS]

[REPORT]

[CONTACT US]

Figure. 4.4 Activity Diagram


TESTING AND IMPLEMENTATION
SYSTEM TESTING

The purpose of testing is to discover errors. Testing is the process of trying to


discover every conceivable fault or weakness in a work product. It provides a way to check
the functionality of components, sub-assemblies, assemblies and/or a finished product It is
the process of exercising software with the intent of ensuring that the

23
Software system meets its requirements and user expectations and does not fail in an
unacceptable manner. There are various types of test. Each test type addresses a specific
testing requirement.

TYPES OF TESTS
Unit testing
Unit testing involves the design of test cases that validate that the internal program
logic is functioning properly, and that program inputs produce valid outputs. All decision
branches and internal code flow should be validated. It is the testing of individual software
units of the application .it is done after the completion of an individual unit before
integration. This is a structural testing, that relies on knowledge of its construction and is
invasive. Unit tests perform basic tests at component level and test a specific Flightiness
process, application, and/or system configuration. Unit tests ensure that each unique path of a
Flightiness process performs accurately to the documented specifications and contains clearly
defined inputs and expected results.

Integration testing
Integration tests are designed to test integrated software components to determine if
they actually run as one program. Testing is event driven and is more concerned with the
basic outcome of screens or fields. Integration tests demonstrate that although the
components were individually satisfaction, as shown by successfully unit testing, the
combination of components is correct and consistent. Integration testing is specifically aimed
at exposing the problems that arise from the combination of components.

Functional test
N Functional tests provide systematic demonstrations that functions tested are
available as specified by the Flightiness and technical requirements, system documentation,
and user manuals.
Functional testing is centered on the following items:
Valid Input : identified classes of valid input must be accepted.
Invalid Input : identified classes of invalid input must be rejected.
Functions : identified functions must be exercised.
Output : identified classes of application outputs must be exercised.
Systems/Procedures: interfacing systems or procedures must be invoked.

24
Organization and preparation of functional tests is focused on requirements, key
functions, or special test cases. In addition, systematic coverage pertaining to identify
Flightiness process flows; data fields, predefined processes, and successive processes must be
considered for testing. Before functional testing is complete, additional tests are identified
and the effective value of current tests is determined.

System Test
System testing ensures that the entire integrated software system meets requirements.
It tests a configuration to ensure known and predictable results. An example of system testing
is the configuration oriented system integration test. System testing is based on process
descriptions and flows, emphasizing pre-driven process links and integration points.

White Box Testing


White Box Testing is a testing in which in which the software tester has knowledge of
the inner workings, structure and language of the software, or at least its purpose. It is
purpose. It is used to test areas that cannot be reached from a black box level.

Black Box Testing


Black Box Testing is testing the software without any knowledge of the inner
workings, structure or language of the module being tested. Black box tests, as most other
kinds of tests, must be written from a definitive source document, such as specification or
requirements document, such as specification or requirements document.

Unit Testing:
Unit testing is usually conducted as part of a combined code and unit test phase of the
software lifecycle, although it is not uncommon for coding and unit testing to be conducted as
two distinct phases.

Test strategy and approach


Field testing will be performed manually and functional tests will be written in detail.

Test objectives
 All field entries must work properly.
 Pages must be activated from the identified link.
 The entry screen, messages and responses must not be delayed.

Features to be tested
 Verify that the entries are of the correct format

25
 No duplicate entries should be allowed
 All links should take the user to the correct page.

Integration Testing
Software integration testing is the incremental integration testing of two or more
integrated software components on a single platform to produce failures caused by interface
defects.

Test Results:
All the test cases mentioned above passed successfully. No defects encountered.

Acceptance Testing
User Acceptance Testing is a critical phase of any project and requires significant
participation by the end user. It also ensures that the system meets the functional
requirements.

Test Results:
All the test cases mentioned above passed successfully. No defects encoun

CONCLUSION
The System was successfully developed to meet the needs of the clients. It was found
to provide all the features that required for the organization. The accuracy and complexity of

26
the software are also ensured and this system provides benefits such as user-friendly
environment, which serves to verify the integrity of a remotely-hosted Requirements monitor.

FUTURE ENHANCEMENT
We plan to formalize our approach that will allow us to provide more rigorous
evaluation. This would include developing a core calculus for the TPM’s machine model
based on the cryptographic protocol Spi calculus. This semantics would account for the
authentication, secrecy, and integrity properties of the TPM. Furthermore, a formal semantics
for our approach can be built on top of this core calculus similar to the techniques

27
CODING:
//Learnprogramo - programming made simple
#include <iostream>
#include <iomanip>
#include "learnprogramo.h"
using namespace std;
int reserve = 999;
int seat[size];
void seat_fill()
{
for (int i = 0; i < size; i++)
{
seat[i] = 0;
}
}
bool taken=false;
bool seat_no(int y)
{
for (int i = 0; i < size; i++ )
{
if( seat[i] == -1 )
{
taken=true;
cout << "The seat is taken already. \n";
cout << "Please choose another seat number from below."<<endl;
int j = 1;
while ( j < size+1 )
{
if ( seat[j-1] == -1)
j++;
else
{
cout <<"|" << j << "|";

28
if ( j%10 == 0 )
cout << endl;
j++;
}
}
}
}
}
void menu()
{
char choice;
do{
cout <<"\t \xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd \n";
cout <<"\t Make Reservation ------ [1] \n";
cout <<"\t \xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd \n";
cout <<"\t Cancel Reservation ------ [2] \n ";
cout <<"\t \xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd \n";
cout <<"\t Search Passenger ------ [3] \n";
cout <<"\t \xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd \n";
cout <<"\t Change Reservation ------ [4] \n";
cout <<"\t \xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd \n";
cout <<"\t Print a list ------ [5] \n";
cout <<"\t \xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd \n";
cout <<"\t Print status Report ------ [6] \n ";
cout <<"\t \xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd \n";
cout <<"\t Quit ------ [7] \n ";

29
cout <<"\t \xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd \n";
cout <<" \xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\n";
cout <<" Option : ";
cin >> choice;
choice = ((int)(choice)-48);
switch (choice)
{
case 1: system("CLS"); bluesky.make_reservation();
break;
case 2: system("CLS"); bluesky.cancel_reservation();
break;
case 3: system("CLS"); bluesky.search_passenger();
break;
case 4: system("CLS"); bluesky.change_reservation();
break;
case 5: system("CLS"); bluesky.print_list();
break;
case 6: system("CLS"); bluesky.print_report();
break;
case 7: cout << "\n\nThank you come again\n\n\n";
break;
default: cout<<" Don't be like a DORK!!! \n\n";
break;
} // Ending case loop.
cout<<"\n PROCESS COMPLETED...\n\n";
cin.get();
if(cin.get()=='\n')
system("CLS");
cout<<"\n \xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd"<<endl;
30
cout << "\t AIRLINE RESERVATION SYSTEM \n";
cout<<" \xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\n"<<endl;
cout<<" \xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd MENU
OPTIONS \xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\n"<<endl;
}while(choice != 7 );
}
airlines::airlines()
{
start = NULL;
}
void airlines:: make_reservation()
{
int meal_choice, x;
temp = new node;
cout<<"\n\n Enter First Name of person: ";
cin>>temp->fname;
cout<<" \xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\xcd\n";
cout<<" Enter Last Name of Person: ";
cin>>temp->lname;
cout<<" \xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\xcd\n";
cout<<" Enter ID of the person: ";
cin>>temp->ID;
cout<<" \xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\xcd\n";
cout<<" Enter Phone Number of Person: ";
cin>>temp->phone_num;

31
cout<<" \xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\xcd\n";
do{
cout << " Please Enter the Seat Number: ";
cin>>x;
while(x>size){
cout<<" Try again:: ";
cin >>x;
}
cout<<" \xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\xcd\n";
if((seat[x-1])>-1)
taken = false;
else
seat_no(x);
seat[x-1] = -1;
temp->seat_num = x;
}while(taken==true);
cout << " Please Enter Your Menu Preference from below: \n\n";
cout << " Veg ..... '1'\n";
cout << " Non-Veg ..... '2'\n";
cout << " No meal ..... '3'\n\n";
cout <<" Your Choice :: ";
cin >> meal_choice;
while(meal_choice>3 || meal_choice<1){
cout<<" Try Again:: ";
cin>>meal_choice;
}
if (meal_choice == 1)
temp->menu = "veg";
else if (meal_choice == 2)
temp->menu = "Non-Veg";
32
else
temp->menu = "No meal";
reserve++;
temp->reserve_num=reserve;
cout <<"\n \xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\xcd\n";
cout <<" YOUR RESERVATION NUMBER IS :: " << reserve << "\n";
cout <<" \xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\
xcd\xcd\xcd\xcd\xcd\xcd\xcd\n";
temp->next = NULL;
if(start == NULL)
start = temp;
else
{
temp2 = start;
while (temp2->next != NULL)
{
temp2 = temp2->next;
}
temp2->next = temp;
}
}
int cancel=0;
void airlines:: cancel_reservation()
{ int num;
cout << "Please Enter your reservation Number here: ";
cin >> num;
node *cur = start;
if(cur!=NULL)
{
if ( start->reserve_num == num )
{
33
node *del = start;
start = start->next;
delete del;
seat[0] = 0;
cancel++;
return;
}
else
{
node *pre, *cur;
pre = start;
cur = start->next;
while(cur != NULL)
{
if ( cur->reserve_num == num )
break;
pre = cur;
cur = cur->next;
}
seat[cur->seat_num-1] = 0;
if (cur != NULL )
pre->next = cur->next;
}
cancel++;
}
else
{
cout<<"!!! *** Nothing to delete or invalid entry *** !!! \n"<<endl;
}
}
void airlines:: search_passenger()
{
string fakename;
cout << "Please enter your first name here: ";
34
cin >> fakename;
node *cur = start;
while (cur != NULL)
{
if (cur->fname == fakename)
{
cout << "First Name : " << cur->fname << endl;
cout << "Last Name : " << cur->lname << endl;
cout << "ID " << cur->ID << endl;
cout << "Phone number: " << cur->phone_num << endl;
cout << "Seat Number: " << cur->seat_num << endl;
cout << "Reservation No. " << cur->reserve_num<< endl;
return;
} cur = cur->next;
} cout << " Sorry!!! NOT FOUND \n\n";
}
void airlines:: change_reservation()
{
int option , next_seat;
cout << " Please enter your seat number: ";
cin >> option;
node *cur;
cur = start;
while(cur != NULL)
{
if ( cur->seat_num == option )
break;
cur = cur->next;
}
cout << "Please choose another seat number from below.";
int j = 1;
while ( j < size+1 )
{
if ( seat[j-1] == -1)
35
j++;
else
{
cout <<"| " << j << "|";
if ( j%10 == 0 )
cout << endl;
j++;
}
}
cin >> next_seat;
seat[cur->seat_num-1]=0;
cur->seat_num = next_seat;
seat[next_seat-1] = -1;
}
void airlines:: print_list()
{
temp=start;
if(temp == NULL)
cout<<" End of lists"<<endl;
else
{ int cnt = 1;
cout << "\tNumber\t First Name\t Last Name\t ID\t";
cout << "Phone Number\t Seat Number\t Reservation No\t Menu\n";
while(temp != NULL)
{
cout << "\t" << cnt <<setw(15);
cout << temp->fname <<setw(15);
cout << temp->lname << setw(12);
cout << temp->ID << setw(12);
cout << temp->phone_num <<setw(15);
cout << temp->seat_num <<setw(15);
cout << temp->reserve_num <<setw(12);
cout << temp->menu << "\n";
temp=temp->next;
36
cnt++;
}
cout << "\n\n";
}
}
void airlines:: print_report()
{ int count = 0;
for (int i =0; i < size; i++ )
{
if (seat[i] == -1)
count++;
}
cout<<"The number of reserved seats are: " << count <<endl;
cout<<"The number of cancellations are: " << cancel <<endl;
}

OUTPUT

37
38
39

You might also like