Sunteți pe pagina 1din 31

Online airline reservation

Software Engineering
Project Report
(CSHP - 410)

Submitted by:Aadresh Saini


(Roll no. 0588 )
Submitted by:Deepanshu Jain
(Roll no. 0516 )

Supervisor:
Dr. Anjali Thukral

2014

Department of Computer Science


Keshav Mahavidyalaya
University of Delhi

Table of Contents
Problem Statement..........................................................................................................................4
Process Model................................................................................................................................5
1.

Software Requirement Specification....................................................................................6


1.1

Overall Description...........................................................................................................6

1.1.1 Product Functions.......................................................................................................6


1.1.2 User Characteristics....................................................................................................6
1.1.3 General Constraints.....................................................................................................6
1.1.4 Assumptions and Dependencies.................................................................................7
1.2

External Interface Requirements......................................................................................7

1.2.1 User Interfaces............................................................................................................7


1.2.2 Software Interfaces.....................................................................................................7
1.3

Functional Requirements..................................................................................................7

1.3.1 Booking.......................................................................................................................7
1.3.2 Cancellation................................................................................................................7
1.3.3 Flight Status................................................................................................................7
1.4

Performance Requirement................................................................................................8

1.5

Design Constraints............................................................................................................8

1.6

Data Flow Diagram...........................................................................................................8

1.6.1 0 Level DFD...............................................................................................................8


1.6.2 1 Level DFD...............................................................................................................9
1.6.3 2 Level DFD.............................................................................................................10
1.7
2.

Data Dictionary...............................................................................................................11
Estimations.........................................................................................................................12

2.1

Function Points...............................................................................................................12

2.2
3.

Efforts.............................................................................................................................13
Scheduling..........................................................................................................................14

3.1

Schedule table.................................................................................................................14

3.2

Timeline..........................................................................................................................15

4.

Risk Management...............................................................................................................17

5.

Design.................................................................................................................................18
5.1

System Design................................................................................................................18

5.2

Data Design.....................................................................................................................18

6.

Coding................................................................................................................................20

7.

Testing................................................................................................................................21
7.1

Flowgraph.......................................................................................................................21

7.2

Cyclomatic Complexity..................................................................................................22

Using Regions: -.......................................................................................................................22


7.3
8.

Test cases........................................................................................................................23
References..........................................................................................................................25

Problem Statement

The main aim of this project is to develop the software for the process of reserving airway ticket
which should lead to increased efficiency and reduced drawbacks which were present in the previous
procedures of airline reservation and makes it convenient for the customers to book,modify or cancel a
particular reservation. The software should control redundancy so that no two customers can access the
same seat at the same time and transactions should be independent. Moreover, ticket booking is a
hassle for customer,they are left with just three options,that is, book the ticket by visiting an airport,by
visiting airline booking office or through agents .Technical system is fast, accurate ,reliable ,informative
and user friendly .The proposed system enables the customer to do things such as search for airline
flights that are available between two travel cities on a specified date, namely the departure city and
arrival city for a particular departure and arrival date. The system displays all the flights details such
as flight number ,name ,price and duration of journey etc. Some agents or the organization with the idea
of eyeing increased profit through the extra taxes for the comfort they give to buy the ticket just by a
single click of the mouse.

Process Model
We choose Waterfall model because of the following reasons:

Its relatively simple and easier to understand approach as compared to other models.

The requirements are well stated and understood before in hand.

In this model we have to complete one stage before proceeding to next. So ,we have
clearly defined stages and well understood milestones.

The advancement in program does not need to be checked upon by the customer during
the process. So this model does not create problem.

The requirements are fixed and work can proceed to completion in a linear manner.

The Waterfall Model provides a structured approach.

1. Software Requirement Specification


1.1 Overall Description
1.1.1 Product Functions
The Reservation System

Allows for typing in customer information

Has a default flight rate that is adjusted automatically with the choice of the flight.

Includes a description field for the changed rate

When a customer reserves a flight, the flight number will be changed to occupied in the
database

Ability to modify a reservation

When no flights are available and a customer would like to extend their reservation their
information will be placed in a database and when there are flights available the first
customer on the list will have the information of the flight

