airline management system1
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 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.