Anda di halaman 1dari 43

A

REPORT

ON

AIRLINE RESERVATION
SYSTEM

DONE
BY

MANISHA GAUTAM
Roll no. 2634
B.Sc.(H)Comp.Sc.
(4th SEMESTER)

DEPARTMENT OF COMPUTER SCIENCE


DELHI UNIVERSITY
APRIL 2007
A
REPORT
ON

AIRLINE RESERVATION
SYSTEM

PREPARED
FOR

PAPER NO.402 SOFTWARE ENGINEERING

DONE
BY

MANISHA GAUTAM
Roll no. 2634
B.Sc.(H)COMP.Sc.
(4th SEMESTER)

Mrs. KAVITA RASTOGI.


(COURSE COORDINATOR).

DEPARTMENT OF COMPUTER SCIENCE


DELHI UNIVERSITY
APRIL 2007

CERTIFICATE
This is to certify that the project report on AIRLINE
RESERVATION SYSTEM is submitted by Manisha Gautam for the
fulfillment of B.Sc.(H) Computer Science (4th Semester) under due
guidance and supervision of the course coordinator of Software
Engineering.

Dated: Manisha Gautam

( )
ACKNOWLEDGEMENT

We sincerely express our gratitude towards our course supervisor


Mrs. Kavita Rastogi who guided us at every step in understanding and
preparing this report and sharing her knowledge and expertise of the
topic that was essential for the completion of this term project report.

MANISHA GAUTAM

Roll no. 2634


Table of Content

Cover page. i
Title page. ii
Certificate. iii
Acknowledgement. iv
Contents. v

1.Existing System
2.Problem Recognition
3.Proposed System
3.1 Inputs
3.2 Outputs
3.3 System Description
3.4 Functions performed
4. Process Model
5.Team Structure
6. Feasibility Description
7. Requirement Analysis
7.1 FAST Approach
7.2 QFD (Quality Function Deployment)
7.3 Use-Case
8. Analysis Modeling
8.1 Data Modeling
8.11 ERD for Existing System
8.12 ERD for Proposed System
8.2 Functional Modeling
8.21 Data-Flow Diagram
8.3 Data Dictionary
9. Software Measurement
10. Project Scheduling
11. Time-Line Chart
12. Design Concepts
13. Architectural Design
14. Software Quality Assurance
15. Risk Analysis and Management
16. Software Testing
17. Bibliography
Existing System

Details of flights and passengers are maintained on registers. Three registers


stores following information:
 First register stores the details of the flights:
1. Flight no. 2. Origin 3.Travel time 4.Destination 5.Package
6. Seats Available 7.Distance to be traveled.
 The customer provides information as per his requirements which are
written in the second register.
1. Name 2.Address 3.Contact Details 4.Travel Date 5.No.of seats
required 6.Destination 7.Flight no.
 Details like reservation / cancellation / waiting list for the flight no. and
name, origin, destination, date of journey and name of the passengers for
a particular date are stored in the third register. This register helps in
reservation and cancellation process.

The Existing System has following features:

1. Reservation:

When customer comes for reservation of a particular flight for his


journey, the airline staff enquires about the flight, travel date and time and
destination. Then the staff looks into the first register, a list of available flights
is shown to the customer with their fares and other details and then the staff
checks for the availability of the seats in the flight as chosen by the customer. If
the seats are available, the staff provides the package information and stores the
details of the customer in the second register. After the customer has made
his/her payments through cash or credit-cards, the first and third registers are
updated and the printed ticket is provided to the customer.

2. Cancellation:
If any customer wishes to cancel his journey then the staff ask for the
ticket and as per the ticket information, the name of the customer is strike off
from the reservation list in the third register and the no. of seats available
corresponding to that flight is updated in the first register and the refund is
made after deducting the service charges.

3. Waiting List:

If the flight requested by the customer doesn’t have the available seats,
then the staff provides information about the waiting list number and is given
the option to change the flight no. or to enter his name in the waiting list. If the
customer agrees to change his flight no. then the reservation process for the
changed flight is followed otherwise the name of the customer is added to the
waiting list and the ticket is reserved after payment is made.

4. Delay of the flights:

If the flights reserved by the customer get delayed due to any reason, then
the information about this delay is provided to the customer using its contact
details.
Problems Recognition of Existing
System
1. Manual System: Since, the system is manual thus lot man power is
required.