Records that flight is vacant or full

Allows for space to write customers feedback

1.1.2 User Characteristics


Customer: Customer Uses system to book flight, and find out information about available
flights, their respective prices, facilities offered.
Website Designers & Engineers: Updates system and maintains the site.
Airline Admin: Airline uses website for updating its details, and flight availability. It also uses
the system on arrival and departure of the customers.
1.1.3 General Constraints
User interface is only in English i.e. no other language option is available.
Internet connection is required to access the system by user.

1.1.4 Assumptions and Dependencies


1. The databases are not in fact part of the same system.
2. That there is not a limited amount of reservations for the website . If this were so then
the instantaneous communication between the two systems would not exist.
3. The details related to the flight, customer, payment and service transaction provided
manually
4. Administrator is created in the system already
5. Roles and tasks are predefined

1.2 External Interface Requirements


1.2.1 User Interfaces
Customer logins to book or enquire about flight by entering origin, destination, date, no. of
passenger . One can also cancel the booked ticket by entering PNR, Passenger name, flight no.
Admin logins to update flight details.

1.2.2 Software Interfaces


All databases for the software will be configured. These databases include flight database,
airline database, charge database that can be modified by Admin.
The flight database includes origin, destination,basefare,time,
The airline database includes itinerary.
The charge database includes ADF,CUTE.

1.3 Functional Requirements


1.3.1 Booking
This module basically deals with the booking of flight. It accepts journey data, retrieve flight
details, calculate fare based on selected flight and finally processes the payment to generate the
itinerary. After successful transaction airline database is updated with the itinerary and other details.
1.3.2 Cancellation

Once the ticket is booked, it can be cancelled or seen by this module. It accepts PNR, name of
first passenger and email-id, verifies it with the database and presents the itinerary. On successful
confirmation by the traveller it can cancel the ticket of the passengers on that itinerary. Further, it will
update the airline database and the payment gateway to issue refund.
1.3.3 Flight Status
This module retrieves the updated status of the flights. It accepts flight no. or Origin-Destination
and then retrieves the schedule of the particular flight or all the flights of that sector.

1.4 Performance Requirement


All the information must be provided by the system in less than 5 seconds (excluding the
communication time between networks) and Updation should take less than 2 seconds.

1.5 Design Constraints


This Software can be installed on Personal Computers, Tablets or Smart phones.(It just needs
the java platform)
For security reasons, Login Id & Password must be provided.

1.6 Data Flow Diagram


1.6.1 0 Level DFD

a
ell
nc
Ca
tio

St
at
us

lip
nS

Se
a
t
ch
ar
t

Get info
Cancellation & Modification Panel

Fligh
t no,
date

Depa
rture
,a

rriva
l,N.O
.P.,na
m

Customer panel

s
rge
a
rch
Su

1.6.2 1 Level DFD

1.6.3 2 Level DFD

Charges

e
rg
ha
rc
Su
Charges

r
nfi
Co

n
tio

1.7 Data Dictionary

Data

Validate Payment
Description

Journey details

[ departure city+ arrival city + Date + no_of_passengers ]

Flight Selection

[ Flight_no. + departure_time + arrival time + Departure_city +


arrival_city + basefare ] + [ Names_of_passengers ]*

Flight details

[ flightno + departure_time + arrival_time + basefare ]

Surcharge

[ ADF + CUTE ]

Cost

[ basefare + fuel Surcharge + CUTE + UDF + Stax ]

Payment details

[ Cardno + name + cvv + expirydate ]

Itinerary

[ Departure_city + arrival_city + Date + no_of_passengers + flight_no


+ departure_time + arrival_time + [ Names of passengers ]*+TOTAL
FARE ]

Flight Status

[ Arrival_city + departure_city + date + time ]

Confirmation details

[ PNR + flightno

Confirmation

[ Payment_confirmation + Journey details + Flight Details ]

Book, view, cancel

+ flightpassenger_name + DATE ]

tai
de
n
o
ati
m
r
nfi
Co

ls

View / cancel booking

Refu

2. Estimations
2.1 Function Points
Estimation of Complexity Weighing Factors
Factor

Value

1. Backup and recovery

2. Data Communication

