You are on page 1of 80

INTRODUCTION

Project name is “Air Lines Reservation System”.

The project is very flexible and it can be modified if the need arises. I
hope the user will find this project work quite pleasing in its output as
general sample designing has been done to enhance the view and simple
programming statement and commands have been made use of, so that
the user had no problem in understanding the listing of the project. Files
have been used to create a systematic medium of data storage and
retrieval.

I am sure that reader will like this effort and so, I wished him/her by
hearts to ahead and turn this page.

1|Page
OBJECTIVES

Airways has a number of reservation offices in each city where the flights operate. Each
reservation office has a number of reservation counters to handle reservations and
cancellations. Each counter has a counter assistant who is responsible for making
reservations or cancellations. The main objective of this project to performed
reservation, cancellation and report.
In concerned to reservations, the following activities are done.
 Accepts the date, sector, and class of travel from the person and checks for the
availability of a seat in the Reservation file.
 Confirms the details with the prospective passenger and accepts the remaining
details.
 Update the seat availability status in the reservation file and adds the passenger
details to the file. The passenger is assigned a unique Passenger Name Request
(PNR) number,
 Collects the fare amount.
 Update the Daily Collection file with the fare amount.
In concerned to cancellation, the following activities is done
Retrieves the details from the file using the PNR number.
Verifies the details of the ticket and computes the refund amount.
Updates the seat availability status in the reservations file and marks the
corresponding details of the file.
Makes the refund and prints the refund receipt.
Files the receipt along with the signature of the passenger .
Updates the Daily Collection file.

2|Page
And Reports are generated as:-
 Print the confirmed and wait-listed passenger list of flights departing .
 Print the daily collection summary report.
 It also generate view rates for different sector & view flight schedules for a
specific period
 Show status of ticket with given PNR number.
 Report on availability of flight & seats on desired date.

3|Page
SYSTEM ANALYSIS

 SYSTEM ANALYSIS

 Introduction of User

 Definition of System

 Identification of Need

 Preliminary Investigation

 Modules in AIR-LINES RESERVATION SYSTEM

4|Page
SYSTEM ANALYSIS

Analysis is a detailed study of the various operations performed by a system and


their relation within and outside the system. A key question is what must be done to
solve the problem. One aspect of the analysis defining the boundaries of the system and
determining whether or not a candidate system should consider other related system.
During analysis data are collected on the available files decision points and transaction
handled by the parent system. Some logical system models and tools are used in the
analysis. Data flow diagrams, interviews, onsite observation and questionnaires are
examples, the interview is commonly used in analysis. It requires special skill and
sensitivity to the subject being interview bias in data collection and interpretation can be
problem.
Training experience and common sense are required for Collections of the information
are needed to do analysis. Once analysis is completed, the analyst has firm
understanding of what is to be done. The next step is to decide how the problem might be
solved. Thus in system design, we be move from the logical to the physical aspects of
the life cycle.

The Initial Investigation and Identification of need :

The most critical phase of managing system projects is planning to launch a system
investigation, we need plan detailing the steps to be taken, the people to be questioned
and they out come expected. The initial investigation has the objective of determining
whether the users request has potential merit. The major steps are defining user
requirements. When the initial investigation is completed. The user receives a proposal
summarizing the finding the recommendation of the analyst.
A key part of feasibility analysis is gathering information about the present system.
The analyst knows what information to gather, where to find it, how to collect it and

5|Page
what to make of it. The proper use of tools for gathering information is the key to
successful analysis. The tools are the traditional interview, questionnaire, and on-site
observation. We need to know, for example how to structure an interview, what makes
up a questionnaire, and what to look for on-site observations. These tools when learned
help analysis assess the effectiveness of the present system and provide the groundwork
for recommending a candidate system.

Identification of need
The system need accomplish the following functions:

 The system should allow the counter assistants to handle ticketing and refunds.
 While accepting reservation data, all necessary validations should be performed.
For example, the system should check whether a flight operates on the date of
travel specified by the passenger. It should also check the seat availability status.
After all data has accepted, the system should print the ticket. It should also store
the passenger details, update the daily collections, and update the seat plan.
 In case of cancellation, the system should accept the PNR number from the user,
validate the PNR number and update the cancellation flag for the passenger. The
system should then print the refund receipt. It should also update the daily
collections to reflect the refund amount. The status of overbooked and wait-listed
tickets should be changed whenever a confirmed ticket is cancelled.
 The system should generate the following reports:

1. Confirmed passenger list


2. Waiting list
3. Daily collection report

In addition, the new system should provide facilitate passengers to perform the following
tasks:
 Check the waiting list status.
6|Page
 View rates for different sectors.
 View flight schedules for a specific period. This module should be developed as
an affiliate program that can be easily integrated with various Web sites.

FEASIBILITY STUDY

The main objective of the preliminary analysis is to identify the problem, evaluate the
system concept of feasibility, and perform the economic and technical analyses
perform the cost benefit analysis. After the clarification analysis the solution
proposed it is checked that it is practical to implement that solution. This is done
through the feasibility study. It is checked for various aspects whether the proposed
solution is technically or economically feasible or not. On the basis if which it has
been categorized into four classes viz

1.) Technical

2.) Economic

3.) Operational

The outcome of the preliminary analysis should be clear so that an alternate way to
do the job can be found out?
1. Technical Feasibility:

During the technical feasibility studies following issues are taken into consideration

1. Whether the required technology is available or not?

2. Required resources are available or not? (Manpower, programmer, software and


hardware etc)

Once the technical feasibility is established, it is important to consider the


monetary factors also. Since it might happen that developing a particular system may
be technically possible but it may be require huge investments and benefits may be
less. For evaluating this, economic feasibility of the proposed system is carried out.

