Black Box

Software Requirements
Specification
for
Black Box
Version 3.0 approved
Prepared by Brian Hinds

Software Requirements
Specification

1. Introduction

1.1 Purpose
The purpose of this software requirement specification document is to describe the scope of the Black Box device operation. The Black Box is a research data collection solution that securely collect anonymous user data for research and development. These data shall be collected from smart radio thermostat, presence sensors, and Xiaomi Mi Band 2.

1.2 Document Conventions
This document is done in an Arial font style with three different font size, separating the heading which is 18, sub-heading which is 14 and information for each category which is 11.


1.3 Intended Audience and Reading Suggestions
The intended audience of this document are the individuals who collaborate to the development of the Black Box project. These are the project manager, project monitor, project sponsor, and project developer. This software requirement specification document contains the overall description of the device, the hardware and software interface, the device system features and constraints, and the nonfunctional requirements follow by an analysis model with case diagrams.


1.4 Product Scope
The software for the Black Box shall be designed to communicate with the different devices which is used to gather the anonymous user data. The software shall allow these communications to be conducted on isolated network connection and Bluetooth connection. The Black Box software shall allow the research data to be stored locally until the research period has expired, that can be exported to s server for analyzing.


1.5 References
There are no known other document and sources that contains reference data, image, diagrams, and information that is refer in this document. All information that are within is as is.

2. Overall Description

2.1 Product Perspective
The Black Box project is a capstone project that have been selected for execution. This project idea was created be the team of researchers at the University of Waterloo Ubilab. The undertake of this project allows the capstone to be a collaboration between Conestoga College and the University of Waterloo. This project is a new device and not a redesign, remake, or a second interval of a previous model. This device shall be designed to collect anonymous user data from devices and store it locally.

2.2 Product Functions
The Black Box function is to record and store fitness tracker data, record and store the presence sensors’ data, and to request temperature, humidity, and operation status from Radio thermostat and record the response. Further details shall be provided in section 3.

2.4 Operating Environment
The Black Box is designed to operate in the home environment as well as few of its data collecting accessories. The Black Box will be design around the x86 architecture, the code base will be C-Sharp .Net. The Black Box will have a Black Box Sync application that will collect user anonymous data from the accessories and store it locally. The operating system will be Microsoft Windows 10 and will allow the Black Box to be configured to be a close secure server for the research data collected. The data collecting accessories are the Radio Thermostat CT80, the selected fitness tracker, and Black Box Presence Sensors that shall be design using the NodMCU embedded device, for recording user movements and room occupancy, temperature, and humidity.


2.5 Design and Implementation Constraints
The constraints of the Black Box are the limited to number hardware architectures in which the application can operate on these includes ARM and other hardware architecture that cannot emulate the x86 architecture. Other constraints are selecting accessories that can operate within the design requirements of the Black Box. Most smart IOT devices require direct access to the internet to convert and store user data, this defeat the purpose of the Black Box operation scope. This results in only a selected number of accessories that falls within the Black Box requirements and they are documented within this SRS document. The application design use for the Black Box is C-Sharp .Net and therefore is limited to certain operating system, this limits the operation capability on another operating system such as Linux, Raspberian and other none x86 base operating systems. The user of the Black Box has the responsibility to ensure that data are sync timely from their fitness tracker to the Black Box by being in range at least once every 12 hours. The other accessor will auto sync and data collected.


2.6 User Documentation
The user will be provided with a simple guide manual which will instruct them on where and how to place accessories in their home, how to check the Black Box status to ensure data collection is operating seamlessly. This manual will be distributed in hard copy and will be included in the Black Box research kit.


2.7 Assumptions and Dependencies
• Not all accessories may send data to the Black Box at a timely matter.
• Location placement of sensors and material structure of the user home may affect the range and delay of data gathering by the Black Box.
There are no known dependencies the project has on external factors, such as software components that has been intending to reuse from another project.

3. External Interface Requirements

3.1 User Interfaces

3.2 Hardware Interfaces
The Black Box shall have several software that shall allow it to operate and communicate with the sensors, fitness tracker and thermostat. The Microsoft Windows 10 operating system is the operating environment for the Black Box; this shall allow the hardware interface with the built-in network adaptor and Bluetooth adaptor that shall allow the collection of data from the surrounding connected devices. The hardware interface shall allow the Black Box to create a closed wireless network for the sensors and thermostat to connect and synchronize anonymous user data.

4. Internal Interface Requirements

4.1 Software Interfaces
The Black box operating system shall be Microsoft Windows 10. The research date shall be stored in an encrypted file on the Black Box and then shall be transferred by researcher to the server at the lab that shall be running SQL Server version 2017.
The Black Box software interface consist of three sections, the task scheduler, the plugin architecture, and the data collection layer. Each of these section works together but modular enough to be independent of each other in operation. The task scheduler determines how and when the plugin architecture operates. The plugin architecture is a set of plugins for each of the connected devices, these plugins manages the connection, data requests, and the management of multiple and new devices that are connected. The data collection layer manages the incoming data by formatting and placing it in a certain order for it to be encrypted and save to an encrypted file.

4.2 Presence Sensor Architecture Plugin Interface
The Black Box Presence Sensor architecture plugin (BBPresenceSensor) uses TCP/IP protocol to relay sensor information to the Black Box. The plug has a modular design that interconnect with different parts architecture and each has its own function.

4.3 Thermostat Sensor Architecture Plugin Interface
The Black Box Thermostat Sensor architecture plugin (BBThermostatSensor) uses REST service of GET and POST to manage data to and from the thermostat unit. The plug has a modular design that interconnect with different parts architecture and each has its own function. The plugin uses the GET protocol to log the thermostat current status.

4.4 Fitness Tracker Architecture Plugin Interface
The Black Box Fitness Tracker architecture (MiBand-Heartrate) uses Bluetooth connectivity to pair with Black Box and push updated heartrate notifications. The plug has a modular design that interconnect with different parts architecture and each has its own function.

4.5 Communications Interfaces
The communication interface for the Black Box shall be based on the two method of communication that the Black Box shall allow. The closed wireless network shall allow network communication of presence sensors over TCP/IP and thermostat to communicate over REST protocol for data collection. The thermostat along with the BBThermostatConnection library uses a Rest protocol that response to the requested data in Json format. The presence sensors along with the BBSensorConnection library shall receive data in string format. Due to the nature of the data that is been collected and the close network setup of the Black Box, there is no major requirement of any encryption during communication, but after the data is receive it is encrypted and stored. The other communication interface is Bluetooth; this shall be managed by the BLEManager and shall allow the ControlFrame application to communicate and synchronize user data with the selected fitness tracker.

5. System Features

This section shall describe the requirements for the Black Box by system features, the major services provided by the Black Box.

6.3 Security Requirements
The Black Box shall not collect or store sensitive user data, but it shall encrypt and store the collected data; therefor there shall be requirements regarding security or privacy issues surrounding use of the Black Box and protection of the data used or created by the Black Box. The data collected shall remain inaccessible to user and shall only be accessible only by a technician when transfer and decrypted.

Appendix B: Analysis Models

© Copyright Computer Universal Technology Systems