3. Distributed Processing

4. Performance Critical

5. Existing Operating Environment

6. Online Data Entry

7. Input Transaction over Multiple Screens

8. ILFs updated online

9. Information Domain values Complex

10. Internal Processing Complex

11. Code Designed for Reuse

12. Conversion/Installation in Design

13. Multiple Installations

14. Application Designed for Change

(Fi)

45

Value Adjusting Factor [0.65 + 0.01*(Fi)]

1.10

Calculation of Function point for the online Airline Reservation software

MEASUREMENT
PARAMETER

OPT

LIKELY

PESS

EST.

WEIGHING

FP

COUNT

FACTOR

COUNT

Number of
inputs
Number of
outputs
Number of
inquiries
Number of
logical files
Number of
interfaces

external

16

48

external

12

external

internal

21

external

10
Count total 97

FPestimated = Count Total * [0.65 + 0.01*(Fi)]


= 97x (0.65 + 0.01 x1.10 )
= 64.117

2.2 Efforts
Assuming that Average productivity for such a system is 6.5FP/pm i.e. 6.5 functional
points per person month, then the estimates are:
Effort= Total Functional Points/Average Productivity
=64.117 /6.5
= 9.864 pm
i.e. 9.864 person month
Assuming that the cost is Rs.8000/pm i.e. Rs.8000 per person month
Cost =Cost per person month * Effort
= 8000*9.864 = Rs.78913

3. Scheduling
3.1 Schedule table
WORK TASKS
1. IDENTIFY NEEDS AND
BENEFITS
Meet with concerned members
Identify needs and project
constraints
Establish problem statement
Milestone
2.
REQUIREMENT
ANALYSIS
Detailed discussion of the
project
Creating Data flow Diagram
Data Dictionary
Milestone
3.
PROJECT
MANAGEMENT
Computing F.P. and Effort
Schedule table
Risk table
Timeline Chart
Milestone
4. DESIGN ENGINEERING
Architectural Design
Data Design
Pseudo Code
Milestone
5. TESTING

SCHEDULE
Week 1
Week 1
Week 2
Week 2

Week 3
Week 4
Week 5
Week 5

Week
Week
Week
Week
Week

5
6
7
8
8

Week
Week
Week
Week

8
9
9
10

Week 12

3.2 Timeline
W

Work Task
W1
1.Theme
project

of

the

Identify needs and


benefits
Identify

project

constraints
Milestone : Project
statement
defined
2.Specify
product
requirement
Product Perspective
Product functions
User characteristics
General constraints
Milestone : Product
requirements
specified
3.Forming Data Flow
Diagram
DFD Level 0
Data Dictionary
DFD Level 1
Milestone :Data design
complete
4.Project Management
Cost Estimation
Efforts

W
W2

W
W3

W
W4

W
W5

W
W6

W
W7

W
W8

W
W9

W
W10

W
W11

W
W12

Risk Table
Milestone :

5.Design
Engineering
Architectural Design
ER Diagram
Data Design
Milestone : Design
document complete
6.Creating
plans

testing

Milestone : Testing
complete

4. Risk Management
Risks

Category

Probability

Impact

Quality is not maintained

PS

60%

Customer will change requirements

PS

80%

Staff inexperienced

ST

30%

Delivery deadline will be tightened

BU

50%

Lack of cooperation from users

CU

30%

Lack of effective project managing technology

BU

40%

Inadequate estimation of required resources

PS

50%

Loss of database

PS

50%

Developing wrong user interface

DE

70%

PS Product Size

IMPACT VALUES

BU- Business Impact

1.CATASTROPHI

CU- Customer Characteristics

2.CRITICAL

DE- Development environment

3.MARGINAL

ST- Staff Size

4.NEGLIGIBLE

RISK INFORMATION SHEET


RISK ID: DA-AS232

DATE:10/04/14

PROB: 50%

IMPACT:CATASTROPHIC

DESCRIPTION:
Due to various technical reasons or natural calamities, Database of the system may be
lost or damaged.

Refinement:
Subcondition1: Certain check points are recorded in the system periodically
Subcondition 2:As a part of check-pointing ,after every update in the database,
checkpoints are updated which states that the database is updated correctly till that point.