2. Time Consuming: In existing system, every thing has to be recorded in


registers. Therefore, it is error prone due to high probability of mistake in
manual work and any carelessness can have disastrous results and
requires very lengthy procedure.
i) Information retrieval: If one department wants information
regarding the tickets or the passengers or the flights, then it becomes a
cumbersome process to make the information available in the existing
manual system whereas if the computers are used then the information
can be made easily available through networking.
ii) Cancellation: If the customer wants to cancel the ticket then it is
very difficult for the employees to find the particular register in which his
name is written and then strike out his name. Whereas in computerized
system, the name of a customer can be easily searched out in minimum time
and the cancellation can take place easily and quickly.

2. Requires more labor: As three registers are to be maintained therefore large


number of employees are required for maintenance of information plus the
security of written records in the registers requires more people to be involved
whereas in computerized system everything is maintained in computer therefore
there the records can be more easily maintained and it employs less number of
people as the job becomes easy.

3. Not secure: As the registers consists of all the important records like
customer details and there are lots of such registers therefore it is difficult to
keep each and every register in a secured place in lock and key. If anybody has
access to any register, then the important information can be tampered or can be
misutilised.
4. Backup cannot be created easily : It is difficult to maintain two or three
copies of the data stored in a register. If every register has two or three copies
then it would be difficult to store them in a secured way as it would require
more space and more maintenance and would consume lot of time. But if the
system is computerized then the backup can be easily maintained in CDs or
tapes. This would ensure security and would use less space and information can
be made available as and when required.

5. Difficulty in updation: Whenever there is new flight schedule the first


register has to be again updated, every time the new register has to be made to
store the new schedule this would require more time. But if the system is
computerized, then the updation of the new schedule can be made easily and no
new register is required as the updation can be made in the database stored in
the computer. Also if the customer wants to cancel the reserved ticket then the
employee can easily search his name and update the information in the database
maintained in the computer.
Also if the new packages are to be declared then the previous records can
be easily looked up in the computer and the situations can be analyzed when the
selling of tickets reaches its peak value and according to it the airlines can
introduce new packages for the customers. This process cannot be done
manually as it’s really difficult to find out and analyze the previous records that
are maintained in the registers.
Proposed System
ARS (Airline Reservation System) is the software which helps in automation of
the Airline Reservation. This software helps in following applications. It will
help the customer in reserving air tickets on the spot as well as on telephone.

Inputs required by ARS are:

1. Flight number.
2. Passenger’s details
 Name
 Age
 Sex
 Number of seats required.
3. Date of flight.
4. Departure and Destination City
5. Ticket number (for cancellation)
6. Credit Card Number.
7. Card Verification number
8. Transaction type: Purchase, Refund, Completion, Validate.

Outputs generated by AMT are:

1. Flight list
 Flight Number
 Number of passengers traveling
2. Passenger list
 Name
 Date of traveling.
 Ticket number
3. Waiting list
 Flight number
 Waiting number
 Passengers details
4. Transaction error.
5. ARS also gives the ticket details after the booking of the ticket or details
before cancellation of the ticket and asks for confirmation.
Proposed System Description
When a customer comes to reserve a ticket he/she should know which all flights
are there. Thus ARS provides flight schedules that include flight number,
origin, and departure time, number of available seats, package, destination, and
arrival time, as per customer requirements conveyed to the airline staff. When
the customer reserves the ticket, ARS takes inputs as flight number for which
he wants to travel, date of the journey, number of tickets to be reserved and if
those number of seats are available for that particular flight further details are
added that includes name, address, contact details, travel date, no. of seats
required, destination else it provides information that only these many number
of seats are available or the flight is full and he can reserve the ticket for the
following days.
In case of On the Spot reservation, payments can be done through
credit-cards or cash and in case of reservation through telephone payment can
be made only through credit-cards. And when there is credit-card payment,
customer provides information like card holder name, credit-card number,
verification code and date of expiry of the card. Thus ARS stores these credit-
card numbers in the database in the encoded form, and at the time of
verification data is read from the database and is decoded. This is done using
particular algorithms programmed for ARS. This ensures security. After
verification procedure, if the details added by him are correct, then the ticket is
generated by ARS printing all the relevant information given by the customer
such as flight number, date of the journey, departure and the destination point,
number of tickets reserved, total fare and the ticket number, else the customer is
redirected to the reservation page again. Passengers who make reservations
may, with minor exceptions, cancel them. Thus when a customer comes to
cancel the ticket he is asked to enter the flight number, date of reservation,
ticket number and number of seats to be cancelled. After giving all the above
information the customer is asked for a confirmation. If yes then the database
for that particular flight is updated for that particular date and the number of
seats is added to the available seats for that flight. If the details added by him
are not correct then the customer is redirected to the cancellation page again.
Functions performed by System

