Projets-2016-2017-Plateform Analyse Données IOT/SRS

The document provides a template of the Software Requirements Specification (SRS). It is inspired of the IEEE/ANSI 830-1998 Standard.

Read first:
 * http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx
 * http://en.wikipedia.org/wiki/Software_requirements_specification
 * IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998

=1.  Introduction=

1.1 Purpose of the requirements document
A software requirements specification (SRS) is a description of a software system to be developed. It lays out functional and non-functional requirements, and may include a set of use cases that describe user interactions that the software must provide.

1.2 Scope of the product
The scope of our product is to provide a phone application/generic plateform which is able to analyze IoT data from a connected house.

Users of the application will be able to choose the type of analyzes they want to make, to know results : temperature average, energy consumption ...

Our application can receive non only house's information (from captors) but also externals information such as weather.

Clients will be able to add any informations from any advice at the end : connected car, connected greenhouse ...

1.3 Definitions, acronyms and abbreviations
IoT : The Internet of things (stylised Internet of Things) is the internetworking of physical devices and connected devices, smart devices, buildings, and other items—embedded with electronics, software, sensors, actuators, and network connectivity that enable these objects to collect and exchange data.

Users : People who interact with the application.

Docker (software) : Docker is an open-source project that automates the deployment of applications inside software containers.

1.4 References
Docker installation :

Grafana utilisation :

SpaceLynk :

1.5 Overview of the remainder of the document
=2.  General description=

2.1 Product perspective
The aim of the project is to provide a generic plateform that is able to display and analyze data from any connected objects.

2.2 Product functions
The plateform should make possible to :
 * select data sources
 * display data visualization in dashboards
 * compute custom statistics

2.3 User characteristics
Users of the plateform will be :
 * Students working on IOT (for example, students from IUT1 working on Terra Nostra project)
 * Owners of the objects, once they are setup
 * Territorial authorities could also be interested in some data

2.4 General constraints
Design a plateform that is :
 * easy to adapt to new sources of data
 * enough powerful to compute complex statistics
 * easy of use

2.5 Assumptions and dependencies
We assume that the connected objects are setup and deliver data.

=3.Specific requirements, covering functional, non-functional and interface requirements=
 * document external interfaces,
 * describe system functionality and performance
 * specify logical database requirements,
 * design constraints,
 * emergent system properties and quality characteristics.

3.1 Requirement X.Y.Z (in Structured Natural Language)
Function:

Description:

Inputs:

Source:

Outputs:

Destination:

Action:
 * Natural language sentences (with MUST, MAY, SHALL)
 * Graphical Notations : UML Sequence w/o collaboration diagrams, Process maps, Task Analysis (HTA, CTT)
 * Mathematical Notations
 * Tabular notations for several (condition --> action) tuples

Non functional requirements:

Pre-condition:

Post-condition:

Side-effects:

=4. Product evolution=

=5. Appendices= UML diagrams

=6. Index=