7|Page
As in our proposed system our team has technically trained manpower with
knowledge of developing the system. We are going to use web technology in our
system, which is readily available. Software to be used is also available easily.

So technically the project is feasible.

2. Economic Feasibility:
For any system if the expected benefits equal or exceed the expected costs, the
system can be judged to be economically feasible. In economic feasibility, cost
benefit analysis is done in which expected costs and benefits are evaluated.

Economic analysis is used for evaluating the effectiveness of the proposed


system. In economic feasibility, the most important is cost benefit analysis. As the
name suggests, it is an analysis of the cost to be incurred in the system and benefits
derivable out of the system.

As in our institute the hardware and software required for this type of system
is already available so economically our project is feasible.

3. Operational Feasibility

The staff of the company (client) is used to the computer. They will only be given
training about the proposed system to make efficient use of it.
This feasibility study is carried out by a small group of people who are familiar with
information system techniques, who understand the part of the system that are
relevant to the project and are skilled in system analysis and design process.
Considering the above three feasibility we can say that the system is feasible and
ahead for analysis of the system.

8|Page
SOFTWARE ENGINEERING PARADISM

In the software principle we are using the incremental model (evolutionary software

process model). The incremental model combines elements of the linear sequential

model with the iterative philosophy of prototyping.

The linear sequential model suggests a systemic, sequential approach to software


development that begins at the system level and progress through analysis, design,
coding and module testing, delivery and maintenance.
ANALYSIS:
In this phase we will gathered all the information about the organization queries and
analysis requirement for both the system and software documented and reviewed
with the users.
DESIGN:
After analysis we documented all the Interface representations, and algorithm details.
CODING AND MODULE TESTING:
After designing, coding plays major role in software development process. We are
using JAVA(JSP) in front end, ORACLE in the back end for coding
Individual modules developed in this phase is also tested before being delivered to the
program testing phase.
PROGRAM TESTING:
Once the module has been developed. Program testing begins We will provide some
other users for testing for few days, and all problems and errors, which overcome
during testing, will be pointed out. The user requirement will be also kept in mind and
then delivery process begins.
DELIVERY:
Once the system passes all the tests, it is delivered to the customer and enters the
maintenance phase.
MAINTENANCE:
9|Page
Software will undoubtedly undergo changes because errors have been encountered. So
keeping requirement and testing in mind, we will make some necessary changes.

10 | P a g e
PLATFORM USED

Hardware Requirement

1. Pentium Processor or above

2. Color Monitor

3. Keyboard

4. 250 GB Hard Disk or above

5. 256 MB RAM or above

6. Speakers

11 | P a g e
Software Requirement

1. Windows 9x or MS-DOS 6.22

2. Turbo C++ Compiler

3. Turbo C++ Editor or any other text editor

12 | P a g e
PROJECT ANALYSIS

(OOPS – Object Oriented Programming System)

Object Oriented Programming is a method of programming that seeks to mimic the way

we form models of the world. To cope with the complexities of life, we have evolved a

wonderful capacity to generalize, classify and generate abstractions. Almost every noun

in our vocabulary represents a class of objects sharing some set of attributes or

behavioral traits.

The entire basis of Object Oriented Programming, infect is defining the Object in Object

Oriented Programming. Object is a unit that combines both code and data together. And

an object is an instance of a class. Class is a type of data structure defined to hold both

data and the code functions.

Object Oriented Programming also allows you to design and implement your application

more quickly than traditional approaches. Object Oriented Programming also makes

code easier to maintain so that you can refine the implementation without causing major

problems.

Since object-oriented programming was fundamental to the development of C++, it

is important to define precisely what object-oriented programming is. Object-oriented

programming has taken the best ideas of structured programming and has combined

them with several powerful concepts that allow you to organize your programs more

effectively. In general, when programming in an object-oriented fashion, you decompose

13 | P a g e
a problem into its constituent parts. Each component becomes a self-contained object

that contains its own instructions and data related to that object. Through this process,

complexity is reduced and you can manage larger programs.

Encapsulation

As you probably know, all programs are composed of two fundamental elements:

program statements (code) and data. Code is that part of a program that performs

actions, and data is the information affected by those actions. Encapsulation is a

programming mechanism that binds together code and the data it manipulates,

and that keeps both safe from outside interference and misuse.

In an object-oriented language, code and data may be bound together in such a way

that a self-contained black box is created. Within the box are all necessary data and

code. When code and data are linked together in this fashion, an object is created.

In other words, an object is the device that supports encapsulation.

Within an object, the code, data, or both may be private to that object or public.

Private code or data is known to, and accessible only by, another part of the object.

That is, private code or data may not be accessed by a piece of the program that exists

outside the object. When code or data is public, other parts of your program may access

it, even though it is defined within an object. Typically, the public parts of an object

are used to provide a controlled interface to the private elements of the object.

Polymorphism

14 | P a g e
Polymorphism (from the Greek, meaning “many forms”) is the quality that allows one

interface to be used for a general class of actions. The specific action is determined by

the exact nature of the situation. A simple example of polymorphism is found in the

Steering wheel of an automobile. The steering wheel (i.e., the interface) is the same no

matter what type of actual steering mechanism is used. That is, the steering wheel works

the same whether your car has manual steering, power steering, or rack-and-pinion

steering. Therefore, once you know how to operate the steering wheel, you can drive

any type of car. The same principle can also apply to programming. For example,

consider

a stack (which is a first-in, last-out list). You might have a program that requires three

different types of stacks. One stack is used for integer values, one for floating-point

values, and one for characters. In this case, the algorithm that implements each stack

is the same, even though the data being stored differs. In a non-object-oriented language,

you would be required to create three different sets of stack routines, calling each set

by a different name, with each set having its own interface. However, because of

polymorphism, in C++ you can create one general set of stack routines (one interface)