1. Search for Airline Flights: The system allows the passenger to search for
flights that are available between the two travel cities, namely the "Departure
city" and "Arrival city" by providing the details to the airline staff. From the
main menu, when the "Reservations" button is clicked, the system initially
prompts the staff for the two travel cities and displays a list of airline flights that
are scheduled for these cities. By Clicking on "Display Flights", the flight
details shown are : Flight Number, Flight Fare and the total number of available
seats in the flight. On clicking on “Cancellation” button of a Ticket or
Reservation, the total booked seats are decremented and are reflected in the
flights details.

2. Make Flight Reservation: After the system displays a list of available flights,
the airline staff member click on a particular flight as recommended by
customer and make reservations for that flight.

3. Cancel Flight Reservation: The system also allows the passenger to cancel
an existing reservation by providing information about the flight to the airline
staff. In case the passenger gives an invalid confirmation number, the system
displays a error message.

4. Check waiting list: In the waiting list part, passenger selects the suitable flight no.
and suitable departure date. Then the passenger informs the staff about his passenger
number and after the staff member enters the number, the system displays the
passenger information.

5. Delay of the flights: If the flights reserved by the customer get delayed due
to any reason, then the information about this delay is provided to the customer
using its contact details.

Process Model

For the development of this software we adopted the ‘LINEAR


SEQUENTIAL MODEL’ commonly called the ‘CLASSIC LIFE CYCLE’
or ‘WATERFALL MODEL’.

REASON FOR CHOOSING THE MODEL:

 This project demands a systematic and sequential approach to software


development i.e. system engineering, software requirement analysis,
design, code generation, testing and support occur in sequence.
 Linear sequential model requires complete understanding of the problem
domain i.e. we need to know all the requirements at the beginning of the
project. There should be no uncertainty over the requirements.
 The project being a small one is deliverable within a short span of time.

Thus we apply the ‘LINEAR SEQUENTIAL’ model for the project


development.

Activities of the model


System
Engineering

Software
requirement
analysis

Design

Code
genera

Testing
Support
Team Structure

We use DD (democratic decentralized) team structure because it suits are


project requirements as:
 In this software team there is no permanent leader.
 Task coordinators are appointed for short durations and then replaced by
others who may coordinate different tasks.
 Decisions on probable and approach are made by group consensus.
 Communication among team members is horizontal.
Feasibility of the project
The feasibility of the product is a question that confirms the reality to the ideas.
Feasibility test is critical .The dimensions that define the feasibility of project
are:

FINANCIAL FEASIBILITY

The total cost of the project is the cost of making the software plus maintaining
it. The cost of making the software is negligible as compared to cost of
maintaining it. The cost for maintaining the software is very high as the records
to be maintained are of huge size and therefore acquire more space, also the
records are very critical therefore the backup will also be required which would
lead to increase in the cost of its maintenance.

TECHNICAL FEASIBILITY

As the product is being complemented by a user manual and documentation


therefore there will be no problems in handling the project by the staff. The
technical feasibility is high as the software is coded in JAVA which is a
platform independent language and therefore can be installed on any computer.

BEHAVIOURAL FEASIBILITY

The user needs not be trained in using the software or have any past experience
of working in the software because it is very user friendly.

RESOURCE FEASIBILITY

The resources have to be acquired by the company for deploying the software.
Requirement Analysis

REQUIREMENT ELICITATION

It is an approach that helps in overcoming the problem of scope,


understandability and volatility of the project by providing the guidelines for
requirement gathering activity in an organized manner.

INITIATING THE PROCESS

 The objective and requirements of the software were decided upon by group
discussions, interviews and meetings with the customer.

 This project aims at automating the database and functioning of airlines


