airline management system1

55
A REPORT ON AIRLINE RESERVATION SYSTEM DONE BY MANISHA GAUTAM Roll no. 2634 B.Sc.(H)Comp.Sc. (4 th SEMESTER)

Upload: vishal-gothal

Post on 26-Mar-2015

350 views

Category:

Documents


4 download

TRANSCRIPT

A REPORT

ON

AIRLINE RESERVATION SYSTEM

DONEBY

MANISHA GAUTAM Roll no. 2634

B.Sc.(H)Comp.Sc.(4th SEMESTER)

DEPARTMENT OF COMPUTER SCIENCEDELHI UNIVERSITY

APRIL 2007

A REPORT

ON

AIRLINE RESERVATION SYSTEM

PREPAREDFOR

PAPER NO.402 SOFTWARE ENGINEERING

DONEBY

MANISHA GAUTAM Roll no. 2634

B.Sc.(H)COMP.Sc.(4th SEMESTER)

Mrs. KAVITA RASTOGI. (COURSE COORDINATOR).

DEPARTMENT OF COMPUTER SCIENCEDELHI 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. iTitle page. iiCertificate. iiiAcknowledgement. ivContents. v

1.Existing System2.Problem Recognition3.Proposed System

3.1 Inputs3.2 Outputs3.3 System Description3.4 Functions performed

4. Process Model5.Team Structure6. Feasibility Description7. Requirement Analysis

7.1 FAST Approach7.2 QFD (Quality Function Deployment)7.3 Use-Case

8. Analysis Modeling8.1 Data Modeling

8.11 ERD for Existing System8.12 ERD for Proposed System

8.2 Functional Modeling8.21 Data-Flow Diagram

8.3 Data Dictionary

9. Software Measurement10. Project Scheduling 11. Time-Line Chart 12. Design Concepts13. Architectural Design 14. Software Quality Assurance 15. Risk Analysis and Management16. Software Testing17. 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 City5. Ticket number (for cancellation)6. Credit Card Number. 7. Card Verification number8. 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 details4. 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

Software requirement analysis

Design

Code

Testing Support

System Engineering

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. 2. Searching passenger history.

3. Ticket generation. 4. Generating and saving the flight information.

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 CaseUse 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.

State- TransitionDiagram

EntityRelationDiagram

DataFlow

diagramDataDictionary

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)

Plane Type

has

Typeid

Airline staff

Fare details

No. of seats

Flight

Flight no.

Status

Week days

Departure city

Arrival city

No. of available seats

Ticket

Provides

purchased

Passenger

Handles data

Age

Status

No.

Booking date

Fare details

Name Sex

Contact details

TYPE ID

PLANE TYPE

Departure City

No. Of Booked Seats

Flight Status

Week Days

Name

Sex

FARE DETAILS

NO. OF SEATS

CONTAINS

FLIGHT

FLIGHTNo.

Arrival City

Context-Level DFD

Airline Reservation/Cancellation System

Reserve

Cancelled ticket

Generates

Flight Information

Request to Reserve/cancel

CUSTOMER

FLIGHT

WAITING LIST

REFUND

TICKET

PASSENGERAge

Contact Details

Ist-Level DFD

RESERVATION

1

Request to reserve

CANCELLATION

2

CANCEL FLIGHT 3

CUSTOMER

CUSTOMER

FLIGHT INFORMATION

UPDATES

FLIGHT DETAILS

FLIGHT DETAILS

Request to cancel

CANCELLEDTICKET

GENERATES

RESERVE

TICKET

WAITING LIST

REFUND

IInd Level DFD

FLIGHT STATUS

FLIGHT

CHECK AVAILABILITY OF SEATS

1.1

PASSENGER’SINFORMATION COLLECTION

1.2

PAYMENT MADE

1.3

ISSUE TICKET

1.4

TICKET

CUSTOMER

FLIGHT INFORMATION

FLIGHT DETAILS

UPDATING NUMBER OF SEATS

SEATS NOT AVAILABLE

RESERVE

RESERVATION CONFIRMATION

PASSENGER’S INFORMATION

PASSENGER’S DETAILS SEATS

AVAILABLE

REQUEST TO RESERVE

PACKAGE INFORMATION

IIIrd Level DFD

WAITING LIST UPDATION 1.5

WAITING LIST

GENERATES

RESERVATION NUMBER ENQUIRY 2.1

PASSENGER’S INFORMATION VERIFICATION

2.2

PASSENGER’S INFORMATION

FLIGHT INFORMATION

INFORMATION PROCESSED

2.3

REFUND

CHECK

REQUEST TO CANCEL

CUSTOMER

INFORMATION RETRIEVAL

UPDATING SEATS COUNT

PASSENGER’S DETAILS

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 Datename 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 = monthyy = year

REFUNDING PROCEDURE

2.4 REFUND

CANCELLED TICKET

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 MetricsFunction 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 5Data communication 5Distributed processing 4Performance critical 3Existing operating environment 4On line data entry 1Input transaction over multiple screen 1Master files updated on line 1Information domain values complex 2Internal processing complex 2 Code designed for reuse 4Conversion/installation in design 4Multiple 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 development

Product

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

Stability of requirements4 1.2 1 4.8

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(TSS)

3.19

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 project2. Requirements are fully understood3. End users have realistic expectations4. The project scope is stable5. Project Requirements are fully stable6. The project team is inexperienced with the technology to be implemented7. 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:

RisksCategory Probability Impact RMMM

Size estimate may be significantly low

PS 40% 2 Ensure that requirements are clearly understood

Choose appropriate sizing technique to determine the software size

Delivery deadline may be tightened

BU 80% 2 Schedule made should be realistic and achievable

Monitor that efforts put are according to schedule

Number of people may be inadequate to do the job

PS 60% 2 Assign backup staff member as third party for testing and review

Customer will change requirements

PS 10% 1 Update the employers 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

feedbackEnd user may resist the system

BU 40% 1 Involve the end users 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