User Tools

Site Tools


2014_2015:s3:concprogobjet:td:td6

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
2014_2015:s3:concprogobjet:td:td6 [2014/11/02 21:19]
blay [Test d'intégration et Capteur Passif Réactif]
2014_2015:s3:concprogobjet:td:td6 [2015/03/23 15:49] (current)
blay [Capteurs Passifs]
Line 40: Line 40:
 ===== Capteurs Passifs ===== ===== Capteurs Passifs =====
  
-Les capteurs "​passifs"​ sont des capteurs qu'il faut interroger pour obtenir la valeur correspondant par exemple à une température ou un éclairage. ​ A un capteur passif nous associons un capteur physique qui vous est donné. Il s'agit d'un composant très simple qui lit et écrit une valeur dans un fichier. Il vous sert de "​bouchon"​ puisque nous ne disposons pas d'un vrai capteur physique auquel nous connecter.+Les capteurs "​passifs"​ sont des capteurs qu'il faut interroger pour obtenir la valeur correspondant par exemple à une température ou un éclairage. ​ A un capteur passif nous associons un {{:​2014_2015:​s3:​concprogobjet:​td:​capteurphysique.zip|capteur physique}} qui vous est donné. Il s'agit d'un composant très simple qui lit et écrit une valeur dans un fichier. Il vous sert de "​bouchon"​ puisque nous ne disposons pas d'un vrai capteur physique auquel nous connecter
 +A votre convenance un capteur passif peut modifier la valeur lue dans le capteur physique pour lui associer une unité.
  
  
Line 47: Line 48:
    - Définir la classe CapteurPassif en lui associant un capteurPhysique. ​    - Définir la classe CapteurPassif en lui associant un capteurPhysique. ​
  
 +Voici les codes dont vous avez besoin : 
 +   ​*{{:​2014_2015:​s3:​concprogobjet:​td:​capteurphysique.zip|}}
 +   ​*{{:​2014_2015:​s3:​concprogobjet:​td:​fichiero.zip|}}
 ===== Pièce équipée ===== ===== Pièce équipée =====
  
Line 175: Line 179:
 ===== Pièce numérique "​intelligente"​ ===== ===== Pièce numérique "​intelligente"​ =====
  
-L'​objectif est à présent de définir des pièces intelligentes ​comme contenant des capteurs passifs et des capteurs passifs réactifs. Lorsque ​l'un de ces derniers ​capteurs a sa valeur modifiée, la pièce est notifiée du changement et le update consiste à ré-afficher les valeurs de tous les capteurs.+L'​objectif est à présent de définir des pièces intelligentes ​qui lorsque ​l'un de ses capteurs ​"​Observable" ​a sa valeur modifiée, la pièce est notifiée du changement et le update consiste à ré-afficher les valeurs de tous les capteurs.
  
  
-Question ​: Vous devez définir une "​SmartPiece"​ sans modifier une Piece.+QUESTION (10mn) ​ 
 +    * Vous devez définir une "​SmartPiece"​ sans modifier une Piece.
  
  
Line 185: Line 190:
 Lorsque l'on ajoute un capteur à une pièce de la maison on veut que le tableau de bord de la maison prenne automatiquement en compte cette évolution.  ​ Lorsque l'on ajoute un capteur à une pièce de la maison on veut que le tableau de bord de la maison prenne automatiquement en compte cette évolution.  ​
  
-Question ​: Modifier vos classes pour prendre en compte cette nouvelle exigence, si vous ne l'​aviez pas déjà fait. +QUESTION ​ 
 +    * Modifier vos classes pour prendre en compte cette nouvelle exigence, si vous ne l'​aviez pas déjà fait. 
 Si vous le voulez, vous êtes autorisé à cette étape à utiliser les classes java ''​java.util.Observable''​ et ''​java.util.Observer''​. Si vous le voulez, vous êtes autorisé à cette étape à utiliser les classes java ''​java.util.Observable''​ et ''​java.util.Observer''​.
  
-===== Capteurs ​Réactifs ​=====+===== Capteurs ​actifs ​=====
  
 Un capteur actif est associé à un capteur physique. Il scrute régulièrement la valeur physique du capteur physique qui lui est associé et notifie ses observeurs chaque fois qu'il détecte un changement. Un capteur actif est associé à un capteur physique. Il scrute régulièrement la valeur physique du capteur physique qui lui est associé et notifie ses observeurs chaque fois qu'il détecte un changement.
Line 195: Line 201:
 Voici les éléments de code dont vous avez besoin pour le définir :  Voici les éléments de code dont vous avez besoin pour le définir : 
    ​* ​ Ce code vous permet de le déclarer comme pouvant s'​exécuter "dans une thread à part" : <code Java>    ​* ​ Ce code vous permet de le déclarer comme pouvant s'​exécuter "dans une thread à part" : <code Java>
-public class CapteurReactif ​ ... implements... Runnable{+public class CapteurActif ​ ... implements... Runnable{
 </​code>​ </​code>​
  
Line 221: Line 227:
  
  
-QUESTION (15mn) :   +QUESTION (30mn) :   
-     * Définir les capteurs ​réactifs+     * Définir les capteurs ​actifs 
 + 
 + 
 +===== Refactoring et Pattern Composite ===== 
 + 
 +On vient de réaliser que des dispositifs peuvent être associés directement à la maison et pas forcément aux pièces. 
 + 
 +Proposer une modélisation qui préserve l'​ensemble de vos "​tests"​ mais vous permet de prendre en compte cet aspect. 
 + 
 + 
 + 
 + 
 + 
 +<box round rgb(150,​290,​190) rgb(198,​226,​150) 75%|Rendu en fonction du groupe de TD Pour le Groupe S3A le 23/01/2015 à 23h59 >  
 +  * Mettez un mail à votre encadreur avec soit l'​adresse où récupérer le TD soit le TD lui-même 
 +  * Dans votre répertoire de projet se trouvent :  
 +       - Un document contenant  
 +             * votre modèle final (Tout le monde n'​aboutit pas au même modèle, c'est certain) (merci de l'​intégrer dans un document pour que nous n'​ayons pas à ouvrir différents modèles dans différentes versions de l'​outil). 
 +             * des explications sur les raisons de ce modèle (dont vous êtes très fiers) et les leçons apprises. 
 +       - Les codes et les tests.  
 +</​box>​ 
 + 
  
  
Line 370: Line 398:
 Si maintenant on veut que tout message dans la boite SNAPCHAT soit ephemere ? Si maintenant on veut que tout message dans la boite SNAPCHAT soit ephemere ?
  
- 
-===== Estimation de performance ===== 
- 
- 
-Une route est définie par des Tronçons. Un tronçon est défini par deux Positions et une longueur. Une Position est définie par un nom. 
- 
-Calculer le plus cours chemin entre deux positions. 
-Déterminer la complexité de votre algorithme. 
  
  
-=> Outils de recherche de code dupliqué? 
  
  
2014_2015/s3/concprogobjet/td/td6.1414959562.txt.gz · Last modified: 2014/11/02 21:19 by blay