ticket booking system
.
 The software would benefit the organization in reducing the workforce
and tasks for validation of data and maintaining the records.

 The one time cost of the system will be high, but then the running cost of the
system would be much lower than the cost in the current system.

 The system has to be developed within a time constraint, as it would be


needed soon.
FAST(Facilitated Application
Specification Technique) Approach
 This is a team-oriented approach to requirements gathering that is applied
during early stages of analysis and specification.
 Meeting held at neutral site, attended by both software engineers and
customers.
 Goal is to identify the problem, propose elements of solution, negotiate
different approaches and specify a preliminary set of solution
requirements.

1. List of objects
 Flight
 Ticket
 Passenger
 Airline Staff
 Plane type

2. List of services

 Provide flight’s schedule


 Reservation of tickets
 Validation of data
 Database generation and maintenance
 Display the status of the flight
 Cancellation of the tickets
 Provide waiting lists according to flight
 Refund of the cancelled tickets
3. List of constraints
 User friendly.
 Cost of developing the system should be manageable.
 Only authenticated users can login the system due to security
reasons.

4. List of Validation Criteria


 In the reservation of the ticket, any field should not be left blank.
 All fields should be filled correctly.
 Age should be correctly entered.
 The number of tickets reserved should not be more than total available
seats in a flight.
 Software works with operable and acceptable speed and can work
efficiently even if the database grows rapidly.

.
Quality Function Deployment
 QFD is quality management technique that translates the needs of the
customer into technical requirements for software.
 Uses customer interviews, observation, surveys and historical data
for requirements gathering.

It identifies three types of requirements:

1. Normal Requirements:
1. Generating and saving the complete information of the passenger.
3 2. Searching passenger history.
4 3. Ticket generation.
5 4. Generating and saving the flight information.
6 5. Cancellation confirmation.

2. Expected Requirements:
1. Ease of human/machine interaction.
2. Performance.
3. Ease of software installation.
4. Overall operational correctness.
5. Reliability.

3. Exciting requirements:
1. Graphical displays.
2. Using digital signature to increase the security.
3. Availability of a well documented software

Use Case
Use case for reservation of a ticket by Airline staff member is as follows:

 When the staff member clicks the "Book Ticket" button to perform Flight
Reservation, the system displays the "Airline Reservation" screen. The
details for the selected flight are queried from the ‘flights’ database and
printed on the screen. The flight details shown are: Flight number, Flight
Fare, Departure City, Departure date (day of current month), Departure
Time, Arrival City, Arrival date and Arrival time.
 The passenger is then asked to provide his/her personal details like Name,
Address, City, State and Contact details (Phone number, etc.).
 Flight Confirmation: When the staff member clicks "Reserve Ticket" to
make the flight reservation, there are validations/checks performed like
Availability of seats. If the system is able to do a successful reservation, it
allocates a new seat automatically, makes a new entry into the ‘passengers’
database, updates the ‘seats’ database and sends a ‘Reservation
Confirmation’ back to the employee. A Confirmation number, Flight
number and seat number is given to the passenger.
Analysis
Modeling
Analysis Modeling
Analysis Model Objectives:

 Describe what the customer requires.

 Establish a basis for the creation of a software design.

 Devise a set of requirements that can be validated once the software is built.

Data
Entity
Flow
Relation Data diagram
Diagram Dictionary

State- Transition
Diagram
It uses a combination of text and diagrammatic form to depict requirements for
data, function and behavior in a way that is relatively easy to understand and
review.

The following tools have been used to model the system.

 Entity Relationship Diagram (ERD) specifies the relationships between


data objects and attribute of each data object can be described using a
data object description.

 Data Flow Diagram (DFD) provides an indication of how data are


transformed as they move through the system. Also depicts the function
that transforms the data flow.

 PSPEC specifies the work of each process i.e. the description of


each function presented in DFD.

 Data dictionary has been used as a repository that contains


description of all data objects consumed or produced by the software.
Entity-Relationship Diagram(ERD)
Typeid Fare de
tails

No. o
f seat
s
Plane Type
Airline staff

has Fa
Han r
s da dle Provid det e
ta ails
es

Sta
s tu

Flight Ticket
No
.

Sta
s tu Bo
va l city dat oking
Arri e
purchase
Fligh Departure city d
no. t