Mitigation/Monitoring:
1. A copy of all the databases must be maintained side by side on a different system. Also, it
must be updated simultaneously.
2.A recovery tool must be designed which could recover the database according to the
checkpoints.
Management
A special team is allocated for the recovery of the database as soon as possible. The secondary
databases which were maintained as a copy must be made primary so that the working of the
software is not affected.

Current Status : 15/04/14:Mitigation steps initiated.

Originator:

Assigned:

5. Design
5.1 System Design

ARS

Retrieve flight details

Enter passenger details

Booking

Retrieve Flight status Retrieve Itinerary

Payment options

Validate payment

Update

Generate itinerary

5.2 Data Design

PNR
Has
Fu
el
_

s
u
rc
ha

rg
e

Fuel_surcharge

Customer
Email_id

Name

Mobi

Time

Origi

Destination

ADF

Flight
Flight_no

Charges
Origin

Itinerary
PNR

Name

Flight_

Passenger
PNR

Names

Payment
Mode

Transaction_id

6. Coding
found=0;
cin>>a;

(1)

if(a=='Y')

(2)

{
gets(fno);

(3)

while(!ifile.eof() && found==0)

(4)(5)

{
ifile.read((char*)&S1,sizeof(detail));

(6)

if(strcmp(fno,S1.flightno)==0)

(7)

(8)
found=1;

}
}
}
else

(9)

{
gets(orig);

(10)

gets(desti);

(11)

while(!ifile.eof())

(12)

{
ifile.read((char*)&S1,sizeof(detail));

(13)

if(strcmp(orig,S1.origin)==0&&strcmp(desti,S1.dest)==0)

(14)

{
found=1;

(15)

}
}
}
exit();

(16)

7. Testing
7.1 Flowgraph

Paths:
Path 1: 1 2 3 4 16

Path 2: 1 2 3 4 5 6 7 8 16
Path 3: 1 2 3 4 5 6 7 4 16
Path 4 : 1 2 9 10 12 16

Path 5: 1 2 9 10 11 12 13 14 15 16
Path 6: 1 2 9 10 11 12 13 14 12 16

3
9

7.2 Cyclomatic Complexity


4

Using Regions: 10

Number of regions = 6
Therefore, cyclomatic complexity = 6

11

Using Edges & Nodes: Number of Edges (E) = 20

12

Number of Nodes (N) =16


V (G) = E N + 2

=20 16 + 2
=6
Therefore, cyclomatic complexity = 6

13
8

Using Predicate Nodes: 165

14

No. Of predicate Nodes (P) =5


V (G) = P+1
=5+1
=6
Therefore, cyclomatic complexity = 6

15

7.3 Test cases


Test Case 1:
When the user enters, Y(to the Ques. that whether he knows the flight no.).
Then the User enters the flight no. ,
Program enters in while loop but the file does not exist or is empty.
& it exits

Test Case 2:
When the user enters , Y(to the Ques. that whether he knows the flight no.).
Then the User enters the flight no.
Then program enters in while loop, searches the whole file & the corresponding flight no. is
found.
& it exits

Test Case 3:
When the user enters, Y(to the Ques. that whether he knows the flight no.).
Then the User enters the flight no.
Then program enters in while loop, searches the whole file but the corresponding flight no. is
not found .
& it exits

Test Case 4:
When the user enters N(to the Ques. that whether he knows the flight no.)
Then the user enters the origin and destination
Program enters in while loop but the file does not exist or is empty.
& it exits.

Test Case 5:
When the user enters N (to the Ques. that whether he knows the flight no.)
Then the user enters the origin and destination

Then program enters in while loop, searches the whole file but the corresponding set of origin
and destination is not found.
& it exits.

Test case 6:
When the user enters N(to the Ques. that whether he knows the flight no.)
Then the user enters the origin and destination
Then program enters in while loop , searches the whole file & the corresponding sets of origin
and destination is found.
& it exits.

8. References

www.google.co.in

Software Engineering: A Practitioners Approach by Roger S.Pressman

An Integrated Approach to Software Engineering by P.Jalote

en.wikipedia.org

S-ar putea să vă placă și