Projet-2014-2015-OpenHAB-ExtendedGUI/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 Objectif du document d'exigence
Ce document présente l'objectif du projet OpenHAB Extended GUI, ainsi que les exigences fonctionnelles et non fonctionnelles, les risques, et les critères de qualité.

1.2 Cadre du produit
Ce projet est réalisé pour deux étudiants en RICM4 (Réseaux Informatiques et Communication Multimédia) à Polytech' Grenoble dans le cadre de leur projet tuteuré par Didier DONSEZ. La durée est fixé à 7 semaines a compté de 13 janvier 2015.

1.3 Définitions, acronymes et abréviations

 * GUI : Graphical User Interface. est un dispositif de dialogue homme-machine, dans lequel les objets à manipuler sont dessinés sous forme de pictogrammes à l'écran, que l'usager peut utiliser en imitant la manipulation physique de ces objets avec un dispositif de pointage, le plus souvent une souris.(src. Wikipédia).


 * UPnP : Universal Plug and Play. Le but de l'UPnP est de permettre à des périphériques de se connecter aisément et de simplifier la mise en œuvre de réseaux à la maison (partages de fichiers, communications, divertissements) ou dans les entreprises. UPnP le permet en définissant et en publiant les protocoles de commande UPnP au-dessus des standards de communication de l'Internet.(src. Wikipédia).

1.4 Références

 * Nous avons pu nous aider d'un travail réalisé par les RICM4 de l'année précédente : |COQP
 * Mais aussi du projet des RICM5 2014 :|Extensions_XBMC

1.5 Présentation du restant du document
=2.  Description générale= L'objectif de ce projet est de concevoir un système d'information innovant pour la classe de demain. Le but de ce projet est de faciliter mais surtout d'automatiser des tâches quotidiennes effectuées en salle de cours. Bien qu'il y ait quatre projets gravitant autour de la classe intelligente et réalisés par des élèves de l'ENSIMAG, notre module doit s'intégrer avec les autres afin d'obtenir une réelle infrastructure innovante.

2.1 Perspective du produit
Notre produit doit répondre au scénario suivant : Les élèves entrent en classe et signalent leur présence puis s'installent à leur poste de travail. L'enseignant fait de même, et accède à sa plateforme de travail où il dispose des cours et examens qu'il a éventuellement pu préparer à l'avance. L'enseignant peut alors soumettre un QCM aux étudiants. Ceux-ci y répondent de manière individuelle, puis soumettent leur réponse à l'enseignant. Ce dernier a alors la possibilité de consulter les résultats, et les afficher de manière thématique. De ce fait, il dispose du droit de revenir sur un point du cours qu'il lui parait intéressant de souligner (notamment si une majorité d'élèves n'en a pas bien saisi le sens), et il peut également réorganiser les étudiants en groupe de travail.

2.2 Fonctions du produit

 * Identification sécurisée et individuelle
 * Création d'éléments de cours (slides de cours, QCM,...)
 * Réponse au QCM par les étudiants
 * Affichage des résultats
 * Réorganisation des élèves en groupe de travail selon leur niveau

2.3 Caractéristiques de l'utilisateur
Il y a deux types d'utilisateur pour ce produit et en deux entrées différentes. Le premier est l'enseignant qui peut éditer des cours et des examens et les soumettre à ses élèves. Il y a ensuite les élèves qui répondent au QCM via leur plateforme de travail et soumettent leurs réponses à l'enseignant.

2.4 Contraintes générales

 * Le développement des applications doit être fait sur des tablettes.
 * Besoin d'une connexion wifi relativement stable au sein de la classe.

2.5 Hypothèses et dépendances

 * Le wifi environnant filtre les sites internet accessibles (pour éviter la triche; on suppose ça ou bien on considère que le temps de la question est trop court pour aller voir google?)
 * L'environnement de la salle permet de relier les tablettes au serveur de moodle.

=3.  Exigences spécifiques, exigences fonctionnelles, non fonctionnelles et exigences d'interface=
 * document external interfaces,
 * describe system functionality and performance
 * specify logical database requirements,
 * design constraints,
 * emergent system properties and quality characteristics.

3.1 Exigence X.Y.Z (en Langage Naturel Structuré)
Fonction: Réalisation et gestion de QCM dans le cadre de la SmartClassroom

Description: Notre projet consiste à développer un système qui permette d'une part à un professeur de préparer ses cours et de créer des examens sous forme de QCM et d'autre part à ses élèves de répondre à ces examens. Il faudra également gérer l'identification de chaque élève afin de contrôler les présences de chacun lors des cours

Inputs: Tablettes des étudiants et du professeur

Source: Tag NFC, écran tactile

Outputs: Identification, réponses aux questions de chaque élève

Destination: Ce projet est destiné à être intégré au sein de l'environnement d'une Smart Classroom et est à destination des enseignants et des étudiants.

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

Côté enseignant : Côté étudiant :
 * Doit permettre la création des QCM
 * Doit permettre la récupération des résultats
 * Pourrait effectuer le tri des résultats en fonctions des élèves/ des questions/ des réponses
 * Doit permettre l'identification à l'aide d'un ID personnel ou d'un tag NFC
 * Doit permettre de répondre au QCM
 * Peut donner un accès direct au résultat
 * Doit permettre d'effectuer des modifications avant envoi du QCM
 * Doit permettre l'identification à l'aide d'un ID personnel ou d'un tag NFC

Exigences non-fonctionnelles:
 * Facilité d'utilisation : Pas d'expérience utilisateur requise
 * Portabilité : Utilisation sur tablette
 * Taille : L'application ne dépasse pas quelques Mo
 * Utilisabilté : Interface claire et travaillée, de façon à pourvoir une expérience utilisateur efficace
 * Robustesse: L'application doit continuer à fonctionner et surveiller lors d'une panne du réseau

Pre-condition:
 * Côté matériel :
 * - une tablette doit être disponible pour chaque élève et pour le professeur
 * - chaque élève doit être muni d'un badge afin de l'identifier


 * Côté application :
 * - une connexion WiFi doit être maintenue dans la salle de classe

Post-condition:
 * le professeur est capable de créer des supports pour son cours et des QCM via l'application
 * les élèves sont identifiés grâce à leur badge

Effets secondaires:

=4. Evolution du produit= Le projet SmartClassroom est basé sur un ensemble de scénarios réalisés par plusieurs groupes, la partie réalisée ici n'étant que l'un d'entre eux. De futures améliorations de cet environnement pourront être proposées et implémentées par de prochains groupes en charge du développement de cette classe.

=5. Annexes=

=6. Index=