No. of available
ys seats
Week da

Passenger
Ag
e
NO. OF SEATS
TYPE ID FARE DETAILS Name Sex

Contact details

PLANE TYPE

CONTAINS

FLIGHT

FLIGHT
No.
No. Of
Booked Seats

Week
Arrival City
Days Flight
Status

Departure
City

Sex

Name
Contact
Details
PASSENGER
Context-Level DFD
Age

CUSTOMER TICKET
Request to
Reserve/cancel Reserve

Airline
Reservation/ Cancelled
ticket REFUND
Cancellation
System

Flight
Information
Generates
FLIGHT WAITING
LIST
Ist-Level DFD

TICKET

RESERVE

CUSTOMER
Request to
reserve
RESERVATION
GENERATES
1
WAITING LIST

Request to
CUSTOMER cancel
CANCELLED
CANCELLATION TICKET
REFUND
2
FLIGHT
DETAILS

FLIGHT
DETAILS

FLIGHT
INFORMATION

UPDATES

CANCEL
FLIGHT
FLIGHT FLIGHT 3
STATUS
IInd Level DFD PASSENGER’S
INFORMATION

PASSENGER’S
REQUEST TO DETAILS
RESERVE CHECK SEATS AVAILABLE
CUSTOMER AVAILABILITY OF PASSENGER’SINF
SEATS ORMATION
COLLECTION
1.1
1.2

PACKAGE
INFORMATION PAYMENT MADE

1.3
FLIGHT DETAILS

RESERVATION
CONFIRMATION
UPDATING
NUMBER OF SEATS

FLIGHT
INFORMATION ISSUE
TICKET

1.4

RESERVE

SEATS NOT
AVAILABLE

TICKET

WAITING LIST
UPDATION GENERATES
1.5 WAITING LIST
IIIrd Level DFD

PASSENGER’S
INFORMATION

INFORMATION
RETRIEVAL

REQUEST TO
CANCEL RESERVATION CHECK PASSENGER’S
CUSTOMER NUMBER ENQUIRY INFORMATION
2.1 VERIFICATION UPDATING SEATS
COUNT FLIGHT
2.2 INFORMATION

PASSENGER’S
DETAILS

INFORMATION
PROCESSED

2.3

REFUND

CANCELLED
TICKET REFUNDING
PROCEDURE
REFUND
2.4
Data Dictionary
1. For passenger number:

name Psngr no.


aliases None.
where used/how used Check reservation and
waiting list(input)
Cancellation (input)
Generating passenger
List (output)

description :
Psngr no. = [ _ /_ _ ]
Psngr no. = [access number]
access number = *Any one or two number string*.

2. For Date
name date.
aliases None
where used/how used Reservation (input)
Cancellation (input)
and waiting list (input)

description:

\ date = [ _ _/_ _/_ _ _ _ ]


date = [dd/mm/yy]
dd = departure day
mm = month
yy = year
dd = *any one or two number string*
mm = *any one or two number string*
yy = *any one or two number string*
Software Measurement

Project Metrics
 Used to adapt project workflow and technical activities.

 Used to avoid development schedule delays, to mitigate potential risks,


and to assess product quality on an on-going basis.

Function-Oriented Metrics
Function points are computed from direct measures of the information
domain of a business software application and assessment of its complexity.

Calculation:

Measurement parameter count simple average complex total

Number of user inputs 11 3 4 6 = 44

Number of user outputs 13 4 5 7 = 65

Number of user inquiries 4 3 5 6 =20

Number of files 2 6 10 15 =20

Number of external interfaces 3 5 5 10 =15

COUNT TOTAL 164


Calculation of Fi’s (complexity adjustment values):

FACTOR VALUE

Backup and recovery 5


Data communication 5
Distributed processing 4
Performance critical 3
Existing operating environment 4
On line data entry 1
Input transaction over multiple screen 1
Master files updated on line 1
Information domain values complex 2
Internal processing complex 2
Code designed for reuse 4
Conversion/installation in design 4
Multiple installation 5
Application designed for change 5

Complexity adjustment factor ( ∑ Fi) 46

FP (estimated) =count total (0.65 +0.01*∑ Fi)

= 164(0.65 +0.01 * 46)


= 164(1.11)
=182.04

