Flight Reservation System: Software Requirements Specification (SRS)
Flight Reservation System: Software Requirements Specification (SRS)
Flight Reservation System: Software Requirements Specification (SRS)
1.1 Purpose
This document contains the tests requirements for the FR Project.
Product Manager
Project Manager
Development Team
QA Team
Others
1.5 References
Business Requirement Specifiation
2. Overall Description
2.1 Product Features
2.1.3 Confirmations
The application is send fax confirmations to clients, about new, updates and
cancelled flights.
2.1.7 Reporting
The application supports graphical and text reports of reservations.
2.1.8 Database
The Flight Reservation database is a MS-Access file ( .mdb ).
The database has 2 tables
Flights table
o [PK] Flight_Number – Integer
o Departure_Initials – String( size = 3 )
o Departure – String( size = 30 )
o Day_Of_Week – String( size = 9 )
o Arrival_Initials – String( size = 3 )
o Arrival – String( size = 30 )
o Departure_Time – String( size = 8 )
o Arrival_Time – String( size = 8 )
o Airlines – String( size = 5 )
o Seats_Available – Integer
o Ticket_Price - Currency
3. Requirements
This part of the requirements document serves to present the "big picture" of
the application. Here you lay out the objectives of the application.
3.1 Login
3.1.1 Description
The Login dialog, logs to the Flight Reservation application. A shortcut to the
application demo can be found in
Start Sample Applications Flight.
The user must provide an Agent Name that must be at least 4 characters long
and the Password is always "Mercury". Clicking the OK button will access the
application if requested information is correct.
3.1.2.1 Req0001
Req0001a - User activates the Flight Application executable file from installation
directory plus "\samples\flight\app\flightxx.exe"
Req0001b - immediately afterwards the Dialog "Login" should be displayed .
3.1.2.2 Req0003
User press OK without entering any information.
Req0003a – Popup dialog is displayed.
Req0003b – Popup title "Flight Reservations"
Req0003c – message type: Exclamation
Req0003d – message text "please enter agent name"
3.1.2.3 Req0004
The agent name must be at least 4 characters long.
Req0004a - Popup dialog displayed: True.
Req0004b – Popup title: "Flight Reservations"
Req0004c – message type: Exclamation
Req0004d – message text "Agent name must be at least 4 characters long."
3.1.2.4 Req0005
The password must be at least 4 characters long.
Req0005a - Popup dialog is displayed.
Req0005b – Popup title "Flight Reservations"
Req0005c – message type: Exclamation.
Req0005d – message text: "Password must be at least 4 characters long"
3.1.2.6 Req0007
Wrong “Password” field will trigger a critical popup message
Req0006a – Popup dialog is displayed.
Req0006b – Popup title "Flight Reservations"
Req0006c – message type: Critical
Req0006d – message text: "Incorrect password. Please try again"
3.1.2.7 Req0008
Pressing "Cancel" at any time should close immediately the "Login" dialog
3.1.2.8 Req0009
After 4 bad attempts to login (bad password) the application will trigger an
information message and closed.
Req0009a – Popup dialog is displayed.
Req0009b – Popup title "Flight Reservations"
Req0009c – message type: Exclamation
Req0009d – message text: "Login unsuccessful. Please try again later."
Req0009e – Application is closed.
3.1.3.1 Req0002
User activates the application the first time.
Req0002a - Label "Agent Name" visible: True.
Req0002b - Textbox "Agent Name" text: "", enabled: True, focused : True.
Req0002c - Label "Password" visible: True.
Req0002d - Textbox "Password" enabled: True, text: "".
The system will monitor from this point the price-per-ticket and the total
amount to pay.
In addition the user can select 1 to 10 tickets and a flight class.
In addition the user can get fax confirmation with an optional agent signature.
Req0010
Req0010a – Button "New Order"
enabled: True
icon:
Req0010b – Button "Open Order"
enabled: True
icon is:
Req0010c – Button "Delete Order"
enabled: False
icon is:
Req0010d – Button "Graphs"
enabled: True,
con is:
Req0010e – Button "Reports"
enabled: True
icon is:
Req0010f – Button "Help"
enabled: True
icon is:
Req0012
Req0012a – "Flight No." text: ""
Req0012b – "Departure Time" text: ""
Req0012c – "Arrival Time" text: ""
Req0012d – "Airline" text: ""
Req0013
Req0013a – "File"
Exists: True
Enabled: True
Index: 1
Label: "File"
SubMenuCount: 4
Req0013b – "Edit"
Exists: True,
Enabled: True
Index: 2
Label: "Edit"
SubMenuCount: 3
Req0014
Req0014a – "Order No." text: ""
Req0015
Req0016
Req0016a – List
enabled: True
columns count: 7
Req0016b – Columns
Req0018
Information match:
Req0018a – Dialog
text: "Fax Order No. <num>"
Ispopupwindow: True
Req0018b – Name
text: <Name>
Order: text: <Order>
Flight: text: <Flight>
Date: text: <Date>,
From: text: <Fly From>
Departure text: <Departure Time>
To: text: <Flight To>
Arrival: text: <Arrival Time>,
Class: text: <Class>
# Tickets text: <Tickets>,
Req0020
If Data displayed, selecting "New" button, should clear the form.
However if information updated without saving changes:
Req0020a – Popup dialog is displayed.
Req0020b – Popup title "Flight Reservations"
Req0020c – message type: Question.
Req0020d – message text: "The information has changed. Save changes?"
Req0022
Toolbar "Delete" will be enabled only after open an order.
Req0022 – open an order "Delete" enabled: True
Req0023
Toolbar "Graphs" will open the dialog "Graph"
Req0023 – Graph dialog
exist: True
Req0024
Toolbar "Reports" will open "report.txt" notepad file.
Req0024 – Reports text file
exist: True
Req0025
Toolbar "Help" will open the window "Flight Reservation Help Version.*"
Req0025 – Flight Reservation Help Version .*
exist: True
3.3.2.1 Req0035
Only valid departures cities must be in list "Fly Form" and "Fly To"
Req0035a – Fly From
all items: < all items >
Req0035b – Fly To
3.3.2.2 Req0036
After selecting "Fly From" The "Fly To" field
Req0035a – Fly To
items count : < FlyFrom >.count - 1
Req0035b – Fly To;
< FlyFrom > value is not in the "all items"
3.3.2.3 Req0037
Only after selecting "Fly From" the access to Flights Table will be available.
Req0037a – Button "Flights"
enabled: True.
Req0037b – icon
3.3.2.4 Req0038
All items are ordered by Flight.
Req0038a – List
items count: <items count>
all items: <all items>
selected: <item 0>
3.3.2.5 Req0039
After selecting a flight from "Flights Table"
Req0039a – "Name"
focused: True
Req0039b – "Tickets"
enabled: True
Text: "1"
Req0039c – "Economy"
enabled: True
3.3.2.6 Req0040
After typing a name, tickets or selecting a class
Req0040a – "Insert Order"
enabled: True
Req0040b – "Total"
text: <Price> * <Tickets>
3.3.2.7 Req0041
After pressing "Insert Order"
Req0041a – Application temporally disabled "Flight Reservation
enabled: False
Req0041b – "Insert Order"
enabled: True
Req0040c – "Update Order"
enabled: False
Req0041d – "Delete Order"
enabled: False
Req0041e – "Order No."
3.3.2.8 Req0042
After pressing "Send"
Req0042a – Message "Dialing..."
Req0042b – Message "Connecting..."
Req0042c – Message "Sending Fax..."
Req0042d – dialog "Fax Order No. <x>
Exists: False
Req0042e – progress bar message
text: "Fax Sent Successfully…"
Req0042f – record <n> Field "Send Signature" must be consists.
3.3.2.9 Req0043
After pressing "Send"
Req0043a – dialog "Fax Preview
Exists: False
3.3.3.1 Req0044
User types an invalid month.
Req0044a – Popup dialog is displayed.
Req0044b – Popup title: "Flight Reservations"
Req0044c – message type: Exclamation
Req0044d – message text: "Invalid month Entered.The month must be greater than
01 and less than 12."
3.3.3.2 Req0045
User types an invalid day
Req0045a – Popup dialog is displayed.
Req0045b – Popup title: "Flight Reservations"
Req0045c – message type: Exclamation
Req0045d – message text: "Invalid day Entered. The date should be valid for the
given month."
3.3.3.3 Req0046
User type an invalid year (valid 2007-2038).
Req0046a – Popup dialog is displayed.
Req0046b – Popup title: "Flight Reservations"
Req0046c – message type: Exclamation
Req0046d – message text: "Invalid year Entered.
The year must be greater than 2007 and less than 2038.
3.3.3.4 Req0047
3.3.3.5 Req0048
User select "Fly From" without "Date of Flight"
Req0048a – Popup dialog is displayed.
Req0048b – Popup title: "Flight Reservations"
Req0048c – message type: Information
Req0048d – message text: "Please enter a flight date"
3.3.3.6 Req0049
User select "Fly To" without "Fly From"
Req0049a – Popup dialog is displayed.
Req0049b – Popup title: "Flight Reservations"
Req0049c – message type: Information
Req0049d – message text: "Please enter a fly 'from' city."
3.3.3.7 Req0050
Valid number of tickets between 1 and 10, The user types an amount greater
than 10.
Req0050a – Popup dialog is displayed.
Req0050b – Popup title: "Flight Reservations"
Req0050c – message type: Critical
Req0050d – message text: "Only ten tickets may be ordered at one time"
4. User Challenge
This part of the requirements document is for students that want to go forward and
complete the whole project.
4.1.1.1 Req0019
Information match:
Req0019a – Dialog; Ispopupwindow: True
Req0019b – Fax # = < faxNo >
Req0019c – Customer = < customer >
Req0019d – Flight Date = < flightDate>
Req0019e – Flight No. = < flightNo >
Req0019f – From = < flyFrom >
Req0019g – To = < flyTo >
Req0019h – Departure = < departure >
Req0019i – Arrival = < arrival >
Req0019j – Airline = < airline >
Req0019k – Class = < class >
Req0019l – # Tickets = < tickets >
Req0019m – Agent = < agent >
Req0019n – Price = < price >
Req0019o – Total = < total >
4.2 Menu
4.2.1 Functionality
4.2.1.1 Req0026
If Data displayed, selecting "File; New" menu item, should clear the form.
However if information updated without saving changes:
Req0026a – Popup dialog is displayed.
Req0026b – Popup title "Flight Reservations"
Req0026c – message type: Question.
Req0026d – message text: "The information has changed. Save changes?"
4.2.1.2 Req0027
If Data displayed, selecting "File; New" menu item, should clear the form.
However if information updated without saving changes:
Req0026a – Popup dialog is displayed.
Req0026b – Popup title "Flight Reservations"
Req0026c – message type: Question.
Req0026d – message text: "The information has changed. Save changes?"
4.2.1.4 Req0029
If "File; Fax Order" is enabled it should open the "Fax Order No. x" Dialog,
where "x" is the currently opened reservation.
Req0029a – "Fax Order No. x"
exist: True
Req0029b – "x"; currently opened reservation. < orderNo >
4.2.1.5 Req0030
Menu item "File; Exit" should close application
4.2.1.6 Req0031
Menu item "Analysis; Graphs" will open the dialog "Graph"
Graph dialog exist: True
4.2.1.7 Req0032
Menu item "Analysis; Reports" will open "report.txt" notepad file.
Reports text file exist: True
4.2.1.8 Req0033
Menu item "Help; Contents" will open the window "Flight Reservation Help
Version.*"
Flight Reservation Help Version .*
exist: True
4.2.1.9 Req0034
4.3.1.1 Req0051
Click on "Cancel" button will close dialog.
Req0041 – "Fax Order No. <x>"; Exists: False
4.3.1.2 Req0052
Clear Signature Button will erase the signature.
Req0042 – Agent Signature; bitmap:
4.3.1.3 Req0053
User Clicks Send or Preview Fax with empty fax number or less than 10
digits.
Req0043a – Popup dialog is displayed.
Req0043b – Popup title "Flight Reservations"
Req0043c – message type: Critical
Req0043d – message text "Please complete the fax number."
4.3.1.4 Req0054
User Clicks Send or Preview Fax with checked field "Send Signature with
order" and without signature.
Req0043a – Popup dialog is displayed.
Req0043b – Popup title "Flight Reservations"
Req0043c – message type: Critical
Req0043d – message text "Please sign the fax."
4.4.1.1 Req0055
Req0055a – Button "OK"
enabled: True
Req0055b – Static "Version" text: "Version 4.0"
Req0055a – Icon:
Req0055a – image
4.5.2.1 Req0056
Req0056a - Check only "Customer Name" option.
"Customer Name" field
enabled: True
focused: True
"Flight Date" field
enabled: True
"Order No" option
enabled: False
"Order No" field
enabled: False
Req0056b - Check "Order No" option
"Order No" field
enabled: True
focused: True
4.5.2.2 Req0057
4.5.3.1 Req0058
Trying to open a non-existing order No. will display a critical message
Req0058a – Popup dialog is displayed.
Req0058b – Popup title "Flight Reservations"
Req0058c – message type: Critical
Req0058d – message text "Order Number < OrderNo > does not exist"
4.5.3.2 Req0059
Trying to open a non-existing Customer Name will display a critical message
Req0059a – Popup dialog is displayed.
Req0059b – Popup title "Flight Reservations"
Req0059c – message type: Critical
Req0059d – message text "No order found. Please try again "
4.5.3.3 Req0060
Trying to open a non-existing "Flight Date" will display a critical message
Req0060a – Popup dialog is displayed.
Req0060b – Popup title "Flight Reservations"
Req0060c – message type: Critical
Req0060d – message text "No order found. Please try again "
4.7 Reporting
4.7.1 Description
The flight application supports two report mechanism
1.Textual Report
2.Graphical Report
4.7.2.1 Req0061
Req0061a – Dialog
ispopupwindow: True
Req0061b – "Style"
Exists: True
Enabled: True
Index: 1
Label: "File"
SubMenuCount: 4
Req0061c – "Style; 2D Bar"
Exists: True
Enabled: True
Label: "2D Bar Graph"
HasSubMenu: False
Req0061d – "Style; 3D Bar"
Exists: True
Enabled: True
Label: "3D Bar Graph"