Professional Documents
Culture Documents
BCA Project
BCA Project
Enrollment No.
Page 1
A
Project Report
On
“AIR LINES RESERVATION SYSTEM”
CERTIFICATE
This is to certify that the project work entitled “Air Lines Reservation System”,
work carried out by the student in …….. under my supervisor and guidance.
Signature of Student
Signature of Supervisor:
ACKNOWLEDGEMENT
Today after completing my project I feel great relief and satisfaction, now
when I look back, I still remember the day when I was assigned this project
“AIRLINES RESERVATION ". I was somewhat puzzled and a bit nervous and
curious where to begin from. This was a new exposure for me. At this juncture of
time when my project is completed, I would like to that who provided me power
to complete this work and to my parents who always inspired and encouraged me
throughout my life. Once again, I would like to convey my sincere and special
thanks to Mr. faculty of Computer Science, for his kind
cooperation and knowledge assistance in giving shape to this project and great
regards for all the Collage staff members who gave me the practical knowledge of
all. I believe that without their guidance the successful completion of this project
was not possible.
Date:
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.
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.
“AIR LINES RESERVATION SYSTEM”
Enrollment No.
Page 8
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.
SYSTEM ANALYSIS
Introduction of User
Definition of System
Identification of Need
Preliminary Investigation
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.
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:
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
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.
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.
In the software principle we are using the incremental model (evolutionary software
process model). The incremental model combines elements of the linear sequential
Hardware Requirement
2. Color Monitor
3. Keyboard
5. 32 MB RAM or above
7. Speakers
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
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
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.
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
that contains its own instructions and data related to that object. Through this process,
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
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.
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
“AIR LINES RESERVATION SYSTEM”
Enrollment No.
Page 21
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
“one interface, multiple methods.” This means that it is possible to design a generic
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
was, of course, supported at run time. However, C++ is a compiled language. Therefore,
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
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
“AIR LINES RESERVATION SYSTEM”
Enrollment No.
Page 23
its parent. Thus, it is the inheritance mechanism that makes it possible for one object
As you will see as you progress through this book, many of the features of C++ exist
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
customer, and requirements problems and their impact on software. All the
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.
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.
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.
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
3. Operational Feasibility
4. Social feasibility
5. Management feasibility
6. Legal feasibility
7. Time feasibility
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.
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.
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:
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.
“AIR LINES RESERVATION SYSTEM”
Enrollment No.
Page 35
Output Sources:
Tabular contents
Graphic format
Using Icons
Output Definition:
Types of outputs
The name given to each data item should be recorded and its characteristics described
clearly in a standard form:
Number of characters
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.
Data entry, the activity of putting data into the computer processing.
Avoid delay
Input stages several activities have to be carried out as part of the overall input
process. They include some or all of the following.
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.
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.
PROJECT DESIGN
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.
Collects the fare amount.
Prints the ticket and gives it to the passenger.
Update the Daily Collection file with the fare amount.
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.
STATION
DATE
PROGRAM STRUCTURE
STATION
DATE
CUSTOMER
Modules in class STATION:
FLOW CHART
1. Station Information
2. Booking
3. Search Station
4. Customer Record MENU
5. Reports
6. Edit Station
0. Quit
Enter your Choice :
Input Ch
If Y
1
Ch=1
N
“AIR LINES RESERVATION SYSTEM”
If Y Enrollment No.
2 Page 48
If Ch=2
If
Ch=6
Ch=0 Ch=3
Ch=5
STOP
6 Y N N N Y
Y 345
If
Ch=4
MENU
if MENU
eof
if Y
eof MENU
if
code = file.code N
“AIR LINES RESERVATION SYSTEM”
Enrollment No.
Page 52
Y
Input Ch
If Y
R1
Ch=1
If Y
R2
Ch=2
If Y
Ch=0 MENU
if
eof 5
R2
switch to next record
if
eof 5
if N
month = booking month “AIR LINES RESERVATION SYSTEM”
Enrollment No.
Page 55
Y
switch
6 to next record
Input Ch
If Y
E1
Ch=1
If Y
E2
Ch=2
If Y
Ch=3
“AIR LINES RESERVATION SYSTEM”
Enrollment No.
Page 56
N
E3
If Y
Ch=0 MENU
E1
E2
6
E3
technique may well System in large part for the wide spread use of the E-R model.
Lines: which link attribute to entity set and entity set to relationship sets
Entity-Relationship Diagram
The following diagram depicts various entities involved in the airline reservation
system the attributes of entities and the relationships between entities:
SS
Seat R First Class Seats
Aircraft available
Meal Zone Statu Type
s
Cancel
Flag Flight Dep. Time
Seat No.
preference
Arr.Time
Operates Available
in
Description
Week Day 1
“AIR LINES RESERVATION SYSTEM”
Enrollment No.
Page 62
First Class Fare Economy Class Fare
Business Class
Fare
Full descriptions of the system actually consist of a set of data flow diagram.
Specification:
with the system. The terms source and sink are interchangeable with
system.
# include <iostream.h>
# include <fstream.h>
# include <string.h>
# include <stdlib.h>
# include <stdio.h>
# include <ctype.h>
# include <dos.h>
# include <conio.h>
# include <process.h>
class TICKET
{
private:
void
ADD_RECORD(char[10],char[15],char[15],int,int);
public:
void ADDITION(void);
void ENQUIRY(void);
char *FLIGHTNO(int);
protected:
char fltno[10],from[15],to[15];
int ecofair,exefair;
};
class PASSENGER
{
public:
void
ADD_RECORD(int,int,char[26],char[36],int,char,char);
void DELETE_TICKET(int);
int DELETE_FLIGHT(int);
void LIST(void);
int LAST_TICKETNO(void);
“AIR LINES RESERVATION SYSTEM”
Enrollment No.
Page 68
int SEATS(int);
int FOUND(int);
char *NAME(int);
void PASS_INFO();
void MODIFY();
protected:
char Class,name[26],address[36],sex;
int slno,age,ticketno;
};
count++;
}
file.close();
return fltno;
}
int i=1;
fstream file;
file.open("TICKET.DAT",ios::in);
while(file.read((char*)this, sizeof(TICKET)))
{
if(sno == i)
break;
i++;
}
file.close();
strcpy(pfltno,fltno);
if(p.SEATS(sno)>=250)
{
gotoxy(5,21);
cout<<"\7Sorry! SEATS ARE NOT AVAILABLE";
getch();
return;
}
gotoxy(3,23);
clreol();
cout<<"E=ECONOMIC,X=EXECUTIVE or PRESS <ENTER> TO
EXIT";
do
{
gotoxy(3,21);
clreol();
cout<<"BY WHICH CLASS YOU WOULD LIKE TO TRAVEL :
";
pclass = getche();
pclass = toupper(pclass);
if(pclass == 13)
return;
} while(pclass !='E' && pclass !='X');
clrscr();
gotoxy(72,3);
cout<<"<0>-EXIT";
“AIR LINES RESERVATION SYSTEM”
Enrollment No.
Page 72
gotoxy(34,2);
cout<<"RESERVATION";
gotoxy(5,5);
cout<<"NAME : ";
gotoxy(5,6);
cout<<"ADDRESS : ";
gotoxy(5,7);
cout<<"SEX M/F : ";
gotoxy(5,8);
cout<<"AGE : ";
do
{
valid = 1;
gotoxy(5,25);
clreol();
cout<<"ENTER THE NAME OF THE PASSENGER";
gotoxy(15,5);
clreol();
gets(pname);
if(pname[0] == '0')
return;
if(strlen(pname) < 1 || strlen(pname) > 25)
{
valid = 0;
gotoxy(5,25);
clreol();
cout<<"\7ENTER CORRECTLY {RANGE : 1 TO 25}";
getch();
}
} while(!valid);
do
{
valid = 1;
gotoxy(5,25);
clreol();
cout<<"ENTER THE ADDRESS OF THE PASSENGER";
gotoxy(15,6);
clreol();
gets(paddress);
if(paddress[0] == '0')
return;
if(strlen(paddress) < 1 || strlen(paddress) > 35)
{
valid = 0;
gotoxy(5,25);
“AIR LINES RESERVATION SYSTEM”
Enrollment No.
Page 73
clreol();
cout<<"\7ENTER CORRECTLY {RANGE : 1 TO 35}";
getch();
}
} while(!valid);
do
{
gotoxy(5,25);
clreol();
cout<<"ENTER THE SEX OF THE PASSENGER";
gotoxy(15,7);
clreol();
psex = getche();
psex = toupper(psex);
if(psex == '0')
return;
} while(psex !='M' && psex !='F' );
do
{
valid = 1;
gotoxy(5,25);
clreol();
cout<<"ENTER THE AGE OF THE PASSENGER";
gotoxy(15,8);
clreol();
gets(t1);
t2 = atoi(t1);
page = t2;
if(t1[0] == '0')
return;
if(page < 1 || page > 100)
{
valid = 0;
gotoxy(5,25);
clreol();
cout<<"\7ENTER CORRECTLY ";
getch();
}
} while(!valid);
clrscr();
gotoxy(11,4);
cout<<"****************************************************";
gotoxy(11,21);
“AIR LINES RESERVATION SYSTEM”
Enrollment No.
Page 74
cout<<"****************************************************";
gotoxy(33,6);
cout<<"TICKET NO. : "<<tno;
gotoxy(17,9);
cout<<from<<" TO "<<to;
gotoxy(45,9);
cout<<"FLIGHT NO. : "<<pfltno;
gotoxy(20,11);
cout<<"PASSENGER NAME : "<<pname;
gotoxy(20,13);
cout<<"ADDRESS : "<<paddress;
gotoxy(20,15);
cout<<"SEX : "<<psex;
gotoxy(20,17);
cout<<"AGE : "<<page;
gotoxy(45,19);
if(pclass == 'E')
cout<<"TOTAL FAIR : "<<ecofair;
else
cout<<"TOTAL FAIR : "<<exefair;
p.ADD_RECORD(tno,sno,pname,paddress,page,psex,pclass);
getch();
}
PASS_INFO();
cout<<"\nENTER THE TICKET NUMBER OF THE PASSENGER";
cin>>tcno;
fstream file;
file.open("PASS.DAT",ios::in|ios::out);
int m=0;
int l;
file.read((char*)this,sizeof(PASSENGER));
while(!file.eof())
{ m++;
if(tcno==ticketno)
{
l=(m-1)*sizeof(PASSENGER);
cout<<l;
getch();
clrscr();
gotoxy(72,3);
cout<<"<0>-EXIT";
gotoxy(34,2);
cout<<"RESERVATION";
gotoxy(5,5);
cout<<"NAME : ";
gotoxy(5,6);
cout<<"ADDRESS : ";
gotoxy(5,7);
cout<<"SEX M/F : ";
gotoxy(5,8);
cout<<"AGE : ";
gotoxy(5,25);
clreol();
cout<<"ENTER THE NAME OF THE PASSENGER";
gotoxy(15,5);
clreol();
gets(pname);
gotoxy(5,25);
clreol();
cout<<"ENTER THE ADDRESS OF THE PASSENGER";
gotoxy(15,6);
clreol();
gets(paddress);
gotoxy(5,25);
“AIR LINES RESERVATION SYSTEM”
Enrollment No.
Page 76
clreol();
cout<<"ENTER THE SEX OF THE PASSENGER";
gotoxy(15,7);
clreol();
psex = getche();
psex = toupper(psex);
gotoxy(5,25);
clreol();
cout<<"ENTER THE AGE OF THE PASSENGER";
gotoxy(15,8);
clreol();
gets(t1);
t2 = atoi(t1);
page = t2;
cout<<"CLASS:E(ECONOMIC) OR X(EXECUTIVE)";
pclass=getche();
if(strlen(paddress)!=0)
strcpy(address,paddress);
if(strlen(pname)!=0)
strcpy(name,pname);
if(strlen(t1)!=0)
age=page;
if(psex!=13)
sex=psex;
if(pclass!=13)
Class=pclass;
file.seekp(l);
file.write((char*)this,sizeof(PASSENGER));
file.close();
return;
}
else
file.read((char*)this,sizeof(PASSENGER));
}
}
void PASSENGER :: PASS_INFO()
{
fstream file;
file.open("PASS.DAT",ios::in);
cout<<" PASSENGERS
INFORMATION\n";
cout<<"
**************************\n";
gotoxy(2,4);
“AIR LINES RESERVATION SYSTEM”
Enrollment No.
Page 77
cout<<"T.NO.";
gotoxy(11,4);
cout<<"S.NO.";
gotoxy(25,4);
cout<<"NAME";
gotoxy(48,4);
cout<<"ADDRESS";
gotoxy(66,4);
cout<<"AGE";
gotoxy(70,4);
cout<<"SEX";
gotoxy(74,4);
cout<<"CLASS";
gotoxy(1,5);
cout<<"*********************************************************
**********************";
int tno,sno,page;
char pname[26],paddress[36],psex,pclass,pfltno[10];
int i=6;
while(file.read((char*)this,sizeof(PASSENGER)))
{
tno=ticketno;
sno=slno;
strcpy(pname,name);
strcpy(paddress,address);
page = age;
psex = sex;
pclass = Class;
gotoxy(2,i);
cout<<tno;
gotoxy(11,i);
cout<<sno;
gotoxy(20,i);
cout<<pname;
gotoxy(45,i);
cout<<paddress;
gotoxy(67,i);
cout<<page;
gotoxy(71,i);
cout<<psex;
gotoxy(77,i);
cout<<pclass;
i++;
}
file.close();
}
“AIR LINES RESERVATION SYSTEM”
Enrollment No.
Page 78
//THIS FUNCTION RETURNS THE LAST TICKET NO. IN THE
PASSENGER FILE
while(file.read((char*)this,sizeof(PASSENGER)))
{
if(tno == ticketno)
{
found = 1;
break;
“AIR LINES RESERVATION SYSTEM”
Enrollment No.
Page 79
}
}
file.close();
return found;
}
clrscr();
int row = 8,found = 0,flag = 0;
char ch;
gotoxy(3,4);
cout<<"FLIGHT NO.----> "<<ticket.FLIGHTNO(sno);
gotoxy(28,2);
cout<<"**LIST OF PASSENGERS**";
gotoxy(5,6);
cout<<"TICKET NO. NAME
CLASS ";
gotoxy(4,7);
cout<<"*******************************************************";
fstream file;
file.open("PASS.DAT",ios::in);
file.seekg(0,ios::beg);
while(file.read((char*)this,sizeof(PASSENGER)))
{
if(sno == slno)
{
flag = 0;
delay(20);
found = 1;
gotoxy(5,row);
cout<<ticketno;
gotoxy(17,row);
cout<<name;
gotoxy(49,row);
if(Class == 'X')
cout<<"EXECUTIVE";
else
cout<<"ECONOMIC";
if(row == 21)
{
flag = 1;
row = 7;
gotoxy(5,23);
cout<<"PRESS ANY KEY TO CONTINUE OR PRESS <ESC>";
“AIR LINES RESERVATION SYSTEM”
Enrollment No.
Page 81
ch = getch();
if(ch == 27)
break;
clrscr();
gotoxy(32,3);
cout<<"LIST OF PASSENGERS";
gotoxy(2,5);
cout<<"TICKET NO. NAME CLASS ";
}
else
row++;
}
}
if(!found)
{
gotoxy(5,10);
cout<<"\7RECORDS NOT FOUND";
}
if(!flag)
{
gotoxy(5,23);
cout<<"PRESS ANY KEY TO CONTINUE....";
getch();
}
file.close();
}
//PAGE 11
clrscr();
“AIR LINES RESERVATION SYSTEM”
Enrollment No.
Page 84
fstream file;
file.open("PASS.DAT",ios::in);
while(file.read((char*)this,sizeof(PASSENGER)))
if(ticketno == tno)
break;
file.close();
int i = 1;
file.open("TICKET.DAT",ios::in);
while(file.read((char*)this,sizeof(TICKET)))
{
if(slno == i)
break;
i++;
}
file.close();
PASSENGER p;
gotoxy(11,4);
cout<<"****************************************************";
gotoxy(11,21);
cout<<"****************************************************";
gotoxy(33,6);
cout<<"TICKET NO. : "<<tno;
gotoxy(17,9);
cout<<from<<" TO "<<to;
gotoxy(45,9);
cout<<"FLIGHT NO. : "<<fltno;
gotoxy(20,11);
cout<<"PASSENGER NAME : "<<p.NAME(tno);
gotoxy(20,13);
cout<<"ADDRESS : "<<address;
gotoxy(20,15);
cout<<"SEX : "<<sex;
gotoxy(20,17);
cout<<"AGE : "<<age;
gotoxy(45,19);
if(Class == 'E')
cout<<"TOTAL FAIR : "<<ecofair;
else
cout<<"TOTAL FAIR : "<<exefair;
do
{
gotoxy(10,23);
clreol();
cout<<"CANCEL THIS TICKET (Y/N) : ";
ch = getch();
“AIR LINES RESERVATION SYSTEM”
Enrollment No.
Page 85
ch = toupper(ch);
} while(ch != 'Y' && ch != 'N');
if(ch == 'N')
return;
DELETE_TICKET(tno);
gotoxy(10,25);
cout<<"\7TICKET CANCELLED";
getch();
}
// PAGE 12
clrscr();
char t1[10],ch;
int t2,tno,valid;
do
{
valid = 1;
gotoxy(3,23);
clreol();
cout<<"PRESS <ENTER> TO SEE LIST OR 0 TO EXIT";
gotoxy(3,20);
clreol();
cout<<"ENTER THE TICKETNO. OF THE PASSENGER : ";
gets(t1);
t2 = atoi(t1);
tno = t2;
if(t1[0] == '0')
return;
if(strlen(t1) == 0)
{
valid = 0;
LIST();
clrscr();
}
if(FOUND(tno) && valid)
{
valid = 0;
gotoxy(3,23);
clreol();
cout<<"\7RECORD NOT FOUND";
“AIR LINES RESERVATION SYSTEM”
Enrollment No.
Page 86
getch();
}
} while(!valid);
clrscr();
fstream file;
file.open("PASS.DAT",ios::in);
while(file.read((char*)this,sizeof(PASSENGER)))
if(ticketno == tno)
break;
file.close();
int i = 1;
file.open("TICKET.DAT",ios::in);
while(file.read((char*)this,sizeof(TICKET)))
{
if(slno == i)
break;
i++;
}
file.close();
PASSENGER p;
gotoxy(11,4);
cout<<"****************************************************";
gotoxy(11,21);
cout<<"****************************************************";
gotoxy(33,6);
cout<<"TICKET NO. : "<<tno;
gotoxy(17,9);
cout<<from<<" TO "<<to;
gotoxy(45,9);
cout<<"FLIGHT NO. : "<<fltno;
gotoxy(20,11);
cout<<"PASSENGER NAME : "<<p.NAME(tno);
gotoxy(20,13);
cout<<"ADDRESS : "<<address;
// PAGE 13
gotoxy(20,15);
cout<<"SEX : "<<sex;
gotoxy(20,17);
cout<<"AGE : "<<age;
gotoxy(45,19);
if(Class == 'E')
“AIR LINES RESERVATION SYSTEM”
Enrollment No.
Page 87
cout<<"TOTAL FAIR : "<<ecofair;
else
cout<<"TOTAL FAIR : "<<exefair;
gotoxy(10,25);
cout<<"PRESS ANY KEY TO CONTINUE....";
getch();
}
gotoxy(3,23);
if(!DELETE_FLIGHT(sno) )
cout<<"\7RECORDS NOT FOUND.PRESS ANY KEY TO
CONTINUE....";
else
void main(void)
{
// PAGE 14
PASSENGER p;
TICKET ticket;
RESERVE r;
ticket.ADDITION();
int ch,ch1;
while(1)
{
clrscr();
gotoxy(29,9);
cout<<"AIR TICKET RESERVATION";
gotoxy(29,10);
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~";
gotoxy(30,11);
cout<<"1 : RESERVATION";
gotoxy(30,12);
cout<<"2 : CANCELLATION";
gotoxy(30,13);
cout<<"3 : PASSENGER RECORDS ->";
gotoxy(30,14);
cout<<"4 : ENQUIRY";
gotoxy(30,15);
cout<<"5 : LIST OF PASSENGERS";
gotoxy(30,16);
cout<<"6 : QUIT";
gotoxy(30,18);
cout<<"ENTER YOUR CHOICE : ";
cin>>ch;
switch(ch)
{
case 1:
r.RESERVATION();
break;
case 2:
“AIR LINES RESERVATION SYSTEM”
Enrollment No.
Page 89
r.CANCELLATION();
break;
case 3:
clrscr();
gotoxy(29,10);
cout<<" PASSENGER RECORDS ";
gotoxy(29,11);
cout<<"~~~~~~~~~~~~~~~~~~~~~~~";
gotoxy(33,12);
cout<<"1 : PASSENGER INFORMATION";
gotoxy(33,13);
cout<<"2 : MODIFY";
gotoxy(33,14);
cout<<"0 : EXIT";
gotoxy(33,16);
cout<<"ENTER YOUR CHOICE--->";
cin>>ch1;
if(ch1==1)
{clrscr();
p.PASS_INFO();
getch(); }
else
if(ch1==2)
{clrscr();
p.MODIFY();}
else
break;
break;
case 4:
ticket.ENQUIRY();
gotoxy(2,23);
cout<<"PRESS ANY KEY TO CONTINUE....";
getch();
break;
case 5:
p.LIST();
break;
case 6:
exit(0);
default:
cout<<"ENTER THE CORRECT CHOICE";
}
“AIR LINES RESERVATION SYSTEM”
Enrollment No.
Page 90
}
}
OUTPUT SCREEN
“AIR LINES RESERVATION SYSTEM”
Enrollment No.
Page 91
LOGIN PAGE OF
AIRLINES TICKET RESERVATION
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:
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
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.
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:
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.
“AIR LINES RESERVATION SYSTEM”
Enrollment No.
Page 101
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.
GUI Verification
Compatibility Testing
“AIR LINES RESERVATION SYSTEM”
Enrollment No.
Functional Testing Performance Testing
Page 102
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:
PERT Chart:
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
Start
Analysis &
Design Training
Developing
API
Coding
Test
Help
file
creati
on
Finish
REFERENCES