Once computed, function points are used like LOC to normalize measures for
software productivity, quality, and other attributes such as:

 Errors per FP
 Defects per FP
 $ per FP
Project Scheduling

The project schedule and project plan is tracked and monitored on a continuing
basis. A task set selector is applied on the overall project to determine the
degree of rigor with which the software process should be applied.

Computation of task set selector:


Adaptation criteria Grade Weight New Product
development
Size of project 4 1.2 1 4.8

Number of users 3 1.1 1 3.3

Business criticality 4 1.1 1 4.4

Longevity 4 0.9 1 3.6

4 1.2 1 4.8
Stability of requirements
Ease of communication 4 0.9 1 3.6

Maturity of technology 2 0.9 1 1.8

Performance constraints 3 0.8 1 2.4

Project staffing 1 1 1 1

Interoperability 2 1.1 1 2.2

Task set selector 3.19


(TSS)

Interpreting the TSS value and selecting the task set:


TSS = 3.19.
It lies in the category of 3.19 > 3.0
Therefore the task set selector value recommends a strict degree of rigor
to be followed in scheduling the processes.

TimeLine
Chart
DESIGN CONCEPTS
Design is a problem solving process with an objective to describe a way to
implement the system’s functional requirements, respecting the constraints
imposed and adhering to good quality.

Goals include:
 Ensuring that functionality conforms to requirements.
 Increasing quality such as usability, efficiency, reliability,
maintainability, and reusability.

Effective Modular Design:

 Cohesion: qualitative indication of the degree to which a module focuses


on just one thing.

 Coupling: qualitative indication of the degree to which a module is


connected to other modules and to the outside world.

 Functional Independence: modules must have high cohesion and low


coupling.
Software Quality Assurance(SQA)

Software quality assurance claims to focus on quality tools that audit the source
code to determine compliance with language standards. It is an umbrella
activity, applied at each step in the software process.

It identifies
• Evaluations to be made
• Audit and reviews to be performed
• Standards to be maintained
• Error reporting and tracking
• Measurement of changes made
• Amount of feedback
Risk Analysis
and Management

ASSESSING OVERALL PROJECT RISK

1. End users are moderately committed to use the project


2. Requirements are fully understood
3. End users have realistic expectations
4. The project scope is stable
5. Project Requirements are fully stable
6. The project team is inexperienced with the technology to be implemented
7. All customer constituencies do not agree on the importance of the project to
be built

Identifying potential risks and developing a plan to mitigate, monitor and


manage risks is of paramount importance. Risk analysis enables to build a risk
table by providing detail guidelines in identification and analysis of risk. This is
achieved by
 Risk avoidance
 Risk monitoring
 Risk management and contingency plan
For our project the risk table is as follows:

Category Probability Impact RMMM


Risks
Size estimate may be PS 40% 2  Ensure that
significantly low requirements are
clearly understood
 Choose appropriate
sizing technique to
determine the
software size
Delivery deadline may BU 80% 2  Schedule made
be tightened should be realistic
and achievable
 Monitor that efforts
put are according to
schedule
Number of people may PS 60% 2  Assign backup staff
be inadequate to do the member as third party
job for testing and review
Customer will change PS 10% 1  Update the employers
requirements regularly about the
status and working
assumptions
 Get Customers’
feedback periodically
Lack of training on tools DE 20% 3  Staff should be told
the need for training
 Conduct test to see if
they have really learnt
Staff inexperienced ST 50% 3  Give training to staff
 Take regular
feedback
End user may resist the BU 40% 1  Involve the end users
system in development of the
system.
 Develop techniques
to evoke favorable
responses from the
users.
Software Testing

 Once source code has been generated, software must be tested to allow
errors to be identified and removed before delivery to the customer.

 While it is not possible to remove every error in a large software package,


the software engineer’s goal is to remove as many as possible early in the
software development cycle.

 It is important to remember that testing can only find errors; it cannot prove
that a program is bug free.

 Two basic test techniques involve


 Testing module input/output (black-box)
 Exercising internal logic of software components (white-box).

 Formal technical reviews by themselves can not find allow software defects,
test data must also be used.

 Testing must be planned and designed.

Bibliography
 Roger S. Pressman: “Software Engineering a practitioner’s approach”

5th edition, Tata McGraw-Hill

Anda mungkin juga menyukai