Difference between revisions of "Project 2014-2015-CannonBall/SRS"

From air
Jump to navigation Jump to search
 
(11 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The document provides a template of the Software Requirements Specification (SRS). It is inspired of the IEEE/ANSI 830-1998 Standard.
+
The document provides a template of the '''Software Requirements Specification''' (SRS). It is inspired of the IEEE/ANSI 830-1998 Standard.
   
   
Line 30: Line 30:
 
=1. Introduction=
 
=1. Introduction=
 
==1.1 Purpose of the requirements document==
 
==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.
 
   
 
The purpose of this document is to present the requirements of the project CannonBall, which are functional or not. But also quality standards and project risks.
 
The purpose of this document is to present the requirements of the project CannonBall, which are functional or not. But also quality standards and project risks.
   
 
==1.2 Scope of the product==
 
==1.2 Scope of the product==
 
Ce projet est une part importante de la formation d'ingénieur RICM4.
 
   
 
This project is an important part of the engineering course RICM4.
 
This project is an important part of the engineering course RICM4.
   
 
==1.3 Definitions, acronyms and abbreviations==
 
==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
 
   
 
We will have to use specific terms like :
 
We will have to use specific terms like :
* OpenCV (A library who implements processing algorithms and image recognition)
+
* OpenCV : this is a library which implements processing algorithms and image recognition
* 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)
+
* Mosquitto : this 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.)
+
* Arduino : this is an open-source electronics platform based on easy-to-use hardware and software.
  +
* Servomotor : this is a rotary actuator that allows for precise control of angular position, velocity and acceleration
* Servo-Moteur
 
   
 
==1.4 References==
 
==1.4 References==
Line 65: Line 55:
 
==1.5 Overview of the remainder of the document==
 
==1.5 Overview of the remainder of the document==
 
=2. General description=
 
=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
 
  +
The main goal of this project is to take over and improve our predecessors' work to allow better feedback when using the automatic car created under the CannonBall project.
  +
 
==2.1 Product perspective==
 
==2.1 Product perspective==
   
Notre projet doit permettre un retour d'information détaillé sur la voiture et les conditions de conduite.
+
Our project will enable a detailed feedback on the car and driving conditions.
   
 
==2.2 Product functions==
 
==2.2 Product functions==
   
  +
* Automatic car
* Voiture automatique
 
* Restitution et analyse des données
+
* Restitution and analysis
* Capture et affichage d'un flux vidéo
+
* Capture and display of a video stream
   
 
==2.3 User characteristics==
 
==2.3 User characteristics==
Line 97: Line 89:
 
'''Description''':
 
'''Description''':
   
'''Inputs''': Voiture
+
'''Inputs''': Voiture (Car)
   
'''Source''': Tablette, WebCam, Arduino
+
'''Source''': Tablette, WebCam, Arduino (tablet, webcam, arduino)
   
'''Outputs''': Tablette
+
'''Outputs''': Tablette (tablet)
   
'''Destination''': Ce projet est destiné a être présenté lors de concours
+
'''Destination''': Ce projet est destiné a être présenté lors de concours (This project is intended to be presented at contest)
   
 
'''Action''':
 
'''Action''':
Line 111: Line 103:
 
* Tabular notations for several (condition --> action) tuples
 
* Tabular notations for several (condition --> action) tuples
   
  +
'''Functionnal requirements''' :
Fonctionnelles :
 
   
* Doit remonter la voiture
+
* Doit remonter la voiture (reassembling of the car)
* Peut faire passer le code des Ensimag sur un support linux
+
* Peut faire passer le code des Ensimag sur un support linux (modify the code to be compatible with linux)
* Doit perfectionner les diffrérents modes (Rabbit, CannonBall, Map)
+
* Doit perfectionner les diffrérents modes (Rabbit, CannonBall, Map) (perfect the different modes)
* Doit améliorer l'utilisation du mosquitto pour permettre un meilleur retour d'information
+
* Doit améliorer l'utilisation du mosquitto pour permettre un meilleur retour d'information (improve the use of mosquitto for better feedback)
   
   
 
'''Non functional requirements''':
 
'''Non functional requirements''':
* Embarqué : le matériel utilisé doit être petit pour pouvoir être intégré dans la voiture
+
* Embarqué : le matériel utilisé doit être petit pour pouvoir être intégré dans la voiture
  +
