CS 4311
2001 CS 4311
Flight Planning and Management System
Software Requirements Specification Version <1.0>
2/20/2015
Software Requirements Specification
Software Requirements Specification
Date
2/20/2015 10:07 AM
Page
ii
Document Control
Approval
The Guidance Team and the customer shall approve this document.
Document Change Control
Initial Release: 1.0
Current Release: 1.0
Indicator of Last Page in Document: *
Date of Last Review: 2/16//2015
Date of Next Review: 3/16/2015
Target Date for Next Update: 3/16/2015
Distribution List
This following list of people shall receive a copy of this document every time a new version of this document
becomes available:
Guidance Team Members:
Dr. Ann Gates
Elsa Tai
Yadira Jacquez
Customer: Dr. Calvin Han
Software Team Members:
CS 4311
Change Summary
The following table details changes made between versions of this document
Version Date Modifier Description
1.0 1/13/2015 Yadira Jacquez Initial version
Software Requirements Specification
Software Requirements Specification
Date
2/20/2015 10:07 AM
Page
iii
TABLE OF CONTENTSDOCUMENT CONTROL ................................................................................ II
APPROVAL.................................................................................................................................................... II
DOCUMENT CHANGE CONTROL ................................................................................................................... II
DISTRIBUTION LIST ...................................................................................................................................... II
CHANGE SUMMARY ..................................................................................................................................... II
1. INTRODUCTION ................................................................................................................................. 4
1.1. PURPOSE AND INTENDED AUDIENCE ................................................................................................ 4
1.2. SCOPE OF PRODUCT .......................................................................................................................... 4
1.3. DEFINITIONS, ACRONYMS, AND ABBREVIATIONS ............................................................................. 4
1.3.1. Definitions ............................................................................................................................... 4
1.3.1. Acronyms ................................................................................................................................. 7
1.3.2. Abbreviations ........................................................................................................................... 7
1.4. OVERVIEW ....................................................................................................................................... 7
1.5. REFERENCES .................................................................................................................................... 8
2. GENERAL DESCRIPTION ................................................................................................................. 8
2.1. PRODUCT PERSPECTIVE .................................................................................................................... 8
2.2. PRODUCT FEATURES ........................................................................................................................ 9
2.3. USER CHARACTERISTICS ................................................................................................................ 10
2.4. GENERAL CONSTRAINTS ................................................................................................................ 10
2.5. ASSUMPTIONS AND DEPENDENCIES ................................................................................................ 10
3. SPECIFIC REQUIREMENTS ........................................................................................................... 11
3.1. EXTERNAL INTERFACE REQUIREMENTS ......................................................................................... 11
3.1.1. User Interfaces ...................................................................................................................... 11
3.1.2. Manage Flight Plans Screen ................................................................................................. 14
3.1.3. Manage Resources ................................................................................................................. 14
3.1.4. Start Flight ............................................................................................................................. 17
3.1.5. Google Glass Screen ............................................................................................................. 17
3.1.6. Hardware Interfaces .............................................................................................................. 18
3.1.7. Software Interfaces ................................................................................................................ 18
3.1.8. Communications Interfaces ................................................................................................... 18
3.2. BEHAVIORAL REQUIREMENTS ........................................................................................................ 18
3.2.1. Same Class of User ................................................................................................................ 18
3.2.2. Related Real-world Objects ................................................................................................... 18
3.2.3. Stimulus ................................................................................................................................. 21
3.2.4. Related Features .................................................................................................................... 26
3.2.5. Functional .............................................................................................................................. 26
3.3. NON-BEHAVIORAL REQUIREMENTS ................................................................................................ 26
3.3.1. Performance Requirements ................................................................................................... 26
3.3.2. Qualitative Requirements ...................................................................................................... 26
3.4. OTHER REQUIREMENTS .................................................................................................................. 26
Software Requirements Specification
Software Requirements Specification Date
2/20/2015 10:07 AM
Page
4
1. Introduction
1.1. Purpose and Intended Audience
The purpose of this document is to outline the requirements, both functional and non-functional, of the Flight
Planning and Management System. The document serves as a communication medium and a contract between
the developers and the stakeholders; the system must adhere to all the requirements that are listed. The intended
audience for this document includes Dr. Han, the guidance team, the software engineering team, and all other
entities who may have an interest in the FPMS.
1.2. Scope of Product
The software product to be developed is the Flight Planning and Management System (FPMS). The software is
intended to address the pilot’s problem of having to look away from the trajectory to view information that can
help guide him or her during flights on the iPad. The customer identified an additional need for the system to
assist in flight planning and management of an aircraft from a departure airport to an arrival airport.
The FPMS has the potential to improve safety by displaying in-flight information on the Google Glass directly
to the pilot’s sight. The Google Glass is a device that can communicate with the iPad; therefore, there is no need
to create new hardware or develop an interface for communication between the iPad and the Google Glass.
The software will provide the following capabilities to the pilot:
• create and edit flight plans prior to a flight
• support decision-making in case of a reroute during flight
• track in-flight status of relevant information in real-time
• maintain a repository with information that can be used in defining new flight plans or rerouting during
flights.
Ultimately, the system only provides decision making support to the pilot. It is capable of suggesting flight
plans and generating alerts if it detects that a reroute is needed, but the pilot decides which flight plan to use and
whether or not to reroute. However, the system will ensure that any decision made by the pilot does not conflict
with other flight plans created by different pilots by utilizing an external system to approve flight plans. In
providing in-flight information or any information relevant to creating a flight plan, the system is not
responsible for generating data. It will gather in-flight data, such as weather information and aircraft location,
from other devices that are part of the larger system it is embedded into. Additional data that is taken into
considered when creating a flight plan, such as aircraft characteristics and waypoint information, is acquired
from external resources. The FPMS will only manipulate the data as needed to present the information in the
correct format to the pilot.
1.3. Definitions, Acronyms, and Abbreviations
1.3.1. Definitions
Active Flight Plan A flight plan for which the departure date has not passed.
Aircraft Performance
Characteristics
The characteristics of different aircraft, including altitude, speed, and other relevant
information, typically stored in XML documents.
Airspeed The rate of the aircraft’s progress through the air.
Altitude The height of an object or point in relation to sea level or ground level.
Software Requirements Specification
Software Requirements Specification Date
2/20/2015 10:07 AM
Page
5
Bluetooth Short-range wireless interconnection of cellular phones, computers, and other
electronic devices.
Coordinates Latitude and longitude.
Card A rectangular interface in the Google Glass device that displays relevant
information.
Flight mode The mode in which the system displays flight-support information to the user; this
is the mode where the Google Glass system is used with the tablet application.
Flight mode takes place while the user is piloting their aircraft and ends when they
reach their destination.
Flight Plan A document that is filed by the pilot to the FAA. The document contains
information such as departure location, waypoints, estimated time of arrival,
destination location, alternate airports, aircraft information, and the pilot’s
information.
ForeFlight An application that includes moving maps with VFR/IFR charts, approach charts,
provides information on weather maps, complete airport data, flight plan filing,
includes a document view feature that lets the pilot include any PDF or image to
view in flight or on the ground and a whole lot more that is used for pilots on the
iPad.
Garmin GDL 39 The device provides real time subscription free weather, updates for the pilot via
Bluetooth and works for either Android or iOS. The device does not require a
network connection and receives weather updates through a WAAS GPS receiver.
The device provides GPS coordinates weather information NEXRAD radar,
METARs, TAFs, winds and temperatures, PIREPs, and NOTAMs.
Garmin Pilot An application specifically for general aviation and corporate pilots. This
comprehensive app includes all digital charts, flight, en-route charts to approach
plates, plus detailed airport data, flight planning, interactive maps, weather briefing
resources and navigation capabilities.
GoGo Inc. It is a provider of in-flight Internet connectivity and wireless in-cabin digital
entertainment solutions in the United States and internationally for commercial and
business aircraft. The company uses a variety of advanced technologies to keep
connected in the air such as ATG network and satellite-based technologies that
offer a suite of connectivity solutions and other services.
Google Glass A wearable, voice-controlled device that resembles a pair of eyeglasses and
displays information directly in the user’s field of vision. The device can be
connected to other devices such as smart phones, and tablets that offer many
features.
Ground Speed The rate of the aircraft’s flight mode progress over the ground.
Knowledge Base A repository or database that is stored within the FPMS.
Pre-flight mode The mode in which the system gathers information necessary to enter flight mode.
Pre-flight mode takes place after the user logs into the system and before the user
pilots their aircraft.
Post-flight mode The mode in which information gathered during flight mode is displayed to the
user, in addition to information regarding future flights. Post-flight mode takes
place after the user reaches their destination and ends when the user logs out.
Software Requirements Specification
Software Requirements Specification Date
2/20/2015 10:07 AM
Page
6
Smart Device Any device running iOS or Android operating systems.
GPS Satellite navigation system that provides location and time information in all
weather conditions.
iFlightPlanner Provides IFR/VFR aviation charts to plan and explore flight routes, and true route
rubber banding on Google Maps interface. They also provide en-route aviation
weather, including RADAR, colored-coded, translated graphical views (METARs
and TAFs formats).
IFR Flight rules will be through instruments rather than visual reference.
iOS An operating system used for mobile devices manufactured by Apple Inc.
iPad A mobile device that is bigger than a smart phone but smaller than a laptop for
entertainment multimedia.
Latitude The angular distance of a place north or south of the earth's equator, or of a celestial
object north or south of the celestial equator. Latitude is stored as a decimal.
Longitude The angular distance of a place east or west of the meridian at Greenwich, England,
or west of the standard meridian of a celestial object. Longitude is stored as a
decimal.
Military time A method of measuring the time based on the full twenty-four hours of the day
rather than two groups of twelve hours; the twenty-four-hour clock.
Nautical miles A unit of distance that is approximately one minute of arc measured along any
meridian.
Radar A system for detecting the presence, direction, distance, and speed of aircraft, ships,
and other objects, by sending out pulses of high-frequency electromagnetic waves
that are reflected off the object back to the source.
Resources Waypoints, maps, and routes.
Route Collection of waypoints with a departure and a destination airport.
Stratus ADS-B The device provides air-to-air ADS-R, and TIS-B traffic information, as well as
subscription free ADS-B weather information. The weather service includes the
following features METARs, TAFs, animated regional Next Generation Radars
(NEXRAD and CONUS NEXRAD), NOTAMs, AIRMETs, SIGMETs, TFRs,
wind and temperature, and PIREPs.
Target Generation
Facility
FAA supplied simulator that provides information about current flights or
registered flight plans.
Time zones Pacific, Mountain, Central, and Eastern
Topological Map A georeferenced map that displays only vital elements.
Topographic Map A type of map that shows details including natural and man-made features.
True Course The intended path of an aircraft over the ground.
Universal Time
Coordinated
Primary time standard by which the world regulates clocks and times.
Use Case The use case describes interactions between an actor (s) and a system, to achieve a
goal.
Waypoint A stopping point that is along a route in which a set of coordinates identify a point
Software Requirements Specification
Software Requirements Specification Date
2/20/2015 10:07 AM
Page
7
in physical space. The coordinates are usually given by longitude and latitude.
WingX It is a valuable tool for both pre-flight planning and in-flight situational awareness.
1.3.1. Acronyms
This section lists the acronyms used in this document and their associated definitions.
TERM DEFINITION
ADS-B Automatic Dependent Surveillance – Broadcast
ATC Air Traffic Control
ID Identification
IFR Instruments Flight Rules
ETA Estimated Time of Arrival
ETD Estimated Departure Time
ETE Estimated Time Enroute
FAA Federal Aviation Administration
FPMS Flight Planning and Management System
GPS Geographic Positioning System
GUI Graphical User Interface
METAR Meteorological Terminal Aviation Routine Weather Report
MPG Miles per gallon
PIC Pilot In Command
TGF Target Generation Facility
RTA Require Time of Arrival
RTD Required Time of Departure
SRS Software Requirements Specification
TCP/IP Transfer Control Protocol/ Internet Protocol
XML Extensible Markup Language.
UTS University Time Coordinated
1.3.2. Abbreviations
TERM DEFINITION
e.g. for example
i.e. that is
1.4. Overview
The information presented in the Software Requirements Specification is organized into five sections. A brief
description of each section is provided below:
Software Requirements Specification
Software Requirements Specification Date
2/20/2015 10:07 AM
Page
8
• Section 1: states the purpose of the Software Requirements Specification document and defines the
scope of the product. The scope is described in terms of what the system is intended to do in order to
fulfill the customer’s requirements. This section also includes a list of definitions and acronyms used
within the document that may be unclear to the reader.
• Section 2: provides a top-level description and the main features of the system. A description of the
different external entities that interact with the system, including the main user, is also included in this
section. Additionally, any assumptions that are made, or any dependencies and constraints that have
identified, by the development team can be found in this section.
• Section 3: lists the requirements of the FPMS. These requirements guide the development team in
designing, implementing, and testing the system. They also serve as a contract between the
development team and the customer, Dr. Han. The requirements are organized by type: interface,
behavioral, non-behavioral, and other (those requirements that do not fit under the other categories).
1.5. References
[1] Elsa Tai. (2014). FPM Need Statement. Retrieved from CS 4310 Software Engineering I: Requirements
Engineering Smart Cloud.
[2] Elsa Tai. (2014). Project Memo. Retrieved from CS 4310 Software Engineering I: Requirements
Engineering Smart Cloud.
[3] Elsa Tai. (2014). Requirements Definition Document. Retrieved from CS 4310 Software Engineering I:
Requirements Engineering Smart Cloud.
[4] About latitude and longitude. (2015, January 1). Retrieved February 11, 2015, from
https://msdn.microsoft.com/en-us/library/aa578799.aspx
[5] Darby, G. (2005, February 5). Wind Triangle. Retrieved February 12, 2015, from
http://www.delphiforfun.org/programs/math
[6] Williams, E. (n.d.). Aviation Formulary V1.46. Retrieved February 12, 2015, from
http://williams.best.vwh.net/avform.htm#Crs
[7] Navigation. (2008). In Pilot's handbook of aeronautical knowledge. Washington, D.C.: U.S. Dept. of
Transportation, Federal Aviation Administration. Retrieved February 12, 2015, from
http://www.faa.gov/regulations_policies/handbooks_manuals/aviation/pilot_handbook/media/PHAK%20-
%20Chapter%2015.pdf
[8] (2014). ForeFlight Intelligent, Apps for Pilots. Retrieved September 10, 2014, from
http://www.foreflight.com
[9] (2014). WingX Stol. Retrieved November 18, 2014, from http://www.wingxstol.com
2. General Description
2.1. Product Perspective
The FPMS will be implemented as an application that has similarities with other applications, such as
ForeFlight [8] and WingX [9], and additional features. It will assist the pilot with flight planning activities,
provide the pilot with real-time flight status information, and alert the pilot when critical conditions are
detected. The information will be processed on a tablet and displayed on the Google Glass. The user commands
will be issued to the application through the tablet’s user interface or through the touchpad on the Google Glass.
The application will conform to the API for the Google Glass and to the API for the tablet of interest, and it will
be independent of the operating system running on the tablet.
Software Requirements Specification
Software Requirements Specification Date
2/20/2015 10:07 AM
Page
9
The system will work in conjunction with other systems and the aircraft’s surroundings in order to assist a pilot
during in-flight navigation. Table 1 presents a list of the external sources that the system will be cooperating
with, along with the respective data or functions they provide.
Table 1: External Sources of Information
Source Data Function
GPS Distance and location relevant information
Situation awareness
TGF
Airspace traffic simulation Flight plan validation
Garmin GDL 39 GPS coordinates weather information,
winds and temperatures
Weather information via
Bluetooth
2.2. Product Features
The Use-Case Diagram (shown in Fig. 1) depicts the main features of the FPMS and the interactions between
the system and the external environment. A “use case,” which is depicted by an oval, represents a specific
function of the system. The stick figures represent the external entities, or “actors,” with which the system
interacts. A more detailed, textual description of the main features is also provided.
The actors are as follows:
• Pilot- the individual who will be flying the plane and setting the flight plan; the pilot is the main user
of the system.
• Weather System- the system that will be providing updates of the weather in the areas along the flight
plan
• Target Generation Facility-the system that will simulate air traffic control and validate a flight plan
The use cases are as follows:
• Create flight plan- The pilot uses the system to create new flight plans that includes defining the route.
The flight plans are submitted to the Target Generation Facility for validation.
• Track Status- The pilot can track real-time status regarding trajectory relevant information during
flight. The system provides location, RTA, ETA, heading, time, fuel, altitude, route, speed, and
weather status.
• Reroute- The pilot is able to modify the flight’s route.
• Update Knowledge System- The pilot can choose to update the knowledge system with up-to-date
information that can be used to create flight plans regarding valid waypoints, airports, aircraft, and
weather forecast information.
Software Requirements Specification
Software Requirements Specification Date
2/20/2015 10:07 AM
Page
10
Fig. 1: Use Case Diagram for the FPMS
2.3. User Characteristics
There is only one user of the system, i.e., the pilot. The user is expected to have the appropriate knowledge
needed to file a flight plan and interpret the information that is provided to him or her during the flight.
2.4. General Constraints
The general constraints of the system are as follows:
1. The system will only update resources while it is not in flight-mode.
2. The information displayed on the Google Glass is limited by the size of the screen.
3. The Google Glass will not accept verbal commands due to the high noise levels inside the cockpit.
4. The system will use TGF to validate flight plans.
5. Every route must be composed of a minimum of three waypoints. Note: we are assuming the simplest
restriction on waypoints.
2.5. Assumptions and Dependencies
The SRS is presenting the basic requirements for the system. The document notes the areas that the Software
Engineering development teams should extend with the requirements from their documents.
The development team should assume the following:
Software Requirements Specification
Software Requirements Specification Date
2/20/2015 10:07 AM
Page
11
� Flight plans are filed as type IFR only.
� The system will have access to the GPS in order to update aircraft position during flight.
� The development team will have access to the TGF simulator.
� The GPS will report the estimated time to waypoint, true airspeed, distance, and location in real-time
during flight.
� The system has been initialized with a database tables that contain predefined waypoints along with the
location and a description of whether the waypoint is a beacon or an airport; valid airports along with
the attributes of name, identifier and location in the form of latitude and longitude; and aircrafts of
interest along with relevant attributes and characteristics.
� There will be reliable communication between the tablet and Google Glass.
� The user will not be able to add new waypoints.
� The characteristics of the aircraft are using general parameters and the algorithms are simplified based
on this. It is important to note that there are many factors that impact fuel consumption, e.g., altitude.
� The development team will design for change, in particular considering the next version will extend
the functionality such as being able to add waypoints and view a variety of maps.
3. Specific Requirements
3.1. External Interface Requirements
3.1.1. User Interfaces
This section presents the general requirements for the main features of the interface for the proposed system.
The FPMS system is made up of two components: a tablet component and a Google Glass component. The
requirements listed under sections 3.1.1 through 3.1.4 include those related to tablet component. The tablet will
serve as a platform for creating and managing flight plans, managing resources, setting preferences, and starting
a flight. Section 3.1.5 includes the requirements for the Google Glass display. The Google Glass will display
real-time flight status information and alert the pilot when critical conditions are detected. The development
teams should include their personalized look-and-feel based on the feedback that they received during the
review of their prototypes.
3.1.1.1. General
[Req 1] The “Home” screen shall include the title “FPMS System.”
[Req 2] The “Home” screen shall display the set of buttons presented in Table 1.
Table 1: Buttons and functions presented in the main screen of FPMS.
Button label Function
Create Flight Plan Navigate to the screen that allows the user to create, save, and submit a flight plan to the TGF.
Manage Flight Plans Navigate to the screen that allows the user to manage and submit flight plans to the TGF.
Manage Resources Navigate to the screen that allows the user to view and manage aircraft, routes, and waypoints
information.
Set Preferences Navigate to the screen that allows the user to set flight preferences and map view preferences.
Start Flight Navigate to the screen that prepares the Google Glass for the selected flight.
Software Requirements Specification
Software Requirements Specification Date
2/20/2015 10:07 AM
Page
12
[Req 3] All screens shall have the title of the screen that corresponds to the button labels given in Table 1 and
other pages launched by the system.
3.1.1.2. Create Flight Plan Screen
[Req 4] The “Create Flight Plan” screen shall display the labels and GUI elements as described in Table 2.
Table 2: GUI Elements for the Create Flight Plan screen
Label GUI Element Type Comment
Name Textbox Unique name of the flight plan
Type Non-modifiable textbox Type of flight plan. IFR will be the default type
Aircraft ID
Drop-down menu
The tail number of the aircraft. The menu will be
populated by the aircraft stored in the FPMS.
Aircraft Type and
Special Equipment
Non-modifiable textbox The type of aircraft and how it is equipped.
True airspeed in
knots Textbox The planned cruise true airspeed of the aircraft in knots.
Departure Point Drop-down menu The identifier of the airport from which the aircraft is
departing.
Destination
Drop-down menu
Point of intended landing given as an identifier of the
destination airport
Date of Flight Textbox with a calendar
icon option The date of the flight using the mm/dd/yyyy
Departure Time
Textbox
Drop-down menu (time
zones)
Time will be entered using military time
Times will be stored as Universal Time Coordinated.
Cruising Altitude Textbox
The planned cruising altitude or flight level. The
textbox will be populated based on the Aircraft ID and
normal cruising altitude for this aircraft.
Route
Radio buttons labeled as
follows:
Shortest Route
Fastest Route
Archived Routes
Custom Route
Proposed route of flight. The route will be made up of a
set of waypoints.
Estimated Time
Enroute
Textbox
Planned elapsed time between departure and arrival at
the destination. Time will be calculated based on routes
and airspeed
Fuel on Board Non-modifiable textbox
The amount of fuel on board the aircraft, in hours and
minutes of flight time. The textbox will be populated
based on the Aircraft ID and characteristics such as
normal speed, and fuel consumption rate.
Alternate Airports Three dropdown menus Airports of intended landing as an alternate of the
destination airport.
Pilot's Name
Textbox
Name of the pilot
Contact Information Textbox Contact information for search and rescue purposes.
Number Onboard
Dropdown menu
Total number of people on board the aircraft with a
maximum of ten
Color of Aircraft Non-modifiable textbox The color helps identify the aircraft to search and
Software Requirements Specification
Software Requirements Specification Date
2/20/2015 10:07 AM
Page
13
rescue personnel.
Contact Information
at Destination Textbox Means of contacting the pilot
Remarks Textbox Any information the PIC believes is necessary to be
provided to ATC.
[Req 5] The “Create Flight Plan” screen shall display buttons labeled “Home,” “Save,” “Submit,” “Clear” at
the bottom of the page.
[Req 6] The “Archived Routes” screen shall display all unique stored routes that match the departure point and
destination as shown in Fig. 2.
Fig. 2: Display for Archived Routes
[Req 7] The “Archived Routes” screen shall display button labeled “Back.”
[Req 8] The “Route Details” screen shall display the routes content as shown in Fig. 3.
[Req 9] The “Route Details” screen shall display a button labeled “Back.”
Fig. 3: Display for a Route’s Details.
[Req 10] The screen content for the “Custom Routes” screen shall be as shown in Fig. 4.
Software Requirements Specification
Software Requirements Specification Date
2/20/2015 10:07 AM
Page
14
Fig. 4: Display for Custom Routes.
[Req 11] The “Custom Routes” screen shall display buttons labeled “Save,” “Back,” and “Clear.”
NOTE: The map graphical screen for “Custom Routes” is not specified. Please adopt your
team’s method for specifying routes through maps.
3.1.2. Manage Flight Plans Screen
[Req 12] The content for the “Manage Flight Plans” screen shall be as shown in Fig. 5.
Fig. 5: Content of the “Manage Flight Plans” screen.
[Req 13] The “Manage Flight Plans” screen shall display buttons labeled “Home,” “Edit,” “Delete,” and
“Submit” at the bottom of the page.
[Req 14] The “View Details” screen shall display the information from the flight plan as described in Table 2.
[Req 15] The “View Details” screen shall display buttons labeled “Home,” “Save,” “Delete,” and “Submit” at
the bottom of the page.
3.1.3. Manage Resources
[Req 16] The “Manage Resources” screen shall display the set of buttons presented in Table 3.
Table 3: Buttons and functions presented in the main screen of the “Manage Resources” interface.
Button label Function
Aircraft View and manage the aircraft characteristics that are stored in the system.
Routes View and manage the stored routes.
Software Requirements Specification
Software Requirements Specification Date
2/20/2015 10:07 AM
Page
15
Waypoints View waypoints.
3.1.3.1. Aircraft Screen
[Req 17] The “Aircraft” screen interface shall display a checkbox followed by the following summary of the
aircraft: Name, Aircraft ID, Aircraft Model number, Aircraft Color.
[Req 18] The “Aircraft” screen shall display the following buttons display at the bottom of the page: “Home,”
“Back,” “Add,” “Edit,” “Delete.”
[Req 19] The “Add” screen shall display the fields shown in Table 4.
[Req 20] The “Add” screen shall display the following buttons display at the bottom of the page: “Home,”
“Back,” and “Save.”
[Req 21] The “View Details” screen shall display the fields shown in Table 4, which are populated with the
aircraft details from the knowledge base.
[Req 22] The “View Details” screen shall display buttons have the following buttons display at the bottom of the
page: “Home,” “Back,” and “Save.”
Table 4: GUI Elements for the “Aircraft” screen
LABEL GUI ELEMENT TYPE
Name Textbox
Aircraft ID Textbox
Aircraft Model Textbox
Aircraft Color Textbox
Minimum Cruising Speed Textbox
Normal Cruising Speed Textbox
Maximum Cruising Speed Textbox
Minimum Cruising Altitude Textbox
Normal Cruising Altitude Textbox
Maximum Cruising Altitude Textbox
Fuel Consumption Textbox
Fuel Consumption Rate Textbox
3.1.3.2. Routes Screen
[Req 23] The “Routes” screen interface shall display a summary of the route as shown in Fig. 2 for “Archived
Routes.”
[Req 24] The “Routes” screen shall display the following buttons display at the bottom of the page: “Home,”
“Add,” “Edit,” and “Delete.”
[Req 25] The “View Route Details” screen shall display as shown in Fig. 6.
Software Requirements Specification
Software Requirements Specification Date
2/20/2015 10:07 AM
Page
16
Fig 6: “View Route Details” screen.
[Req 26] The “View Route Details” screen shall display the following buttons display at the bottom of the page:
“Home,” “Save,” “Delete,” and “Back.”
NOTE: The more detailed interface for the “Routes” screen is not included. You should consider
including distance between waypoints if you are not doing so already.
3.1.3.3. Set Preferences Screen
[Req 27] The “Set Preferences” screen shall display the labels and GUI elements as described in Table 5.
Table 5: Input fields for the “User Preferences” screen.
Label GUI Element Type Comment
Flight Preferences Label for the first group of preferences
Checkbox with the following
options:
□ Avoid terrain above altitude
[textbox] feet.
□ Avoid flying over water.
□ Avoid the following airports:
[Dropdown box]
Airport dropdown box should provide the
ability to select multiple entries.
Map View Preferences Label for the second group of preferences
Checkbox with the following
options:
□ Display waypoints.
□ Display topographical map.
Software Requirements Specification
Software Requirements Specification Date
2/20/2015 10:07 AM
Page
17
□ Display topological map.
3.1.4. Start Flight
[Req 28] The “Start Flight” screen shall display the flight plan(s) scheduled for the current date using the
interface as shown in Fig. 7.
Fig 7: “Start Flight” screen.
[Req 29] The “Start Flight” screen shall display the buttons “Home” and “Start,” at the bottom of the screen.
3.1.5. Google Glass Screen
The Google Glass screen is divided into three cards. The requirements for each are provided next.
3.1.5.1. Card 1
[Req 30] Card 1 of the Google Glass screen shall display the user’s map based on the User’s Preferences, where
the displayed map is centered on the area showing the route between the waypoint the pilot has just
passed and the next waypoint on the route.
[Req 31] Card 1 of the Google Glass screen shall display the text “RTA: “directly to the right of the next
waypoint that the pilot is approaching, followed by a number value that represents the RTA value for
that waypoint.
[Req 32] Card 1 of the Google Glass screen shall display the text “ETA: “directly below the text “RTA; “of the
next waypoint that the pilot is approaching, followed by a number value that represents the real-time
ETA value for that waypoint.
3.1.5.2. Card 2
[Req 33] Card 2 of the Google Glass screen shall display a geo-referenced weather map, where the displayed
map is centered on the area showing the route between the waypoint the pilot has just passed and the
next waypoint on the route.
[Req 34] Card 2 of the Google Glass screen shall display the text “RTA: “directly to the right of the next
waypoint that the pilot is approaching, followed by a number value that represents the RTA value for
that waypoint.
[Req 35] Card 2 of the Google Glass screen shall display the text “ETA: “directly below the text “RTA; “of the
next waypoint that the pilot is approaching, followed by a number value that represents the real-time
ETA value for that waypoint.
3.1.5.3. Card 3
[Req 36] Card 3 of the Google Glass screen shall display the text “RTA:” followed by a number value that
represents the RTA value in minutes to the next waypoint.
Software Requirements Specification
Software Requirements Specification Date
2/20/2015 10:07 AM
Page
18
[Req 37] Card 3 of the Google Glass screen shall display the text “ETA:” followed by a number value that
represents the real-time ETA value in minutes, to the next waypoint.
3.1.5.4. All Cards:
[Req 38] Each card shall display the text “Speed;” followed by the number value the represents the real-time
airspeed, in knots.
[Req 39] Each card shall display the text “Altitude;” followed by the number value the represents the real-time
altitude.
[Req 40] Each card shall display the text “Remaining Fuel;” followed by the number value represents real-time
amount of remaining fuel, in gallons.
[Req 41] Each card shall display the current heading in degrees relative to true north.
3.1.6. Hardware Interfaces
There are no hardware interface requirements.
3.1.7. Software Interfaces
[Req 42] The FPMS shall interface with the TGF simulator as follows: TBD
3.1.8. Communications Interfaces
[Req 43] The system shall use the National Marine Electronics Association protocol to communicate with the
GPS receiver.
3.2. Behavioral Requirements
3.2.1. Same Class of User
There is only one class of user. As a result, there are no requirements specified for this section.
3.2.2. Related Real-world Objects
3.2.2.1. Flight Plan
[Req 44] The types and constraints for the attributes of a flight plan shall conform to those given in Table 6.
Table 6: Types for the attributes for the flight plan.
Label Type Constraints
Name String
Type Constant: IFR
Aircraft ID
Char
Aircraft Type and Special
Equipment
String 120 characters
True airspeed in knots Integer
Software Requirements Specification
Software Requirements Specification Date
2/20/2015 10:07 AM
Page
19
Departure Point String Three characters
Destination
String Three characters
Date of Flight Date Format: mm/dd/yyyy
Departure Time Integer 0001-2400
Cruising Altitude Integer
Route
Ordered list of 8-tuples, where the
elements of the tuple are of the following
types: string, string, float, float, integer,
integer, integer, integer)
Tuple represents: route name,
waypoint, latitude, longitude, true
course, distance to next waypoint,
speed, RTA to next waypoint
The “true course” is measured in
0 to 360 degrees clockwise from
true north.
Latitude: The “latitude” is
measured in degrees from 0 to
(+/-)90 degrees. The longitude is
preceded by a minus sign if it is
west of the prime meridian (a
positive number implies east).
Longitude: The “longitude” is
measured in degrees from 0 to
(+/-)180 degrees. The longitude is
preceded by a minus sign if it is
west of the prime meridian (a
positive number implies east). Estimated Time Enroute
Integer
Fuel on Board Integer
Alternate Airports Ordered list of airports of type string
Pilot’s Name
String
Contact Information String
Number Onboard
Integer
Color of Aircraft String
Contact Information at
Destination String
Remarks String 100 characters
TGF Approval Boolean Default: False
[Req 45] The FPMS shall not allow the departure airport to be the same as the destination airport.
[Req 46] The time of departure from the departure point shall be within the operational hours of the selected
airport.
[Req 47] The time of arrival to a destination shall be within the operational hours of the selected airport.
3.2.2.2. Waypoints
[Req 48] The FPMS shall obtain the set of waypoints from the waypoint.xml file upon initialization of the
system.
Software Requirements Specification
Software Requirements Specification Date
2/20/2015 10:07 AM
Page
20
[Req 49] Each waypoint shall be identified with a unique name consisting of five letters beginning with the
characters “VP.”
[Req 50] Each airport shall be associated with a waypoint.
[Req 51] TBD Description of the waypoint data.
3.2.2.3. Routes
[Req 52] A route shall consist of a list of waypoints.
[Req 53] A route shall have a minimum of three waypoints.
3.2.2.4. User Preferences
[Req 54] The types of the attributes for User Preferences shall conform to those given in Table 7.
[Req 55] The user shall be able to display either topographical maps or topological maps, but not both.
Table 7: Type for attributes of User Preferences
3.2.2.5. Weather Forecast
Note: The wind direction and predicted weather will be taken from the weather forecast. This
version of the system will not be parsing the information to be used in the calculations for the
route.
3.2.2.6. Airport
[Req 56] The FPMS shall obtain the list of airports from the airport.xml file upon initialization of the system.
[Req 57] The types for attributes for an airport shall be as defined in Table 8.
Table 8: Attributes for the Airport file.
Attribute Type Comments
Name String
Runway closures String
Operational hours Integer 0001 to 2400 hours
3.2.2.7. Aircraft
[Req 58] The FPMS shall obtain a list of aircraft from the AircraftCharacteristic.xml file upon initialization of
the system.
Attribute Type
Avoid Terrain Above Boolean
Altitude Integer
Avoid Flight Over Water Boolean
Airports to Avoid Boolean
Airports List of airports of type string
Display Waypoints Boolean
Display Topographical Maps Boolean
Display Topological Maps Boolean
Software Requirements Specification
Software Requirements Specification Date
2/20/2015 10:07 AM
Page
21
[Req 59] The attributes stored from the AircraftCharacteristics..xml file shall be as defined in Table 9.
Table 9: Attributes of the Aircraft file.
ATTRIBUTE TYPE
Name String
Aircraft ID String
Aircraft Model String
Aircraft Color String
Minimum Cruising Speed Integer
Normal Cruising Speed Integer
Maximum Cruising Speed Integer
Minimum Cruising Altitude Integer
Normal Cruising Altitude Integer
Maximum Cruising Altitude Integer
Fuel Consumption Integer
Consumption Rate Integer
3.2.2.8. Real-Time Data
[Req 60] The FPMS system shall obtain GPS data as described in Table 10 during the flight.
Table 10: Attributes and types of real-time data
Attribute Type Valid Values
Current time Integer
ETA Integer
Distance Float 0.0 to 200.0 nautical miles
3.2.3. Stimulus
[Req 61] When the user selects “Home” on any screen, FPMS shall redirect the user to the “Home” screen.
[Req 62] When the user selects “Back” on any screen, the FPMS shall return to the previous screen.
3.2.3.1. Home
[Req 63] When user starts the FPMS, the system shall display the “Home” screen.
[Req 64] If the user selects the “Create Flight Plan” button, the system shall display the “Create Flight Plan”
screen with a form for data entry as noted in Table 2.
[Req 65] If the user selects the “Manage Flight Plans” button, the system shall display the “Manage Flight
Plans” screen with all active flight plans.
[Req 66] If the user selects the “Manage Resources” button, the system shall display the “Manage Resources”
screen.
[Req 67] If the user selects the “Set Preferences” button, the system shall display the “Set Preferences” screen.
[Req 68] If the user selects the “Start Flight” button, the system shall display the “Start Flight” screen.
3.2.3.2. Create Flight Plan
[Req 69] When the user enters information via a textbox or pull-down menu and selects the “Save” button, the
FPMS shall store the information.
[Req 70] When the user enters Aircraft ID in the Flight Plan form, the FPMS shall populate the following fields
from the information stored in FPMS for that aircraft:
Software Requirements Specification
Software Requirements Specification Date
2/20/2015 10:07 AM
Page
22
a) Aircraft Type and Special Equipment
b) True Airspeed in Knots
c) Cruising Altitude
d) Color of Aircraft
[Req 71] When the user enters Aircraft ID in the Flight Plan form, the FPMS shall calculate the following fields
using the formulas given in Table 11 (Note: the True Airspeed and the Route fields are required prior
to calculating these values).
a) Estimated Time Enroute: Formula 12
b) Fuel on Board: Formula 13
Table 11: Formulas
Attribute Formula Notes
1 WCA - Wind Correction
Angle
WCA = arcSin(sinWCA)
n/a
2 sinWCA -
SinWindCorrectionAngle
sinWCA = WindSpeed
*sin(WTA)/Airspeed
The WindSpeed value is
obtained from the weather
information.
3 WTA - Wind Track
Angle
WTA = TrueCourse -
WindDirection
The WindDirection value is
obtained from the weather
information.
4 GS - Ground Speed GS = Airspeed*cos(WCA)+
WindSpeed*cos(WTA) n/a
5 EF - Estimated Fuel EF = AvailableFuel-FC The AvailableFuel value is
obtained from the aircraft
characteristics informaion.
6 FC - Fuel Consumption FC = TIF*ConsumptionRate The ConsumptionRate value is
obtained from the aircraft
characteristics information.
7 H – Heading H = TC+WCA n/a
8 TIF - Time In Flight TIF = CurrentTime-StartTime n/a
9 RTA - Required Time of
Arrival
RTA = Distance/GS
n/a
10 TC - True Course TC = mod(atan2(sin(lon1-lon2)*
cos(lat2), cos(lat1)*sin(lat2)-
sin(lat1)*cos(lat2)*cos(lon1-
lon2)), 2*pi)
lat1, lat2, lon1, and lon2 are
waypoint coordinates
11 D – Distance D =
acos(sin(lat1)*sin(lat2)+cos(lat1)*
cos(lat2)*cos(lon1-lon2))
lat1, lat2, lon1, and lon2 are
waypoint coordinates
12 ETE- Estimated Time
Enroute
ETE = DestinationRTA – time of
departure
Assumption that the time of
arrival is on the same date
13 Fuel on Board Fuel on Board = ETE *
ConsumptionRate
The ConsumptionRate value is
obtained from the aircraft
characteristics information.
[Req 72] When the user selects “Shortest Route” for “Route,” the FPMS shall calculate the shortest route from
the Departure Point to the Destination i.e., the set of waypoints that constitute the shortest distance.
Software Requirements Specification
Software Requirements Specification Date
2/20/2015 10:07 AM
Page
23
[Req 73] When the user selects “Fastest Route” for “Route,” the FPMS shall calculate the fastest route from the
Departure Point to the Destination i.e., the set of waypoints that constitute the fastest distance.
[Req 74] When the user selects “Archived Routes,” the FPMS shall display the “Archived Routes” screen that is
populated with the routes that are stored in the system.
[Req 75] When the user selects a route on the “Archived Routes” screen and clicks on “Back,” the FPMS shall
return to the “Flight Plan” screen and add the route summary, i.e., the selected line as shown in Fig. 2,
to the form.
[Req 76] When the user selects “View Details” on the “Archived Routes” or the “Start Flight” screen, the FPMS
shall display the route details as shown in Fig. 3, where the Speed and Estimated Time Enroute is
based on the entries in the flight plan.
[Req 77] When the user selects “Custom Route,” the FPMS shall display the “Custom Route” screen, as shown
in Fig. 4, with the following fields populated from the flight plan data entries:
a) Departure time
b) Speed
c) Departure point city, latitude, and longitude
d) Departure point true course and distance are blank
e) Destination city, latitude and longitude
[Req 78] When the user selects “Add” on the “Custom Route” screen, the FPMS shall insert a new set of
waypoint data-entry fields.
[Req 79] When the user selects “Delete” on the “Custom Route” screen, the FPMS shall remove the previous
waypoint and associated fields.
[Req 80] When the user selects a waypoint on the pull-down menu on the “Custom Route” screen, the FPMS
shall populate the latitude and longitude.
[Req 81] When the user selects a waypoint on the pull-down menu on the “Custom Route” screen, the FPMS
shall populate the latitude and longitude.
[Req 82] When the user selects a waypoint on the pull-down menu on the “Custom Route” screen, the FPMS
shall calculate the true course and distance based on the formulas given in Table 11.
[Req 83] When the user selects “Save” on the “Custom Route” screen, the FPMS shall calculate Total Distance,
Total Time Enroute, and the Destination Distance and RTA.
[Req 84] When the user selects “Back” on the “Custom Route” screen, the FPMS shall return to the “Flight
Plan” screen and add the route summary that has been saved, if any.
[Req 85] When the user selects “Clear” on the “Custom Route” screen, the FPMS shall clear all fields other than
the prepopulated fields.
[Req 86] When the user selects “Save” on the “Create Flight Plan” screen, the FPMS shall save the flight plan in
the knowledge base.
[Req 87] When the user selects “Submit” on the “Create Flight Plan” screen, the FPMS shall do the following:
a. Check that all entries are valid according to any constraints given in Table 2;
b. Save the flight plan in the knowledge base, and
c. Submit the flight plan file to the TGF for approval.
[Req 88] When the user selects “Cancel” on the “Create Flight Plan” screen, the system shall clear all fields of
the Flight Plan form.
Software Requirements Specification
Software Requirements Specification Date
2/20/2015 10:07 AM
Page
24
3.2.3.3. Manage Flight Plans
The requirements in this section are related to the “Manage Flight Plans” screen unless otherwise noted.
[Req 89] When the user clicks on the checkbox, FPMS shall highlight the flight plan associated with the
checkbox and de-emphasize any other flight plan that may have previously been selected.
[Req 90] When the user selects the “View Details” button, FPMS shall display the corresponding flight plan as
shown in Table 2.
[Req 91] When the user selects “Submit,” the FPMS shall do the following:
d. Check that all entries are valid according to any constraints given in Table 2;
e. Save the flight plan file in the knowledge base, and
f. Submit the flight plan file to the TGF for approval.
[Req 92] When the user selects “Edit” and a flight plan has not been selected, FPMS shall display a standard OK
message box that states “Flight plan has not been selected.”
[Req 93] When the user selects “Edit” and a flight plan has been selected, FPMS shall display the “View
Details” screen.
[Req 94] When the user selects “Save” on the “View Details” screen, FPMS shall save the flight plan in the
knowledge base.
[Req 95] When the user selects “Delete” and a flight plan has not been selected, FPMS shall display a standard
OK message box that states “Flight plan has not been selected.”
[Req 96] When the user selects “Delete” and a flight plan has been selected, FPMS shall display a standard Yes-
No message box that states “Are you sure that you want to delete this flight plan?”
[Req 97] When the user clicks on “Yes” in the “Delete” message box, FPMS shall delete the flight plan from the
knowledge base.
3.2.3.4. Manage Resources
[Req 98] When the user selects “Aircraft” on the “Manage Resources” page, FPMS shall display the “Aircraft”
screen as described in Section 3.1.3.1, which is populated with the summary of all aircraft in the
knowledge base.
[Req 99] When the user selects “View Details” on the “Aircraft” screen, FPMS shall display the screen, as
described in Table 4, which is populated with the information from the knowledge base.
[Req 100] When the user selects “Add,” FPMS shall display the “Aircraft” screen as described in Table 4 with
blank fields.
[Req 101] When the user selects “Edit” and an aircraft has not been selected, FPMS shall display a standard OK
message box that states “Aircraft has not been selected.”
[Req 102] When the user selects “Edit” and an aircraft has been selected, FPMS shall display the “View Details”
screen.
[Req 103] When the user selects “Save” on the “View Details” screen for an aircraft, FPMS shall save the aircraft
information in the knowledge base.
[Req 104] When the user selects “Delete” and an aircraft has not been selected, FPMS shall display a standard
OK message box that states “Aircraft has not been selected.”
[Req 105] When the user selects “Delete” and an aircraft has been selected, FPMS shall display a standard Yes-
No message box that states “Are you sure that you want to delete this aircraft?”
[Req 106] When the user clicks on “Yes” in the “Delete” message box, FPMS shall delete the aircraft.
Software Requirements Specification
Software Requirements Specification Date
2/20/2015 10:07 AM
Page
25
[Req 107] When the user selects “Routes” on the “Manage Resources” page, FPMS shall display the “Routes”
screen as described in Fig. 2, which is populated with the summary of all routes stored in the
knowledge base.
[Req 108] When the user selects “View Details” on the “Routes” screen, FPMS shall display the screen, as
described in Fig. 3, which is populated with the information from the knowledge base.
[Req 109] When the user selects “Add,” FPMS shall display the “Custom Routes” screen as described in Fig. 4
with blank fields.
[Req 110] When the user selects “Edit” and a route has not been selected, FPMS shall display a standard OK
message box that states “Route has not been selected.”
[Req 111] When the user selects “Edit” and a route has been selected, FPMS shall display the “Custom Route”
screen for the route.
[Req 112] When the user selects “Save” on the “Custom Route” screen for a route, FPMS shall save the route
information in the knowledge base.
[Req 113] When the user selects “Delete” and a route has not been selected, FPMS shall display a standard OK
message box that states “Route has not been selected.”
[Req 114] When the user selects “Delete” and a route has been selected, FPMS shall display a standard Yes-No
message box that states “Are you sure that you want to delete this route?”
[Req 115] When the user clicks on “Yes” in the “Delete” message box, FPMS shall delete the route from the
knowledge base.
[Req 116] When the user selects “Waypoints,” FPMS shall display all waypoints that are stored in the knowledge
base, sorted by latitude and longitude.
3.2.3.5. Set Preferences
[Req 117] When the user selects “Avoid terrain above altitude,” FPMS shall not generate any routes in which the
terrain is above the specified altitude.
[Req 118] When the user selects “Avoid flying over water,” FPMS shall not generate any routes that fly over
water.
[Req 119] When the user selects airports from the “Avoid the following airports” dropdown box, the system shall
save the list of airports in the knowledge base.
[Req 120] The FPMS shall display a warning message when a destination airport is selected that is on the list of
airports to avoid.
[Req 121] If the user selects “Display waypoints,” the FPMS shall display waypoints on all maps that are
displayed.
[Req 122] If the user selects “Display topographical map,” the FPMS shall display all maps as topographical
maps.
[Req 123] If the user selects “Display topological map,” the FPMS shall display all maps as topological maps.
3.2.3.6. Start Flight
[Req 124] When the user selects “Start Flight” on the “Home Screen,” the FPMS shall display all TGF-approved
flights that are scheduled for the current date, as shown in Fig. 7.
[Req 125] When the user selects “Start Flight” and there are no flights scheduled, FPMS shall display the
message, “No flights scheduled for today.”
Software Requirements Specification
Software Requirements Specification Date
2/20/2015 10:07 AM
Page
26
[Req 126] When the user selects, “View Details” on the “Start Flight” screen, FPMS shall display the route
details as shown in Fig. 3.
[Req 127] If the user selects a flight plan and selects the “Start” button, the FPMS shall initiate the
communication with the Google Glass.
3.2.4. Related Features
[Req 128] If the TGF simulator approves a flight plan, the FPMS shall update the flight plan record to indicate
that it has been approved, i.e., the field “TGF Approval” shall be set to true.
3.2.5. Functional
The functional requirements are integrated into other sections of the SRS.
3.3. Non-behavioral Requirements
3.3.1. Performance Requirements
No performance requirements specified at this time.
3.3.2. Qualitative Requirements
No qualitative requirements are specified at this time.
3.4. Other Requirements
Note: There are no constraints on the programming language used to implement the system, the
operating system that the application runs on, or on the version of the operating system.