Difference between revisions of "SRS - Tachymètre"

From air
Jump to navigation Jump to search
Line 108: Line 108:
 
: - Le technicien remplit un formulaire :
 
: - Le technicien remplit un formulaire :
 
:: - L’identifiant du capteur
 
:: - L’identifiant du capteur
:: - Coordonnées GPS du capteur (longitude latitude, altitude (décimales))
+
:: - Coordonnées GPS du capteur (longitude latitude, altitude (décimales))
 
 
 
 
 
 
 
 
 
 
* document external interfaces,
 
* describe system functionality and performance
 
* specify logical database requirements,
 
* design constraints,
 
* emergent system properties and quality characteristics.
 
   
 
== Requirement X.Y.Z (in Structured Natural Language)==
 
== Requirement X.Y.Z (in Structured Natural Language)==

Revision as of 15:10, 10 February 2016

Document History
Version Date Authors Description Validator Validation Date
0.0.1 18/01/2016 MACE Quentin, NOUGUIER Thibaut, RAMEL Régis Développement d'une application de détection de passages devant un capteur de présence Oliver Gattaz 06/04/2016


Introduction

Objectif du projet

L’objectif du projet est de prendre en main les outils de la plateforme Cohorte pour développer un application web qui affiche l’historique des mesures effectuées par un capteur de présence et stockées sur un serveur.
Le cœur du projet est d’arriver à transmettre et à traiter l’information des mesures sur le capteur jusqu’à l’affichage des données élaborées sur l’interface utilisateur. Cela comprend toutes les étapes de traitement des données comme le passage d’une mesure de fréquence à une mesure de vitesse (effet Doppler), ainsi que les étapes d’analyse des données comme l’extraction des mesures utiles parmi le bruit fréquentiel.

Visée du produit

L’implémentation du capteur sur le Raspberry Pi et le traitement de ces mesures peuvent être intégrés à n’importe quelle autre application nécessitant la détection de mouvements ou de passages devant le capteur. Ces étapes de traitement et d’envoi ou de stockage doivent être autonomes pour qu’un nombre quelconque de capteurs puissent faire partie de l’application.
Le stockage sur le serveur et l’interface doivent être conçus pour être évolutifs. En effet, lors de notre projet nous ne disposons que d’un capteur, mais l’application à développer doit pouvoir interroger et afficher les données de plusieurs capteurs, qui seront reconnus par un identifiant unique, un nom, un propriétaire, des coordonnées GPS, etc… De plus, une interface doit être implémentée sur le Raspberry pour que le propriétaire puisse définir ces attributs sur le capteur pour qu’il soit recensé avec clarté sur l’interface utilisateur.
De cette façon, le système aura la possibilité d’être utilisé par des clients ou d’autres entreprises.

Définitions, acronymes et abréviations

  • Raspberry Pi : Ordinateur monocarte (processeur ARM) à taille réduite, compatible avec de nombreux périphériques (clavier, souris, …). Le Raspberry Pi peut héberger un programme, offrant ainsi de nombreuses possibilité d’utilisation. Pour notre projet, le Raspberry nous sert de support pour le capteur. De plus, il héberge le code qui va traiter les mesures et les envoyer au serveur.
  • Cohorte : plate-forme de développement développé par Isandlatech qui fournit des outils pour créer des applications réparties sur plusieurs systèmes indépendants, y compris au niveau du langage de programmation. Il s’agit d’outils orientés composant et services, ce qui permet une importante flexibilité et une application dont les différents isolats sont indépendants.

References

Overview of the remainder of the document

Description du projet

Perspective du produit

Le produit a pour but d’être un détecteur de présence dont les mesures sont sauvegardées dans le but d’une interrogation par une interface utilisateur. On peut alors imaginer de nombreuses utilisations comme de la surveillance domestique (radar lié avec une alarme), ou tout simplement un appareil de mesure de trafic. Les données pouvant être triées et analysées (moyennes, histogramme), il y a une possibilité d’étude poussée de tronçon routier.
Dans une version plus aboutie du produit, on pourrait introduire un système d’authentification. Cela permettrait d’implémenter des groupes d’utilisateurs avec des permissions d’accès différentes selon les groupes.