that works for all three specific situations. This way, once you know how to use one

stack, you can use them all.

More generally, the concept of polymorphism is often expressed by the phrase

“one interface, multiple methods.” This means that it is possible to design a generic

interface to a group of related activities. Polymorphism helps reduce complexity by

15 | P a g e
allowing the same interface to be used to specify a general class of action. It is the

compiler’s job to select the specific action (i.e., method) as it applies to each situation.

You, the programmer, don’t need to do this selection manually. You need only

remember and utilize the general interface.

The first object-oriented programming languages were interpreters, so polymorphism

was, of course, supported at run time. However, C++ is a compiled language. Therefore,

in C++, both run-time and compile-time polymorphism are supported.

Inheritance

Inheritance is the process by which one object can acquire the properties of another

object. The reason this is important is that it supports the concept of hierarchical

classification. If you think about it, most knowledge is made manageable by

hierarchical (i.e., top-down) classifications. For example, a Red Delicious apple is part

of the classification apple, which in turn is part of the fruit class, which is under the

larger class food. That is, the food class possesses certain qualities (edible, nutritious,

etc.) that also apply, logically, to its fruit subclass. In addition to these qualities, the

fruit class has specific characteristics (juicy, sweet, etc.) that distinguish it from other

food. The apple class defines those qualities specific to an apple (grows on trees, not

tropical, etc.). A Red Delicious apple would, in turn, inherit all the qualities of all

preceding classes, and would define only those qualities that make it unique.

Without the use of hierarchies, each object would have to explicitly define all of

its characteristics. However, using inheritance, an object needs to define only those

qualities that make it unique within its class. It can inherit its general attributes from

16 | P a g e
its parent. Thus, it is the inheritance mechanism that makes it possible for one object

to be a specific instance of a more general case.

C++ Implements OOP

As you will see as you progress through this book, many of the features of C++ exist

to provide support for encapsulation, polymorphism, and inheritance. Remember,

however, that you can use C++ to write any type of program, using any type of

approach. The fact that C++ supports object-oriented programming does not mean

that you can only write object-oriented programs. As with its predecessor, C, one of

C++’s strongest advantages is its flexibility.

17 | P a g e
RISK ANALYSIS

Project Risk: It identify potential budgetary, schedule, personnel, resource,

customer, and requirements problems and their impact on software. All the

above factors are analyzed, customer requirements are analyzed properly.

Technical Risk: It identifies potential design, implementation, interface,

verification, and maintenance problems. All the above factors have been

analyzed.

Business Risk: (1) Software is developed keeping in mind that there is demand in

custom, so that to avoid the market risk. (2) Software is designed to fit into the

overall business strategy for the custom department, to avoid the strategic risk.

(3) The software is easily understandable by the sales person’s team, so that

they could know much about the product working and sell in the market. (4) It

has the strong management support, and not likely to change in the management

people to avoid the management risk. (5) Software fits the budget and there is no

budget risk.

18 | P a g e
OJBECT ORIENTED DEVELOPMENT
An object-oriented system draws upon class definitions that are derived from the
analysis model. Some of these definitions will have to be built from scratch, but
many others may be reused it appropriate design patterns are recognized. Object
Oriented Design establishes a design blueprint that enables a software engineer to
define the Object Oriented architecture in a manner that maximized reuse, thereby
improving development speed and end-product quality.
The four layers of the Object Oriented design are:
The subsystem layer: It represents each of the subsystems that enable the software
to achieve its customer-defined requirements and to implement the technical
infrastructure that supports customer requirements, in the custom department.

The class and object layer: It contains the class hierarchies that enable the system
to be created using generalizations and increasingly more targeted specializations.

The message layer: It contains the design details that enable each object to
communicate with its collaborators. This layer establishes the external and inters
interfaces for the software.

The responsibilities layer: It contains the data structure and algorithmic design for
all attributes and operations for each object.

19 | P a g e
WORK FLOW THE PROJECT

 User can view list of stations along with their code, charges for document and
non-document by selecting option 1 from the main menu.

 User can book the courier by selecting option 2 from the main menu. Users
have to input details of courier, consignor and consignee, and data is saved in
the file – customer. at.

 User can search for station information by giving station code, by selecting
option 3 from the main menu.

 User can search and view customer details by selecting option 4 from the main
menu.

 User can view daily booking status by selecting option 1 from the report menu.

 User can view monthly booking status by selecting option 2 from the report
menu.

 User can add, modify or delete station records by selecting option 1, 2 or 3


from the edit station menu.

20 | P a g e
FEASIBILITY STUDY

Steps in feasibility analysis

Eight steps are involved in the feasibility analysis. They are :

1. Form a project team and appoint a project leader.


2. Prepare system flowcharts.
3. Enumerate potential proposed systems.
4. Define and identify characteristics of proposed system.
5. Determine and evaluate performance and cost effectiveness of each
proposed system.
6. Weight system performance and cost data.
7. Select the best proposed system.
8. Prepare and report final project directive to management

21 | P a g e
TYPE OF FEASIBILITIES

1. Economic Feasibility

Economic analysis is the most frequently used technique for evaluating the
effectiveness of a proposed system. More commonly known as cost / benefit
analysis; in this procedure we determine the benefits and savings that are
expected from a proposed system and compare them with costs. We found the
benefits outweigh the costs; we take a decision to design and implement the
new proposed system.

2. Technical Feasibility

This is concerned with specifying equipment and software that will


successfully satisfy the user requirement. The technical needs of the system
may vary considerably, but might include:

· The facility to produce outputs in a given time.

22 | P a g e
· Response time under certain conditions.

· Ability to process a certain volume of transaction at a particular speed.

· Facility to communicate data to distant location.

After examining technical feasibility, we give more importance to the


