Lab FAT
Lab FAT
Software Engineering
Course Code: CSE3001
Slot: L13+L14
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.
The airline booking website is an application stored in the user server. The purpose of the
website is to resolve the client to allow website users to perform tasks related to booking
an airline flight. Non-member users are only allowed to search for available flights;
nonmember users are required to create an account to reserve a seat or to book a flight.
Member users have the right to search for available flights, to reserve a seat, to book a
flight, cancel a flight and to edit their member information. Member users are required to
login into their account prior to flight booking.
2. Overall Description
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: A user who wishes to purchase flights and use advanced features,
must be logged in. However, without enrollment, a user can never be
a member. This section offers all users a chance to become a member.
Rationale: The heart of the business is selling seats on flights. This section
provides the primary source of system transactions.
The system shall display available seats for the departing and
returning flights booked by the user. The user selects seats 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.
Rationale: 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.
Description: This section shall allow the user – whether enrolled or not – to view flight
information that matches input criteria. The user will provide:
1. A flight number and Date OR
2. Departing/Arriving Cities and Date.
The system will display matching flight information including the
following fields:
• Flight Number
• Departure City
• Arrival City
• Status (one of the following) o In Flight o At the Gate
o Delayed o On Time
Rationale: Users will want to query the system to find flight information, even if
they’re 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 company’s value.
The system shall define a “matching” flight as one that uses the
departure/arrival cities at a flight time greater or equal to the time
provided by the user. Otherwise, the system shall alert the user
that no matching flights can be found.
Rationale: A customer will want to book flights based on his/her travel plans.
This section provides the user a choice of available flights from
which to pick.
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: A customer’s information changes from time to time. Giving the
users a way to modify their account information allows the
business to have current & updated information.
2.2.8 Logout
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: Customers often use shared computers. Providing a way to clear state
and log-out gives our customers confidence that nobody else will use
their flight-booking session.
• 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.
3.System Features
This section provides detailed requirements for the website design, including functional
requirements.
3.1 General Requirements
3.1.1 Login
Description and Priority: This function allows a registered user to login his account
using his frequent flyer number with the airline and password.
If a user is not registered, the website should allow the user to
enroll first. The system will check both the frequent flight
number and password, when a user attempts to login.
Destination: The outputs are displayed on the screen as well as stored in the
system.
Requires: The user provides login information including frequent flyer
number and password.
Pre-Conditions: User is not logged in to system. User has previously enrolled
in system.
Post-Conditions: User is logged in to system, OR user is not logged in because
he/she entered unrecognized information.
Side-Effects: None
3.1.2 Enrollment
Description and Priority: This function allows unregistered user to enroll and to
create a new account with the website. 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.
Source: All data except the frequent flyer number are inputs from the
user. The frequent flyer number is from the system store.
Outputs: Frequent Flyer Number
Post-Conditions: A user account is created and the user is able to access all
functionalities provided by the function “My Account” (refer
to 3.1.7)
Side-Effects: None
Stimulus-Response:
Stimulus/Response:
4. The user confirms the seat selections on the 5. Once confirmed, the seats are removed
screen. from available seats and are applied to
the user account. The user is shown a
final confirmation screen which displays
selected seats and account information.
3.1.4 Reserve Seats
Description and Priority: 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 user’s previous bookings. These
bookings were previously completed through the Book
Flight function (SEE 2.2.3).
Stimulus/Response:
Pre-Conditions: None.
Side-Effects: None
Pre-Conditions: None
3.1.7 My Account
Description & Priority: 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: Account changes, if any, made by the user. Account changes
include updates on first name, last name, email address,
mailing address, password or phone numbers.
Source: All data are inputs from user.
Output: None.
Source: N/A
Side-Effects: The system clears the session state for the user once logout is
complete.
• 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.
5.2 Security Requirements
• 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).
5.3.1 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.