Software Requirements Specification for Highly Accurate Mobile Device Positioning Based on Wi-Fi Signals Version 1.4 Prepared by Team Braintrust Process Impact January 28, 2011 SRS for Highly Accurate Mobile Device Positioning Based on Wi-Fi Signals System Page 2 Table of Contents 1. INTRODUCTION................................................................................................................................................. 4 1. PURPOSE ................................................................................................................................................................................4 2. PROJECT SCOPE AND PRODUCT FEATURES ................................................................................................................4 3. REFERENCES.........................................................................................................................................................................4 1. 2. 3. 4. 5. 6. OVERALL DESCRIPTION .............................................................................................................................. 4 PRODUCT PERSPECTIVE ....................................................................................................................................................4 USER CLASSES AND CHARACTERISTICS ......................................................................................................................5 OPERATING ENVIRONMENT ............................................................................................................................................5 DESIGN AND IMPLEMENTATION CONSTRAINTS ........................................................................................................5 USER DOCUMENTATION ...................................................................................................................................................5 ASSUMPTIONS AND DEPENDENCIES .............................................................................................................................6 1. 2. 3. 4. SYSTEM FEATURES ......................................................................................................................................... 6 ESTABLISH SIGNAL STRENGTH BASELINES ...............................................................................................................6 ESTABLISH WI-FI DEVICE LOCATIONS ........................................................................................................................6 LOCATE AN END-USER DEVICE .....................................................................................................................................6 HEALING AND SELF-LEARNING .....................................................................................................................................7 1. 2. EXTERNAL INTERFACE REQUIREMENTS ........................................................................................... 7 SOFTWARE INTERFACES ...................................................................................................................................................7 COMMUNICATIONS INTERFACES....................................................................................................................................7 1. 2. 3. OTHER NONFUNCTIONAL REQUIREMENTS....................................................................................... 7 PERFORMANCE REQUIREMENTS ....................................................................................................................................7 SECURITY REQUIREMENTS ..............................................................................................................................................7 SOFTWARE QUALITY ATTRIBUTES ...............................................................................................................................8 2. 3. 4. 5. Copyright © 2002 by Karl E. Wiegers. All Rights Reserved. Page 3 SRS for Highly Accurate Mobile Device Positioning Based on Wi-Fi Signals System Revision History Name Date Reason For Changes Version Brandon Pastuszek 12/13/10 Skeleton SRS 1.0 Joe Impellizzieri 1/10/11 Updated unclear/commented areas 1.1 Brandon Pastuszek 1/10/11 Removed references to team name in the 1.2 remainder of the document. Added self-healing and self-learning as a separate requirement. Fixed grammatical errors. Merged Network Administrator and System Administrator into one User Class. Removed examples. Modified Operating Environment to not specify an environment. Modified Design and Implementation Constraints to specify a standardized format for request/response. Added dependencies from Vision and Scope Brandon Pastuszek 1/13/11 Updated performance requirements based on sponsor feedback. Brandon Pastuszek 1/28/11 Updated design and implementation constraints, 1.4 operating environment and assumptions based on sponsor feedback. Copyright © 2002 by Karl E. Wiegers. All Rights Reserved. 1.3 SRS for Highly Accurate Mobile Device Positioning Based on Wi-Fi Signals System 1. Introduction 1. Purpose Page 4 This SRS describes the functional and nonfunctional software requirements for the Highly Accurate Mobile Device Positioning System. This document is intended to be used by the members of the project team that will implement and verify the correct functioning of the system. Unless otherwise noted, all requirements specified here are high priority. 2. Project Scope and Product Features The Highly Accurate Mobile Device Positioning Based on Wi-Fi Signals System will utilize sets of a client's visible Wi-Fi devices and their relative signal strengths to determine a device’s location by comparing the received sets to a series of historically visible Wi-Fi devices and their relative signal strengths at known locations. A detailed project description is available in the Highly Accurate Mobile Device Positioning Based on Wi-Fi Signals System Vision and Scope Document [1]. The section in that document titled “Scope of Initial and Subsequent Releases” lists the features that are scheduled for full or partial implementation in each evolution. 3. 1. References Wiegers, Karl. Highly Accurate Mobile Device Positioning Based on Wi-Fi Signals System Vision and Scope Document, Vision_and_Scope.doc 2. Overall Description 1. Product Perspective The Highly Accurate Mobile Device Positioning Based on Wi-Fi Signals system augments a device location system and replaces the current method of determining the location of a device based on the GPS coordinates the device reported when it last saw a Wi-Fi device. The system will calculate location based on historical Wi-Fi device signal strengths at known locations and/or known GPS locations of Wi-Fi access points. The system is expected to evolve over several evolutions, ultimately adding “learning” functionality, so Wi-Fi devices are added to a location’s data set when they are consistently seen after the initial seed of data and removed from a location’s data set when they are consistently no longer seen after the initial seed of data. Copyright © 2002 by Karl E. Wiegers. All Rights Reserved. SRS for Highly Accurate Mobile Device Positioning Based on Wi-Fi Signals System 2. User Classes and Characteristics End-User Device Initial Seeding Device Location Requestor System Administrators 3. Page 5 A mobile device that periodically uploads data that can be used at a future date to locate that device’s position. The device will upload the Wi-Fi devices detected and their relative signal strengths at device-defined intervals. An initial seeding device is a device that uploads a large set of samples of Wi-Fi devices and their relative signal strengths from a known location to serve as the baseline historical data for that location. A location requester is a user authorized to request an end-user device’s location, as reported within the past user-defined duration. If the end-user device’s location was not determined within the duration, an external system will request the end-user device upload the Wi-Fi devices detected and their relative signal strengths immediately. An administrator of the system will be able to view logs of received/sent payloads and their recipients, view raw data in the database and perform all the functions of a network administrator. They will also add, modify and remove Wi-Fi devices and their known locations. A known stationary device location is latitude, longitude and height descriptor. A height descriptor is either altitude or floor number. Operating Environment OE-1: The system shall be developed using SOAP, C#, .NET 4.0 and MySQL. 4. Design and Implementation Constraints CO-1: The system shall accept and return a web requests in a standard format, such as XML or JSON. CO-2: Computationally intensive tasks will be performed on the web server instead of the database. 5. User Documentation UD-1: The system shall provide a data contract document that illustrates how to interact with a system along with the valid request and result payloads. Copyright © 2002 by Karl E. Wiegers. All Rights Reserved. SRS for Highly Accurate Mobile Device Positioning Based on Wi-Fi Signals System Page 6 Assumptions and Dependencies 6. AS-1: AS-2: DE-1: DE-2: End-user devices with no Wi-Fi signals to report will not cause the overall end-user device location system to interact with the system. The GPS coordinates and cell tower information provided with the uploaded data will be used as additional validation only. Their determination in actual end-user device location will be handled by an external system. A sufficient amount of Wi-Fi signal baseline data for an area needs to be made available to the system for it to accurately locate a device within that area. A sufficient amount of computational power is needed to handle the stress of the positioning technologies developed. System Features 3. Establish Signal Strength Baselines 1. Description and Priority An initial seeding device will be used to provide a base-line of signal data which describes particular locations within a specific building or location. Such signal data consists of the strengths of Wi-Fi access points that the device can see, as well as any GPS and cell tower readings that are available to the device. Each location that is mapped out will consist of the baseline readings taken, as well as GPS coordinates and/or a textual label which describes the particular location. The sets of readings will be used as a historical baseline to be used in the future to determine which particular location an end-user device is currently in. Priority=High. 1. 2. Establish Wi-Fi Device Locations 1. Description and Priority A network administrator will be able to add the location of a stationary network device. A stationary device location consists of latitude, longitude and a height descriptor. The height descriptor is either altitude or floor number. Priority=High. 3. Locate an End-User Device 1. Description and Priority Given a list of Wi-Fi devices detected and their relative signal strengths by the end-user device, along with GPS coordinates and current cell tower, if available, for validation, the system will return the location of the device and/or a meaningful label about the device’s location. Priority=High. Copyright © 2002 by Karl E. Wiegers. All Rights Reserved. SRS for Highly Accurate Mobile Device Positioning Based on Wi-Fi Signals System Page 7 Healing and Self-Learning 4. Description and Priority Once a signal strength baseline is established, any new Wi-Fi devices that are consistently reported from end-user devices become part of the established baseline for that location. Conversely, any consistently missing Wi-Fi devices are removed from the established baseline for that location. Priority=Low. 1. 4. External Interface Requirements 1. Software Interfaces SI-1: SI-2: 2. The system will communicate with existing ZOS Communications software, which will send requests for end-user device locations. The end-user device location that is computed will be returned back to the ZOS Communications software. The system will communicate with a relational database to access historical Wi-Fi data. Communications Interfaces No communication interfaces have been identified. 5. Other Nonfunctional Requirements 1. Performance Requirements PE-1: PE-2: 2. Device location to within 5-10 meters of accuracy is desired. Accuracy of end-user device location will take priority over the time the system requires to compute the location. Security Requirements SE-1: SE-2: The system shall only communicate with existing ZOS Communications software and any relational databases that are needed to perform computations. External systems will not be able to access the device-locating system. Copyright © 2002 by Karl E. Wiegers. All Rights Reserved. SRS for Highly Accurate Mobile Device Positioning Based on Wi-Fi Signals System 3. Page 8 Software Quality Attributes Availability-1: The system will be available 99.99% of the time. Availability-2: The database will support rollback in the event that an error occurs. Modifiability-1: The system will be modifiable so that future groups will be allowed to add or modify existing features. As long as the system gets the same input, we can swap out components in the web service as needed in order to make changes and not affect the overall system. Performance-1: The system will be able to return an end-user device’s location within a reasonable amount of time from when a location request is received, as defined by PE-2 and PE-3. Performance-2: The system will be scalable to accommodate additional users as needed without much strain on the performance of the system. Security-1: Only ZOS will be able to access this system. Not accessible from the outside. Testability-1: For a given input of Wi-Fi data, such as signal strength and location of Wi-Fi access points, there will be an expected output that we can test against. Copyright © 2002 by Karl E. Wiegers. All Rights Reserved.