configuration of the system than the actual make of hardware. The
configuration gives the complete picture about the system's requirements:
Ten to twelve workstations are required, these units should be interconnected
through LAN so that they could operate and communicate smoothly. They
should have enough speeds of input and output to achieve a particular quality
of printing.

3. Operational Feasibility

It is mainly related to human organizational and political aspects. The points


to be considered are:

· what changes will be brought with the system?

· what organizational structures are disturbed?

23 | P a g e
· what new skills will be required? Do the existing staff members have these
skills?

· If not, can they be trained in due course of time?

Generally project will not be rejected simply because of operational


infeasibility but such considerations are likely to critically affect the nature
and scope of the eventual recommendations.

For operational feasibility study we appointed a small group of people who


are familiar with information system techniques, who understand the parts of
the business that are relevant to the project and are skilled in system analysis
and design process.

4. Social feasibility

Social feasibility is a determination of whether a proposed project will be


acceptable to the people or not. This determination typically examines the
probability of the project being accepted by the group directly affected by the
proposed system change.

5. Management feasibility

24 | P a g e
It is a determination of whether a proposed project will be acceptable to
management. If management does not accept a project or gives a negligible
support to it, the analyst will tend to view the project as a non-feasible one.

6. Legal feasibility

Legal feasibility is a determination of whether a proposed project infringes on


known Acts, Statutes, as well as any pending legislation. Although in some
instances the project might appear sound, on closer investigation it may be
found to infringe on several legal areas.

7. Time feasibility

Time feasibility is a determination of whether a proposed project can be


implemented fully within a stipulated time frame. If a project takes too much
time it is likely to be rejected.

25 | P a g e
SYSTEM DESIGN

Introduction

System design provides the understandings and procedural details necessary for
implementing the system recommended in the system study. Emphasis is on the
translating the performance requirements into design specifications. The design has is a
transition from a user-oriented document (System proposal) to a document oriented to
the programmers or database personnel.

System design goes through two phases of development:

1) Logical Design

2) Physical Design

A data flow diagram shows the logical flow of the system. For a system it
describes the input (source), output (destination), FILE (data stores) and procedures (data
flows) all in a format that meets the user’s requirement. When analysis prepare the
logical system design, they specify the user needs at a level of detail that virtually
determines the information flow into an out of the system and the required data
resources. The logical design also specifies input forms and screen layouts.

The activities following logical design are the procedure followed in the physical
design e.g., producing programs, software, file and a working system. Design
specifications instruct the user about what the system should do.

Logical and Output Design:

The logical design of an information system is analogous to an engineering blue


print of an automobile. It shows the major features and how they are related to one

26 | P a g e
another. The detailed specification for the new system was drawn on the bases of user’s
requirement data. The outputs inputs and databases are designed in this phase.

Output design is one of the most important features of the information system.
When the output is not of good quality the users will be averse to use the newly designed
system and may not use the system. There are many types of output, all of which can be
either highly useful or can be critical to the users, depending on the manner and degree
to which they are used.

Outputs from computer system are required primarily to communicate the results
of processing to users; they are also used to provide a permanent hard copy of these
results for later consultation. Various types of outputs required can be listed as below:

 External Outputs, whose destination is outside the organization

 Internal outputs, whose destination is with the organization

 Operational outputs, whose use is purely with in the computer department


e.g., program-listing etc.

 Interactive outputs, which involve the user is communicating directly with


the computer, It is particularly important to consider human factor when
designing computer outputs. End user must find outputs easy to use and
useful to their jobs, without quality output, user may find the entire system
unnecessary and avoid using it. The term “Output” in any information system
may apply to either printer or displayed information. During the designing
the output for this system, it was taken into consideration, whether the
information to be presented in the form of query of report or to create
documents etc.

Other important factors that were taken into consideration are:

27 | P a g e
 The End user, who will use the output.

 The actual usage of the planned information

 The information that is necessary for presentation

 When and how often output and their format is needed. While designing
output for project based Attendance Compilation System, the following
aspects of outputs designing were taken into consideration.

 The outputs (i.e., well formatted table outputs in the screen itself) designed
are simple to read and interpret.

 Format of each output was another important point taken into consideration.
Output media, for each output appropriate media is decided whether it will
be displayed on screen or will be taken to printer or both.

 Other output design related specifications, i.e., how frequently the outputs
will be generated, how many pages or sheets approximately it will keep up,
what is its planned use and output distribution to users are also taken into
account.

These were a few major designing issues, which were taken into consideration,
while deciding the output specifications for the system. As direct beneficiary of reports is
the user community, they were consulted constantly at every level. Formats and screen
design for various reports were identified, taking into account the user requirements.
Before finalising these were given to users for any improvement and suggestions. End
users issues taken into consideration were Readability, Relevance and Acceptability.

Once all the output reports to be generated by HARS system were identified, they
were given to users for their acceptance. For prototyping various outputs, final outputs
models were created with dummy data, before they were finalized.

28 | P a g e
Output Sources:

Output contents originate from these sources:

 Retrieval from a data source.

 Transmission from a process or system activity.

 Directly from an input source.

The information produced in an output can be presented as

 Tabular contents

 Graphic format

 Using Icons

Output Definition:

The output should be defined in terms of:

Types of outputs

 Content-headings, numeric, alphanumeric, etc.,

 Format-hardcopy, screen, microfilm, etc.,

 Location-local, remote, transmitted, etc.,

 Frequency-daily, weekly, hourly, etc.,

 Response-immediate with in a period, etc.,

29 | P a g e
Data items

The name given to each data item should be recorded and its characteristics described
clearly in a standard form:

 Whether alphanumeric or numeric

 Legitimate and specific range of characteristics

 Number of characters

 Positions of decimal point, arithmetic design, etc.,

Input Design:

