Project 2014-2015-CannonBall/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
L'objectif de ce document est de présenter les exigences du projet CannonBall, quelles soient fonctionnelle ou non fonctionelles. Mais également les critères de qualité et les risques du projet.

1.2 Scope of the product
Ce projet est une part importante de la formation d'ingénieur RICM4. Il est d'une durée de 7 semaines et sera mené en équipe.

1.3 Definitions, acronyms and abbreviations
Nous devrons utiliser des termes spécifiques comme :
 * OpenCV (C'est une librairie implémentant des algorithmes de traitement et de reconnaissance d'image)
 * Mosquitto (That is an open source (BSD licensed) message broker that implements the MQ Telemetry Transport protocol versions 3.1 and 3.1.1. MQTT provides a lightweight method of carrying out messaging using a publish/subscribe model)
 * Arduino (That is an open-source electronics platform based on easy-to-use hardware and software.)
 * Servo-Moteur

1.4 References
This project is based on the work of :

From january 13th 2014 to march 2nd 2014 : Jules Legros and Benoit Perruche from Polytech'Grenoble. Link Wiki Air

From may 26th 2014 to june 16th 2014 : Thibaut Coutelou, Benjamin Mugnier and Guillaume Perrin from Ensimag. Link

1.5 Overview of the remainder of the document
=2.  General description= Le but principal de ce projet est de reprendre et d'améliorer les projets de l'année dernière pour permettre un meilleur retour d'information lors de l'utilisation de la voiture automatique créé dans le cadre du projet CannonBall

2.1 Product perspective
Notre projet doit permettre un retour d'information détaillé sur la voiture et les conditions de conduite.

2.2 Product functions

 * Voiture automatique
 * Restitution et analyse des données
 * Capture et affichage d'un flux vidéo

2.3 User characteristics
There are two type of user :
 * Searcher
 * Geek

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: Voiture

Source: Tablette, WebCam, Arduino

Outputs: Tablette

Destination: Ce projet est destiné a être présenté lors de concours

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

Fonctionnelles :


 * Doit remonter la voiture
 * Peut faire passer le code des Ensimag sur un support linux
 * Doit perfectionner les diffrérents modes (Rabbit, CannonBall, Map)
 * Doit améliorer l'utilisation du mosquitto pour permettre un meilleur retour d'information

Non functional requirements:
 * Embarqué : le matériel utilisé doit être petit pour pouvoir être intégré dans la voiture
 * Performant : le matériel utilisé doit être performant pour être adapté à la vitesse de la voiture

Pre-condition:
 * Réussir la récupération du code existant
 * Comprendre du code existant
 * Réussir à remontrer la voiture et donc faire preuve d'une grande prudence lors du montage

Post-condition:
 * Faire un retour d'information pour recalibrer la voiture

Side-effects:

=4. Product evolution=

On pourrait, dans un objectif futur, mettre en place l'utilisation d'un oculus

=5. Appendices= =6. Index=