Fonctionnalités

Le capteur permet d’avoir une mesure de proximité et de vitesse. Le but est donc de mesurer la vitesse des objets passant devant le capteur (piétons, cyclistes, voiture, …) et de dater cette mesure. Les données sont stockées sur un serveur qui va permettre l’utilisation d’une interface graphique. Cette interface utilisateur affiche l’historique des mesures, avec diverses actions comme la sélection d’une plage de dates pour un affichage plus ciblé, ou encore la présentation des données sous la forme de graphiques pour permettre une analyse plus pointue du trafic.

Caractéristiques utilisateur

Contraintes générales

Les contraintes de ce projet sont l’utilisation de Cohorte et du Raspberry Pi comme support pour le capteur.
Il n’y a pas de contraintes pour le langage de programmation, car grâce à Cohorte, les différents composants peuvent être développés dans différents langage : Python ou Java pour le Raspberry, Java et SQLite pour le stockage sur le serveur, et HTML/CSS/Javascript pour l’interface web.

Assumptions and dependencies

Specific requirements, covering functional, non-functional and interface requirements

Exigences fonctionnelles

Fonction d’acquisitions des données

Récupération des valeurs physiques : Vitesse et proximité Isolation et interprétation des mesures : Seuil (prévoir un buffer si le traitement est trop long).
Propagation des données par consommation d’un service fourni par un composant distant.

Fonction d’agrégation

Stockage de la donnée (service write).

Fonction interface utilisateur

Composants de récupération et de présentation des données.

Exigences non-fonctionnelles

Qualité du réseau

Eventuellement envisager la mise en œuvre de solution de communication pour le Raspberry Pi pour garantir une bonne disponibilité.

Environnement du capteur

Perturbation possible des mesures.

Exigences de l’interface

Ergonomie

Compatibilité multi-support (différents navigateurs, version mobile)

Interactions (sélection de plage de dates, affichage de graphiques, …).


Cas d'usage

Interaction de l’utilisateur avec l’interface web

- L’utilisateur entre sur le site web et s’authentifie avec un login et un mot de passe
- L’utilisateur peut choisir de cliquer sur “tout” pour afficher l’ensemble des données de tous les capteurs (triées par date décroissante)
-la date / vitesse moyenne / sens / capteur
- L’utilisateur choisit un capteur parmi la liste des capteurs installés (vert : connecté, rouge : déconnecté) :
-onglet données élaborées :
-le système affiche les données élaborées dans un tableau (triées par date décroissante)
- la date (Heure / Minute / Jour / Mois / Année) / vitesse moyenne (km/h) / sens (sens du capteur, contresens du capteur)
- L’utilisateur peut cliquer sur les liens de pagination pour naviguer dans les données élaborées
- L’utilisateur peut filtrer les données affichées en fonction des paramètres suivants :
- entre deux dates d1 et d2
- une vitesse max / min.
- onglet données synthétisées :
- A définir avec Olivier
- onglet administrateur :
- le système affiche un tableau des événements relatifs au capteur sélectionné (trié par date décroissante) :
- la date (Heure / Minute / Jour / Mois / Année)
- l’état (connecté, déconnecté)
- L’utilisateur peut se déconnecter

Interaction du technicien avec le capteur

- Le technicien branche le capteur au réseau internet du client
- Le technicien démarre le capteur

Interaction du technicien avec l’interface d’administration du capteur

- Le technicien ouvre la page d’administration du capteur
- Le technicien remplit un formulaire :
- L’identifiant du capteur
- Coordonnées GPS du capteur (longitude latitude, altitude (décimales))

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:

. Product evolution

Appendicies

Read first:

Cohorte

  • cohorte.github.io

Microwave Motion Sensor

Making the electronics for $7 USD doppler motion sensor

Raspberry Frequency measurment

Index