The input design is the link that ties the information system into the user’s world.
Input specifications describe the manner in which data enters the system for processing.
Input design features can ensure the reliability of the system and produce results from
accurate data, or they can result in the production of erroneous information.

Input Design consists of

 developing specifications and procedures for data preparation

 Steps necessary to put data into a usable form for processing.

 Data entry, the activity of putting data into the computer processing.

Objectives of Input design

30 | P a g e
Five objectives of design input focus on

 Controlling the amount of input required

 Avoid delay

 Avoiding errors in data

 Avoiding extra steps.

 Keeping the process simple.

Input stages several activities have to be carried out as part of the overall input
process. They include some or all of the following.

Data recording (i.e., collection of data)

Data encapsulation (i.e., transfer of data)

Data conversion (i., e.controlling the flow of data)

Data transmission (i.e., transporting the data)

Data validation (i.e., checking the input data)

Data correction (i.e., correcting the errors)

Input Performa were designed, after a careful discussion with users. It was
attempted to cover all user requirements. Designed Performa were given to user for any
suggestion and final approval.

Various data items were identified and wherever necessary were recorded. As the
data concerning of HARS is voluminous in nature and number of case will grow
dynamically in future, proper care was taken for accuracy and consistency of data.

31 | P a g e
Input designs are aimed at reducing the chances of mistakes of errors. As the
human beings are prone to errors there is always a possibility of occurrence of chance of
errors. Adequate validation checks are incorporated to ensure error free data storage.
Some of the data validation checks applied are as following:

 Redundancy of data is checked. It means the records of primary key do not


occur twice.

 Primary key field of any table must not be left blank.

 Wherever items are coded, input code is checked for it’s validly with respect
to several checks.

 Utmost care has been taken to incorporate the validation at each stage of the
system. E.g. when entering records into employee information table for
employee, it is checked that whether the corresponding employee exists in
the employee information table etc.,

Enough messages and dialogue boxes are provided while design screen, which does guide user at
the time of any errors, or at time of entry. This feature provides a user-friendly interface to native
users. It can be emphasized that input deigns of HARS system is so designed that it ensures easy
and error free data entry mechanism. Once one is sure of input data the output formatting
becomes a routine work.

32 | P a g e
PROJECT DESIGN

Modules & Process logic

Airways has a number of reservation offices in each city where the flights operate. Each
reservation office has a number of reservation counters to handle reservations and
cancellations. Each counter has a counter assistant who is responsible for making
reservations or cancellations. The procedure followed for performing reservations and
cancellations is given bellow.

Reservation
Reservations for a flight commence 30 days before the date of the flight. The procedure
for making reservations is given below. The procedure described below deals with the
provisional reservations the can be made through telephone conversation.
On receiving request for reservation from a person, the counter assistant performs the
following activities:
 Accepts the date, sector, and class of travel from the person and checks for the
availability of a seat on the requested date. The details about the availability seats
and the seat plan are kept in the Reservation file.
 Confirms the details with the prospective passenger and accepts the remaining
details. These details include the preferences such as a window or an aisle seat, a
smoking or a non-smoking zone, meal preferences such as vegetarian or non-
vegetarian, and special service requests (SSR), such as dietary and medical
considerations.
 Update the seat availability status in the reservation file and adds the passenger
details to the file. The passenger is assigned a unique Passenger Name Request
(PNR) number, which is used to access ticket details for queries and cancellation.

33 | P a g e
 Collects the fare amount.
 Prints the ticket and gives it to the passenger.
 Update the Daily Collection file with the fare amount.

Horizon Airways also provides for overbooked and wait-listed tickets for the economy
class. Overbooking is allowed for 10 seats per flight. For example, if the capacity of an
aircraft is 340 seats, booking are made for 350 seats, that is, 340 seats + 10 overbooked
tickets. If the number of bookings exceeds the capacity and overbooking, a wait-listed
ticket is issued to the passenger with his or her consent. An overbooked or wait-listed
passenger is accommodated on the flight depending on the availability of a seat when the
passenger checks in. A passenger who cannot be accommodated on a flight is given full
refund.

Cancellation
On receiving a cancellation request from a passenger the counter assistant performs the
following tasks:
Retrieves the details from the file using the PNR number.
Verifies the details of the ticket and computes the refund amount.
Updates the seat availability status in the reservations file and marks the
corresponding details of the file.
Makes the refund and prints the refund receipt.
Files the receipt along with the signature of the passenger.
Updates the Daily Collection file.
The amount of refund is calculated based on the ticket status and the date cancellation.
If the ticket is wait-listed or overbooked, full amount is refunded.

3 classes have been used in this project:

 STATION
34 | P a g e
 DATE

 CUSTOMER

Modules in class STATION:

 addition() : Function to add new station record in the


file.
 modification() : Function to modify existing record of
station.
 deletion() : Function to delete existing record of the
station.
 list() : Function to display list of all stations.
 search() : Function to search information for
station.
 amount() : Function to calculate and return total
amount for the given information of
station.
 found code() : Function to return station code found in
the file or not.

Modules in class DATE:

 valid() : Function to check validity of the given


date.

35 | P a g e
Modules in class CUSTOMER:

 booking() : Function to book courier along with


consignor and consignee information and
store in the file – customer. at.
 search() : Function to search for the customer
information.
 daily list() : Function to display daily booking status.
 monthly list() : Function to display monthly booking
status.
 lastcustcode() : Function to return last customer code in
the customer file.

36 | P a g e
TABLE STRUCTURE

Two files have been used in this project:

1. CUSTOMER.DAT (Stores all


information for customers)

 custcode : Code no. of the customer. This is unique


field.
 Name : Name of the customer.
 Address : Address of the customer.
 Phone : Phone no. of the customer.
 Strode : Station code to which courier has to be