(Embedded: The equipment used must be small to be integrated in the car)
 
* Performant : le matériel utilisé doit être performant pour être adapté à la vitesse de la voiture
 
* Performant : le matériel utilisé doit être performant pour être adapté à la vitesse de la voiture
  +
(Powerful: the material used must be efficient to be adapted to the speed of the car)
   
 
'''Pre-condition''':
 
'''Pre-condition''':
* Réussir la récupération du code existant
+
* Réussir la récupération du code existant (Recover of existing code)
* Comprendre du code existant
+
* Comprendre du code existant (Understand of existing code)
* Réussir à remontrer la voiture et donc faire preuve d'une grande prudence lors du montage
+
* Réussir à remonter la voiture (Successfully rebuilt the car)
   
 
'''Post-condition''':
 
'''Post-condition''':
* Faire un retour d'information pour recalibrer la voiture
+
* Faire un retour d'information pour calibrer la voiture
  +
(Make a feedback to calibrate the car)
   
 
'''Side-effects''':
 
'''Side-effects''':
Line 135: Line 130:
 
=4. Product evolution=
 
=4. Product evolution=
   
On pourrait, dans un objectif futur, mettre en place l'utilisation d'un oculus
+
On pourrait, dans un objectif futur, mettre en place l'utilisation d'un oculus.
   
 
=5. Appendices=
 
=5. Appendices=
 
=6. Index=
 
=6. Index=
  +
  +
UML page :
  +
* http://air.imag.fr/index.php/Project_2014-2015-CannonBall/UML

Latest revision as of 15:25, 2 February 2015

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


Read first:

Document History
Version Date Authors Description Validator Validation Date
0.1.0 janvier 2015 LE JEAN Alexandre, MAMMAR Malek, PELLOUX-PRAYER Ophélie, RODRIGUES Hugo TBC TBC TBC

1. Introduction

1.1 Purpose of the requirements document

The purpose of this document is to present the requirements of the project CannonBall, which are functional or not. But also quality standards and project risks.

1.2 Scope of the product

This project is an important part of the engineering course RICM4.

1.3 Definitions, acronyms and abbreviations

We will have to use specific terms like :

  • OpenCV : this is a library which implements processing algorithms and image recognition
  • Mosquitto : this 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 : this is an open-source electronics platform based on easy-to-use hardware and software.
  • Servomotor : this is a rotary actuator that allows for precise control of angular position, velocity and acceleration

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

The main goal of this project is to take over and improve our predecessors' work to allow better feedback when using the automatic car created under the CannonBall project.

2.1 Product perspective

Our project will enable a detailed feedback on the car and driving conditions.

2.2 Product functions

  • Automatic car
  • Restitution and analysis
  • Capture and display of a video stream

2.3 User characteristics

There are two type of user :

  • Searcher
  • Geek

2.4 General constraints

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 (Car)

Source: Tablette, WebCam, Arduino (tablet, webcam, arduino)

Outputs: Tablette (tablet)

Destination: Ce projet est destiné a être présenté lors de concours (This project is intended to be presented at contest)

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

Functionnal requirements :

  • Doit remonter la voiture (reassembling of the car)
  • Peut faire passer le code des Ensimag sur un support linux (modify the code to be compatible with linux)
  • Doit perfectionner les diffrérents modes (Rabbit, CannonBall, Map) (perfect the different modes)
  • Doit améliorer l'utilisation du mosquitto pour permettre un meilleur retour d'information (improve the use of mosquitto for better feedback)


Non functional requirements:

  • Embarqué : le matériel utilisé doit être petit pour pouvoir être intégré dans la voiture

(Embedded: The equipment used must be small to be integrated in the car)

  • Performant : le matériel utilisé doit être performant pour être adapté à la vitesse de la voiture

(Powerful: the material used must be efficient to be adapted to the speed of the car)

Pre-condition:

  • Réussir la récupération du code existant (Recover of existing code)
  • Comprendre du code existant (Understand of existing code)
  • Réussir à remonter la voiture (Successfully rebuilt the car)

Post-condition:

  • Faire un retour d'information pour calibrer la voiture

(Make a feedback to calibrate the car)

Side-effects:

4. Product evolution

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

5. Appendices

6. Index

UML page :