Canne Blanche/SRS

The document provides the "Canne Blanche" 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
This Software Requirements Specification (SRS) identifies the requirements for project "Canne Blanche". In case of a open source project, we must present the requirement to others potential contributors. This document is a guideline about the functionalities offered and the problems that the system solves.

1.2 Scope of the product
This project consists of :
 * an experimentation of IoT technologies allowing visually impaired people to avoid obstacles
 * a comparison between three possible technologies known as :
 * LiDaR
 * VL53L1 Time of Flight Ranging Sensor
 * Movidius Neural Stick with a Raspeberry PI

1.3 Definitions, acronyms and abbreviations
Deep Learning : set of machine learning methods that use neural networks.

Neural Networks : program or system which is modelled on the human brain and is designed to imitate the brain's method of functioning, particularly the process of learning.

Visual impairment : also known as vision impairment or vision loss, is a decreased ability to see to a degree that causes problems not fixable by usual means, such as glasses.

Time of Flight : this is a property of an object, particle or acoustic, electromagnetic or other wave. It is the time that such an object needs to travel a distance through a medium.

1.4 References

 * The main page of the project: Canne Blanche
 * The code is findable on the Github page

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

2.1 Product perspective
The product is supposed to be an open source.

The aim of the product is to help visually impaired people.

2.2 Product functions
This system should allow visually impaired people to detect what is around them in order to avoid obstacle and to move more easily.

This system must be inexpensive in energy to guarantee a good autonomy.

2.3 User characteristics
Visually impaired people who needs help to detect or avoid obstacles and objects

2.4 General constraints
The system must be usable by a visually impaired person.

It should be compact and lightweight in order to be carryable on a white cane.

2.5 Assumptions and dependencies
=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=

5.1. SRS structure
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.

References:
 * 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

=6. Index=