sends.
 Came : Consignee name.
 Cadress : Consignee address.
 Cphone : Consignee phone no.
 Type : Type of the courier (document or non-
document)
 Weight : Weight of the courier.
 Amount : Total charges for sending the courier.
 DoB : Date of booking courier.

37 | P a g e
2. STATION.DAT (Stores all information
for Stations)

 strode : Code no. of the station.


 Name : Name of the station.
 Doc : Charges for document.
 Docadd : Additional charges for document above
500 gms.
 Ndoc : Charges for non-document.
 ndocadd : Additional charges for non-document
above 500 gms.

38 | P a g e
PROGRAM STRUCTURE

3 classes have been used in this project:

 STATION
 DATE
 CUSTOMER
Modules in class STATION:

 addition() : Function to add new station record in the


file.
 modification() : Function to modify existing record of
station.
 deletion() : Function to delete existing record of the
station.
 list() : Function to display list of all stations.
 search() : Function to search information for
station.
 amount() : Function to calculate and return total
amount for the given information of
station.
 foundcode() : Function to return station code found in
the file or not.

Modules in class DATE:

39 | P a g e
 valid() : Function to check validity of the given
date.

Modules in class CUSTOMER:

 booking() : Function to book courier along with


consinor and consinee information and
store in the file – customer.dat.
 search() : Function to search for the customer
information.
 dailylist() : Function to display daily booking status.
 Monthlylist() : Function to display monthly booking
status.
 lastcustcode() : Function to return last customer code in
the customer file.

40 | P a g e
FLOW CHART

41 | P a g e
START

Station Information
Booking
Search Station
Customer Record MENU
Reports
Edit Station
0. Quit
Enter your Choice :

Input Ch

If Y
1
Ch=1

If Y
2
Ch=2

If Y 3
Ch=3
N
N

Y If If Y 4
STOP Ch=0 Ch=4

N N

Y If N If Y 5
6 Ch=5
Ch=6

42 | P a g e
1

Open file station.dat in read


only mode.

Read data from file and


Display station information.

if Y
eof MENU

switch to next record

43 | P a g e
2

44 | P a g e
Input consinor, consinee and
courier information.

write data in file.

MENU

45 | P a g e
Input code no. of the station

Open file station.dat in read


only mode.

Read data from file.

if MENU
eof

if N
stcode = file.stcode

Display station information.

switch to next record

Input code no. of the


46 | P a g e
4

Open file customer.dat in

Read data from file.

if Y
eof MENU

if
code = file.code N

Display customer information.

switch to next record


5

Daily Booking Status


Monthly Booking Status
0. Exit
Enter your Choice :
47 | P a g e
Input Ch

If Y
R1
Ch=1

If Y
R2
Ch=2

If Y
Ch=0 MENU

R1

Input Date to view status

Open file customer.dat in read


only mode.

48 | P a g e
Read data from file.

if Y
eof 5

if N
date = booking date

Display booking information.

R2
switch to next record

Input month & year to view status

Open file customer.dat in read


only mode.

Read data from file.


49 | P a g e
if Y
eof 5

if N
month = booking month

Display booking information.

swit6ch to next record

Add new station record


Delete Record
Modify Record
0. Exit

Enter your Choice :

Input Ch

50 | P a g e
If Y
E1
Ch=1

If Y
E2
Ch=2

If Y
Ch=3 E3

If Y
Ch=0 MENU

E1

Input station information.

51 | P a g e
Open file station.dat in append
mode.
write data in file.

E2

Input code no. of the station

Open master file station.dat in read mode.


Open transaction file in write mode

Read all the records from master file and 52 | P a g e


write in transaction file accept the record
to be deleted.
Read all the records from transaction file
and write in master file.

6
E3

Input code no. of the station

Open master file station.dat in read mode.


Open transaction file in write mode

Read all the records from master file and 53 | P a g e


write in transaction file with updation.
DFD

54 | P a g e
ENTITY RELATIONSHIP DIAGRAM (ERD):

The overall logical structure of a database can be express graphically by an

E-R-Diagram. Then relative simplicity and pictorial clarity of this diagramming

technique may well System in large part for the wide spread use of the E-R model.

7.1.1 components of E-R Diagram:

 Rectangle: which represent entity sets

 Ellipses: which represent attributes

 Diamonds: which represent relationships sets

55 | P a g e
 Lines: which link attribute to entity set and entity set to relationship

sets

 Double ellipses: which represent multi values attributes

 Dashed ellipses: which denote derived attributes

Entity-Relationship Diagram
The following diagram depicts various entities involved in the airline reservation
system the attributes of entities and the relationships between entities:
SSR
Seat Zone Aircraft Type First Class Seats available

Meal Status

Cancel Flag
Flight No. Dep. Time
Seat preference

Arr.Time

PASSENGER M 1 FLIGHT Flight Date


Class Boards

1
Travel Date
Business

Age PNR No. Economy Class Seats available

First Name
Last Name

Operates in
56 | P a g e
1

Sector ID
SECTOR Week Day 2

Description
Week Day 1

First Class Fare


Economy Class Fare
Business Class Fare

The Entity-Relationship Diagram for the Airlines Reservation System


DATAFLOW DIAGRAM (DFD):

Full descriptions of the system actually consist of a set of data flow diagram.

Specification:

Here we have used YOURDON’s data flow symbols.

 Dataflow: Data move in a specific direction from and origin to a

destination the form of a document.

 Process: People, procedures or device that use or produced data.

The physical component is not identified.

57 | P a g e
 Source or destination: External source or destinations of data

interact with the system. The terms source and sink are

interchangeable with origin and destination.

 Data store: Here data are store or referenced by a process in the

system.

58 | P a g e
Data Flow Diagram

Check waiting Status Query waiting list & Daily

Reservation/Cancellation Update available seat/amount


Reques

