Projet-2014-2015-RobAIR/SRS

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

=Introduction=

Objectif du document d'exigence
Ce document présente les exigences fonctionnelle et non fonctionelles, les critères de qualité et les risques du projet RobAIR.

Cadre du produit
Ce projet est intégré à la formation d'ingénieur RICM4 (Réseaux Informatiques et Communication Multimédia) de l'école Polytech Grenoble dans le module Génie Logiciel. Celui ci se déroulera sur une durée de 7 semaines et sera mené en équipe étroitement lié avec des étudiants de 3I.

Définitions, acronymes et abréviations

 * STM32F030R8T6 Value line -- Nucleo (electronics platform based on easy-to-use hardware and software.)
 * STM32 describes the ST M32 MCU product line
 * R describes the pin count (R for 64 pins)
 * 8 describes the code size (8 for 64K)
 * MEMS Inertial and Environmental -- Nucleo Expansion
 * RIOT
 * Firefox OS

Références
Le projet est basé sur le travail :

Présentation du restant du document
= Description générale= RobAIR est une plateforme de téléprésence. Sa principale fonction est d'agir à la place de son utilisateur, lorsque ce dernier ne peut être physiquement présent dans un lieu. Ses domaines d'application sont variés, on peut notamment citer le cas des conférenciers ne pouvant pas se permettre un déplacement, ou bien pour qu'un élève continue d'assister à ses cours lors d'une hospitalisation. Il s'agit d'un projet qui a débuté il y a quelques années, sur lequel nous travaillons en parallèle avec la filière 3I.

Le but principal de ce projet est de reprendre et d'améliorer les projets de l'année dernière dans l'optique de développer une nouvelle gamme utilisant le micro-contrôleur STM32F030R8T6 ainsi qu'une carte MEMS intégrant divers capteurs. De plus RobAIR devra communiquer avec une tablette via Bluetooth low consommation via une interface sous FirefoxOS pour le téléguidage.

Fonctions du produit

 * Robot de téléprésence et téléguidage
 * Restitution d'un flux vidéo

Caractéristiques de l'utilisateur

 * Tout public

Contraintes générales

 * Batterie

Hypothèses et dépendances
=Exigences spécifiques, exigences d'interface, exigences fonctionnelles, exigences non fonctionnelles =

Requirement Projet-2014-2015'RobAIR (in Structured Natural Language)
Fonction: Télémanipulation de RobAIR dans le cadre éducatif, touristique ou professionel

Description: Ce projet consiste à développer une plateforme de téléprésence par le biais de RobAIR. Ce robot permettra à un utilisateur de participer à des événements alors qu'il ne peut être physiquement présent. Il faudra gérer l'identification de chaque utilisateur lors de la connection au RobAIR afin de contrôler et sécuriser l'utiisation de celui ci.

Ses domaines d'application sont variés, on peut notamment citer le cas des conférenciers ne pouvant pas se permettre un déplacement, ou q'un élève continue d'assister à ses cours lors d'une hospitalisation, ou bien la visite interactive d'un musée.

Inputs: Tablettes, Logiciel (Interface Homme Machine)

Source: Tablette, WebCam, STM32F030R8T6

Outputs: Tablette, Logiciel (Interface Homme Machine)

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

Fonctionnelles:
 * Portage arduino vers STM32F030R8T6
 * Commande à distance via tablette
 * Création d’une IHM
 * Mise en place d'une connexion bluetooth entre tablette et le robot
 * Extension grâce aux nouvelles fonctions de la carte MEMS (accéléromètre, gyroscope, thermomètre, baromètre…)
 * Doit remonter le robot

Non functional requirements:
 * Utilisation de C++ (STM32F030R8T6)
 * Utilisation de Firefox OS (IHM)
 * Low cost (Énergie et argent)
 * Embarqué : le matériel utilisé doit être petit pour pouvoir être intégré dans le robot
 * Performant : le matériel utilisé doit être performant pour être adapté à la vitesse du robot

Qualité:
 * Robustesse (privilégier la qualité à la quantité)
 * Maintenabilité

Pre-condition:
 * Récupération du code existant sur Git
 * Compréhension du code existant
 * Remontage du robot

Post-condition:

Side-effects:

=Product evolution=

=Appendices=

=Références= 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
 * http://imag-moodle.e.ujf-grenoble.fr/mod/resource/view.php?id=8670
 * https://github.com/RIOT-OS/RIOT
 * http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1847?sc=stm32nucleo
 * http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1847/PF259997
 * http://www.st.com/st-web-ui/static/active/jp/resource/technical/document/user_manual/DM00092306.pdf


 * https://github.com/RIOT-OS/RIOT/wiki/Getting-started-with-STM32F%5B0|3|4%5Ddiscovery-boards


 * http://fablab.ensimag.fr/index.php/PILBI-2014-Team4
 * https://github.com/DavidLevayer/robAIR