Software Requirements Specification: Version 1.1 Approved
Software Requirements Specification: Version 1.1 Approved
Specification
for
Copyright 2002 by Karl E. Wiegers. Permission is granted to use, modify, and distribute this document.
Page ii
Table of Contents
1. Introduction ............................................................................................................................................1
1.1 Purpose......................................................................................................................................................... 1
1.2 Document Conventions ................................................................................................................................ 1
1.3 Intended Audience and Reading Suggestions .............................................................................................. 1
1.4 Project Scope ............................................................................................................................................... 1
1.5 References .................................................................................................................................................... 1
3. System Features......................................................................................................................................6
3.1 General Requirements.................................................................................................................................. 6
3.1.1 Login
6
3.1.2 Enrollment 7
3.1.3 Book Flights 9
3.1.4 Reserve Seats ..............................................................................................................................................10
3.1.5 Flight Status 12
3.1.6 Flight Schedule ...........................................................................................................................................12
3.1.7 My Account 13
3.1.8 Account Log out ..........................................................................................................................................14
6. Appendix A: Glossary..........................................................................................................................17
Revision History
Name
Date
Version
Page 1
1. Introduction
1.1 Purpose
This SRS document presents a detailed description of the Airline Flight Booking system,
version 1.0. It represents the client requirements analysis that defines the functional and nonfunctional requirements of the airline website and its different functionalities. It defines the
abilities, reactions from stimuli, guidelines and limitations of the system. This document will
be complete in its scope of the system and the functions required. The system provides a
solution to allow the user to search for flights satisfying the user criteria, to reserve seats, to
manage the user account, and to book a flight.
1.5 References
- Pressman, Roger S. Software Engineering: A Practitioners Approach. New York, NY:
McGraw-Hill, 2005.
- Lecture slides
Page 2
2. Overall Description
2.1 Product Perspective
This project represents the initial version of the Airline Booking system. All requirements
listed herein describe a self-contained system. At a high level, this project will allow a user
to book flights, check flights, do account maintenance, and query flight information. The
goal is to allow customers greater and easier access to the airlines booking system, twentyfour hours a day.
2.2.2 Enrollment
Description: This function allows unregistered user to enroll and to create a new
account with the website. In order to create a new account, the user
has to provide required information such as first name, last name,
email address and password. Other optional information, such as
phone number, credit card information and mailing address, can be
provided during the registration process.
The system checks if all required data are provided and then will
prompt the user to enter additional information, if required. After all
required information is provided, the system auto-generates a unique
frequent flyer number that the user must use as username for future
authentications. The system shall auto-generate this number in less
than five seconds.
Rationale:
Page 3
Customers prefer to know where their seats are located. Further, they
prefer to pick out particular seats closer to the front, window seat,
aisle seat, etc.
From that point, the seats are removed from available/unreserved
seats and the users booking is linked to those particular seats. If the
user fails to reserve a seat prior to flight takeoff, the user is randomly
assigned a seat from available seats a 30 minutes prior to initial takeoff time. This function is offered immediately after booking the user
can wait and use the function to book seats anytime after up until 30
minutes prior their flight
Rationale:
Page 4
Flight Number
Departure City
Arrival City
Status (one of the following)
o In Flight
o At the Gate
o Delayed
o On Time
Users will want to query the system to find flight information, even if
theyre not at an airport (e.g., on their mobile phone). By making this
information available through the web site, we can provide an extra
service to the customer and increase our companys value.
2.2.7 My Account
Description: This section gives the user the power to view, save, edit or delete the
information stored in his/her account. The user can check his/her
accumulated points, look at the status of a flight that was booked,
cancel a flight that was already booked (optional) and change his/her
address, phone number, email or password. This feature is not
available for non-registered user.
Rationale:
2.2.8 Logout
Page 5
Description:
The Logout section provides a way for the user to securely log out of
the system. This process will save all user operations when he/she
exits the system. If a user wishes to continue accessing the website,
he/she must log-in again to access user features.
Rationale:
User
o Has properties like Name, Address, Age
o Associated with Flight Miles accumulated and Credit Card information.
Flight
o Has properties like Departing/Arriving City, Departure/Arrival dates and
times, Miles, and an identifying Flight Number.
Flight Seat
o Has properties of identifying seat number, reserved and flight number
o Associated to Flight by flight number
.
Our user may be associated with multiple flights, and many users may be associated with
any particular flight. Thus, a many-to-many relationship exists through the act of booking
flights.
Flights are associated to many Flight Seats. Each Flight Seat is only attached to one Flight.
So, this is a one-to-many relationship
The flight is but an object to be acted upon, so careful emphasis should be placed on
satisfying the user in his/her booking experience. The user is our primary customer.
Page 6
3.System Features
This section provides detailed requirements for the website design, including functional
requirements.
Inputs:
Source:
Outputs:
Destination:
Requires:
Pre-Conditions:
Post-Conditions:
Side-Effects:
None
Page 7
Use Case:
3.1.2 Enrollment
Description and Priority:
Inputs:
Page 8
All data except the frequent flyer number are inputs from the
user. The frequent flyer number is from the system store.
Outputs:
Destination:
Pre-Conditions:
The user must not have an existing account with the website.
Post-Conditions:
Side-Effects:
None
Stimulus-Response:
User Action
System Application
1. The system shows a list of
required data that must be
provided by the user in
order to create a new
account
3. The system checks if all
required information have
been provided by the user.
If a required data is
missing, the system
prompts the user to provide
the specific data in order to
process the account
creation.
4. When every required data
is provided, the system
creates an account and
auto-generates a unique
flyer number that must be
used as a username for
future authentication. The
system also sends the user
account information,
including the flyer number,
to the email address
provided by the user during
Page 9
The user can use the Book Flights function to purchase seats
for an airplane flight. The system shall present the user with
information on all current flights. The user may then select a
pair (departure and return) of flights on which to purchase
seats. The user can indicate the number of seats and placement
of such. Finally, the system shall guide the user completely
through the checkout process.
Inputs:
Source:
Output:
Destination:
Pre-Conditions:
The user must have an account with the website and must be
logged in.
Post-Conditions:
Side-Effects:
Stimulus/Response:
User Action
System Application
1. The systems checks to see if the
user is logged in, if not then the
systems require the user to login.
The system shows the user a list of
their already booked flights and the
available seats for those flights.
3. The system checks if the selected
seats are still available. If they are
Page 10
Activity Diagram:
Selection
START
Logged In
Viewing
Unreserved
Seats
(Step1)
Confirmation
(Step3)
Selection Rejected
Login
Incorrect
Login
Seats Confirmed
Confirm
Selected
Seats
(Step2)
Incorrect
Selection
Incorrect
Selection
The user can use the Reserve Seat function to reserve seats for
an airplane flight. The seats to be reserved are initially found
through the users previous bookings. These bookings were
previously completed through the Book Flight function (SEE
2.2.3).
The system shall display available seats for the departing and
returning flights booked by the user. The user selects seats
Page 11
from each flight, where the number of selected seats from each
flight is the number that the user booked on that particular
flight. Once the flight seats are selected, the user confirms the
seat selection.
Inputs:
Source:
Outputs:
Selected Seats
Destination:
Pre-Conditions:
The user must have an account with the website and must be
logged in. The user must also have previously booked flights
without seats reserved, either by user or system.
Post-Conditions:
Side-Effects:
Stimulus/Response:
User Action
System Application
1.The systems checks to see if the user
is logged in, if not then the system
requires the user to login. The
system shows the user a list of all
flights with open seats that match
their requirements.
3.The system checks if the selected
flight(s) has their desired number of
seats still available. If they are, the
system indicates to the user that their
flight is in the process of being
booked and they must now complete
payment. If there aren't enough
seats, the system notifies the user
which flights were full, and returns
the user to the beginning of the
function.
5.If payment is successfully confirmed,
the flight is updated with the new
Page 12
Inputs:
Source:
Outputs:
Destination:
Pre-Conditions:
None.
Post-Conditions:
Side-Effects:
None
o
o
o
o
Page 13
Flight Number
Departing City & Date/Time
Arriving City & Date/Time
Number of Available Seats
Source:
Outputs:
Destination:
Pre-Conditions:
None
Post-Conditions:
Activity Diagram:
3.1.7 My Account
Page 14
This section gives the user the power to view, save, edit or
delete the information stored in his/her account. The user can
check his/her accumulated points, look at the status of a flight
that was booked, cancel a flight that was already booked
(optional) and change his/her address, phone number, email or
password. This feature is not available for non-registered user.
Inputs:
Source:
Output:
None.
Destination:
Pre-Conditions:
The user must have an account with the website and must be
logged in prior to access his/her account.
Post-Conditions:
The Logout section provides a way for the user to securely log
out of the system. This process will save all user operations
when he/she exits the system. If a user wishes to continue
accessing the website, he/she must log-in again to access user
features.
Inputs:
None.
Source:
N/A
Outputs:
Destination:
Pre-Conditions:
Post-Conditions:
Side-Effects:
The system clears the session state for the user once logout is
complete.
Page 15
The Airline Website shall have capabilities to accept 500 connections. For each session,
system shall guarantee the connection time 5 minutes from last input, after which the
connection will be deemed expired. A close operation will be performed when expired. This
design is to satisfy each users usability and connection quality.
The system shall send out verification request immediately (within 100ms) after the it
receives a user submitted form.
The system shall update all flight status information every 5 minutes.
Passwords must be a minimum of eight characters and must contain one to seven digits.
Email addresses should be verified before the system grants user access. This verification
shall be exercised by sending the prospective user a confirmation email after enrollment.
This email must contain information specific to completing the enrollment process.
All exchanges from client to server involving private data shall occur using the highest
available level of secure connection (e.g., https).
Page 16
Usability:
The airline website design shall allow deployment on both Windows and UNIX
(Linux) servers. The design should support Windows Server 2003, Linux 2.6.x, V10
UNIX and later.
5.3.2 Robustness:
The system design shall include recovery scenarios allowing the ability to restore a
state no older than one business day old.
Page 17
6. Appendix A: Glossary
Authentication
Cached
CSS
Database
Dynamic Links
Encryption Algorithm
HTTP
Hyper Links
Input Criteria
Query or Queries