Ask availability of seat,


Fare & schedule
Airways Feed complete detail
Customer Reservation Counter Assistant

System Generate PNR No.


Response availability

of seat, Fare & schedule


Reservation/

Cancellation response Ticket Print

Waiting status Response waiting list & Daily

CONTEXT LEVEL DFD

59 | P a g e
OUTPUT SCREEN

60 | P a g e
LOGIN PAGE OF
AIRLINES TICKET RESERVATION

61 | P a g e
62 | P a g e
Si NO. OF FLIGHTS

63 | P a g e
LIST OF THE FLIGHTS

64 | P a g e
PASSENGER RECORDS

65 | P a g e
LIST OF THE FLIGHTS

66 | P a g e
PASSENGERS INFORMATION

67 | P a g e
SOFTWARE TESTING & IMPLIMENTATION:

SOFTWARE TESTING:
The purpose of this document is to cover testing of Horizon Airways project from all
aspects i.e. from module wide testing to system integration testing.
Software testing is a process of executing a program with objective of finding an
error. Software quality should be a primary concern in software development efforts.
Software testing and evaluation are traditional method of checking software quality. It
consists of putting together various coded pieces of a design, testing them and correcting
the parts of the code or the design that is not correct. At this stage some errors are
introduced purposely to test whether the program will spot them.
Test summary document with test results (Quality Record) for each test case with
problems found during the test execution. After review of test summary document, it will
be decided if any test case is to be repeated or if the identified problem should be
converted into “a defect” to be fixed in subsequent release of product.

Data entry:

 Is alphanumeric data entry properly echoed and input to the system?


 Do graphical modes of data entry work properly?
 Is invalid data properly recognized?
 Are data input messages intelligible?
TESTING STRATEGIES:

68 | P a g e
A strategy for software testing may also be viewed in the context of spiral. Unit testing
begins at the vertex of the spiral and concentrates on each unit of the software as
implemented in source code. Testing progresses the moving outward along the spiral to
integrations testing. Where the focus is on design and the and the construction of the
software architecture. Taking another turn outward on the spiral, we encounter validation
testing, where requirements established as part of software requirements analysis are
validated against the software that has been constructed. Finally, arrive at system testing,
where the software and other system elements are tested as a whole. Here I will specify
each testing but the outcome of the testing and reports is not included because they are
very large and I have to give Project- Report in limited page.
Unit testing: In Unit testing module interface, local data structures. Boundary
conditions, independent paths, error handling paths are tested.

Module interface is tested to ensure that information properly flows into and our of the
program unit under test. The local data is structure is examined to ensure that data stored
temporarily maintained its integrity during all steps in an algorithm’s execution.
Boundary conditions are tested to ensure that the module operates properly at boundaries
established to limit or restrict processing. All independent paths through the control
structure are exercised to ensure that all statements in a module have been executed at
lest once. And finally, all error handling paths are tested.

Thus the unit testing is done after code development, reviewed, and verified for correct
syntax and in unit testing we execute each module one by one and prepare a report of
result.

Integration technique:
Integration testing is a systematic technique for constructing the program structure while
conducting tests to uncover errors associated with interfacing. The objective is to take

69 | P a g e
unit tested modules and build a program structure that has been dictated by design. Their
are three type of integration testing, each are discussed below.

TOP DOWN INTEGERATION:


This technique is an approach to construction of program structure. Modules are
integrated by moving downward through the control hierarchy, beginning with the main
control module. Modules subordinate to the main control module are incorporated into
the structure either into a depth-first or breadth first manner. I used depth-search for
testing which integrate all modules on a major control path of structure.

BOTTOM OF INTEGERATION:
This technique begins construction and testing with atomic modules. Because modules
are integrated from the bottom up, processing required for module subordinate to a given
level’s always available and the need for stubs are eliminated.

REGRESSION TESTING:
This technique is the activity that help to ensure that changes during the testing do not
introduce unintended behavior or additional errors.

Validation testing:
Validation succeeds when software functions in a manner that can be reasonably
expected by the customer. There are two types of validation testing these are discussed
below.

ALPHA TESTING:
The alpha tests are conducted at the developer’s site by a customer. The software is used
in a natural setting with the developer. Alpha tests are conducted in a controlled
environment.

BETA TESTING:

70 | P a g e
The beta tests are conducted at one or more customer sites by the end use of the
software. Unlike, the alpha testing, the developer is generally not present. Therefore, the
beta test is a “live” application of the software in an environment that cannot be
controlled by the developer. The customer records all problems that are encountered
during beta testing and reports these to the developer at regular intervals. As a results of
problems reported during beta test. The software developer makes modifications and
then prepares for release of the software product to the entire customer base.

System testing:
It is a series of different test whose primary purpose is to fully exercise the computer-
based system. These are discussed below:

RECOVERY TESTING:
It the system tests that forces the software to fail in a variety of ways and verifies that
recovery is properly performed.

SECURITY TESTING:
It attempts to verify that protection mechanisms built into a system will in fact protect, it
from improper penetration.

STRESS TESTING:
It executes a system in a manner that demands resources in abnormal quantity,
Frequency, or volume.

PERFORMANCE TESTING:
It is designed to test run-time performance of software within the context of an integrated
system. It occurs throughout all steps in the testing process.

71 | P a g e
TESTING METHODOLOGIES

GUI Verification

Field Level Validation


Stress/Load Testing

Global Level Validation GUI Testing


Profile Testing

Consistency of GUIs
Database Script Testing

Testing Standard Controls Testing Strategy


Fail-over Testing

Compatibility Testing

Functional Testing Performance Testing

Scenario Based Testing Negative Testing

72 | P a g e
IMPLEMENTATION
IMPLEMENTATION PLAN:
Implementation follows the forms to the detailed design stage. This effect of the
user department and system designer in getting the new steps in operation.
The following steps are performed during implementation:
1) System Testing: It is tested and ensured that the different modules are working
correctly individually and as a whole.
2) Review and Maintenance: Once the system becomes operational, it would be
examined to see if it has met its objective.
The system is reviewed and maintained periodically for the following reasons:
 To deal with unforeseen problems arising in the operation i.e. programs may need
to be dealt with unforeseen circumstances.
 To confirm that the planning objects have been met and if not work to achieve so.
 To ensure that the system is able to cope with changing requirements.

73 | P a g e
IMPLEMNTATION PROCEDURE:
The users in the organization are familiar with the basics of computers but will not be aware
with working of the new system. A training program will be conducted for three days to guide
the user about the new system. After the completion of the training program actual
implementation will start as follows:-
A. Pilot run of system.
B. Parallel run of system.
C. Change over of the system.
Pilot Run of System:
In this phase historical data will be entered into the system as test data and the output of the
system will be checked against the historical reports.
Parallel Run of System:
In this phase both the systems will be run in parallel form for about two to three months and the
results of both will be checked manually. After the completion of the time period, system will be
handed over to the management.
Change Over of the System:
This is the last phase of the implementation procedure. In this phase all the data will be
entered into the system by the user and the management will discontinue the manual
system.

74 | P a g e
SYSTEM SECURITY MEASURES
To do an adequate job on security, a systems analyst must analyze the risk, exposure, and costs

and specify measures such as passwords and encryption to provide protection. The backup

copies of software and recovery restart procedures must be available when needed.

This system will provide the facilities for both customer & operators on the same portal. So

security constraints must be applied carefully. A customer wouldn’t require to login into the

reservation system for reservation. He will simply view all the information on web. While a

counter assistant will require to have user ID & Password. After proper validation checking of

that operator he can make transactions. His total transaction details will also be recorded along

with his ID in a log Table, so that any misusage of the system can be prohibited.

System security refers to various validations on data in form of checks and controls to avoid the
system from failing. It is always important to ensure that only valid data is entered and only
valid operations are performed on the system. The system employs two types of checks and
controls:

Client Side Security


Various client side validations are used to ensure on the client side that only valid data is
entered. Client side validation saves server time and load to handle invalid data. Some
checks imposed are:
 A JavaScript program is used to fill up date in the date fields only.
 JavaScript is used to ensure that numeric field is filled with numeric data only.
 Maximum lengths of the fields of the forms are appropriately defined.
 Forms can not be submitted without filling up the mandatory data so that manual
mistakes of submitting empty fields that are mandatory can be sorted out at the client
side to save the server time and load.

75 | P a g e
 Tab-Indexes are set according to the need and taking into account the ease of user
while working with the system.

Server Side Security


Some checks can’t be applied at client side. Server side checks are necessary to save the
system from failing and intimating the user that some invalid operation has been
performed or the performed operation is restricted. Some of the server side checks
imposed are:
 Server side constraint has been imposed to check for the validity of Primary key and
foreign key. A primary key value cannot be duplicated. Any attempt to duplicate the
primary key value results into a message intimating the user about that. Values
through the forms using foreign key can be updated only for the existing foreign key
values.
 Exceptions are caught in the programs and are used constructively to avoid system
failure. User is intimated through appropriate messages about the successful
operations or exceptions occurring at server side.
 Access permissions to various types of users are controlled according to the
organizational structure. Only permitted users can log on to the system and can have
access according to their category. User-name, passwords and permissions are
controlled on the server side.

PERT chart and GANTT chart

PERT Chart:

76 | P a g e
1 JUL 1 JUL, 1AUG 2AUG , 20 AUG
Start Analysis and Design Training on iButton

Help Testing Coding API Development

28 SEP 24 SEP,18 SEP 20AUG, 18 SEP 2AUG , 20 AUG

A PERT Chart is a network of boxes and arrows. To create PERT chart, first we
need to list all the activities required for completion of the project and estimate how long
each will take. Then we must determine the dependence of activities on each other. The
PERT chart gives a graphical representation of this information. PERT chart is always
used by the project manager to answer the questions like which all activities are
necessary or there in the project and how long each will take.

Here we are using boxes to represent the activities. The arrows are used to show the
dependencies of activities on one another. The activity at the head of an arrow
cannot start until the activity at the tail of the arrow is finished. The boxes in a PERT
chart can be decorated with starting and ending dates for activities.

GANTT Chart:
GANTT charts are a project control technique that can be used for several
purposes, including scheduling, budgeting, and resource planning. A Gantt chart is a bar

77 | P a g e
chart, with each bar representing an activity. The bars are drawn against a time line.
The length of each bar is proportional to the length of time planned for the activity.

1 JUL 1 AUG 20 AUG 18 SEP 28 SEP

Start
Analysis &
Design Training

Developing
API

Coding

Test
Help
file
creati
Finish

78 | P a g e
FUTURE SCOPE OF THE PROJECT

This project “HORIZON AIRWAYS RESERVATION SYSTEM” is very flexible and


simple. The system will be developed as a module of the airways system and will be well
documented.
Following modifications are possible in future:

 New modules and functionality can be added without many troubles.


 Automatic reservation by customer through Credit Card No. & PIN No.
 This module should be developed as an affiliate program that can be easily
integrated with various Web sites.

79 | P a g e
REFERENCES

During making this project I learn c++ and for programming.

I took help from these various books.

1. Object Oriented programming ( Robert lafore )

2. Object oriented programming ( E.Balagurusamy )

3. Introduction to c++(Sumita arora)

4. Let Us C(Yashwant kanitkar)

5. Software Engineering: ROGER S PRESSMAN

6. System Analysis and Design Methods: GALGOTIA PUBLICATIONS

80 | P a g e

You might also like