User Tools

Site Tools


2017_2018:s3:concprogobjet:td:td7

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
2017_2018:s3:concprogobjet:td:td7 [2017/11/24 08:17] – [Maison numérique] blay2017_2018:s3:concprogobjet:td:td7 [2017/12/06 09:42] (current) – [Rendu] blay
Line 3: Line 3:
  
 ====== Digital Home : application des DP ====== ====== Digital Home : application des DP ======
-<note warning>DRAFT</note>+
 Objectifs de ce TD :  Objectifs de ce TD : 
   - Appréhender une petite application dans sa totalité   - Appréhender une petite application dans sa totalité
Line 59: Line 59:
  
 QUESTION (5 mn):  QUESTION (5 mn): 
-  * Récupérer le code "bouchon" du capteur Physique. **VOUS n'avez pas le droit de le modifier !!** +  * Récupérer le code "bouchon" du {{:2017_2018:s3:concprogobjet:td:physicalsensor.jar|capteur Physique}}. **VOUS n'avez pas le droit de le modifier !!** ; vérifiez que les tests passent bien avant de passer à la suite.
 <note tip>Attention de manière générale on ne fait pas des tests sur des "string" pour tester l'état des objets.  <note tip>Attention de manière générale on ne fait pas des tests sur des "string" pour tester l'état des objets. 
  
Line 76: Line 76:
    - Tester vos capteurs logiciels.    - Tester vos capteurs logiciels.
  
- 
- 
-Voici le diagramme de classe concernant cette partie, pour vous aider éventuellement. 
- 
-{{ :2015_2016:s3:concprogobjet:td:iut.capteurs.jpg?direct&300 |}} 
  
 ===== Capteurs logiciels à état ===== ===== Capteurs logiciels à état =====
Line 103: Line 98:
  
  StateLazy sl;  StateLazy sl;
- PhysicalSensor ps = new PhysicalSensor("mySensorLux");+ Sensor ps = ....;
   
  @Before  @Before
Line 124: Line 119:
  
 QUESTION (15 mn):  QUESTION (15 mn): 
-   - Mettez à jour votre diagramme de classe si besoin.+   - Mettez à jour votre diagramme de classe si besoin en identifiant bien les éléments de design pattern.
    - Définissez la classe ''CapteurOnOffLazy''    - Définissez la classe ''CapteurOnOffLazy''
    - Testez votre classe, voici des exemples si cela peut vous aider.    - Testez votre classe, voici des exemples si cela peut vous aider.
Line 213: Line 208:
  
  
 +Voici la maison que vous devez modéliser : 
 +  - Un RDC, un étage et un extérieur.
 +  - Un étage avec 2 chambres, chacune avec son thermometre et un thermostat global à l'étage 
 +  - etc.
 +{{ :2015_2016:s3:concprogobjet:td:maisonnumerique.png?direct&300 |}}
  
 QUESTION (25 mn):  QUESTION (25 mn): 
-  * Modéliser la classe ''MaisonNumerique'' et **tout** ce qui est nécessaire pour répondre aux exigences.+  * Modélisez la classe ''MaisonNumerique'' et **tout** ce qui est nécessaire pour répondre aux exigences.
   * Avez-vous utilisé un ou des DP? Si oui, annotez vos classes avec des "stéréotypes" permettant d'identifier les différents rôles joués par vos classes.   * Avez-vous utilisé un ou des DP? Si oui, annotez vos classes avec des "stéréotypes" permettant d'identifier les différents rôles joués par vos classes.
-  * Implémenter et tester la.+  * Implémentez et testez la
 +  * Implémentez la maison donnée ci-après, et vérifiez que vous êtes bien capable de la représenter.
  
 <note tip>Oui oui, l'énoncé n'est pas mâché... Il est possible que vous deviez réécrire des codes, mais maintenant ce n'est plus un problème n'est-ce pas?  <note tip>Oui oui, l'énoncé n'est pas mâché... Il est possible que vous deviez réécrire des codes, mais maintenant ce n'est plus un problème n'est-ce pas? 
Line 225: Line 226:
  
  
-Voici la maison que vous devez modéliser :  + 
-  - Un RDCUn étage et un extérieur+Voici une nouvelle maison, décrite un peu différemment
-  - Un étage avec 2 chambres, chacune avec son thermometre et un thermostat global à l'étage  + 
-  - etc+<code> 
-{{ :2015_2016:s3:concprogobjet:td:maisonnumerique.png?direct&300 |}}+maison = new Maison(); 
 +rdc = new PartieMaison("RDC"); 
 +cuisine = new Piece("Cusine"); 
 +sam = new Piece("Salle e manger"); 
 + 
 +parentalPart = new PartieMaison("Partie Parentale"); 
 +chambreParents = new Piece("parents"); 
 +sdbParent = new Piece("salle de bain des parents"); 
 +parentalPart.addLieu(chambreParents); 
 +parentalPart.addLieu(sdbParent); 
 +parentalPart.addSensor(thermostatParental); 
 + 
 +rdc.addLieu(cuisine); 
 +rdc.addLieu(sam); 
 +rdc.addLieu(parentalPart); 
 + 
 + 
 +etage = new PartieMaison("Etage"); 
 +chambre1 = new Piece("Chambre1"); 
 +chambre2 = new Piece("Chambre2"); 
 +etage.addLieu(chambre2); 
 +etage.addLieu(chambre1); 
 + 
 +exterieur = new PartieMaison("Exterieur"); 
 +exterieur.addSensor(externeDetecteurLumiere); 
 +maison.addLieu(rdc); 
 +maison.addLieu(etage); 
 +maison.addLieu(exterieur); 
 + 
 +</code>
 ===== Tableaux de Contrôle ===== ===== Tableaux de Contrôle =====
  
Line 444: Line 474:
 ===== Rendu ===== ===== Rendu =====
  
-<box round rgb(150,290,190) rgb(198,226,150) 75%|Rendu en fonction du groupe de TD >  +<box round rgb(150,290,190) rgb(198,226,150) 75%|Rendu en fonction du groupe de TD : 15 décembre 2017  >  
-  * Mettez un mail à votre encadreur pour Mme Lecat ou [[http://jalon.unice.fr/cours/blay/Cours-blay-20150930110548/BoiteDepot-blay-20151205174816497430?mode_etudiant=false|par dépôt sur Jalon]] pour Mme Blay-Fornarino avec une archive à vos Noms, qui contient : +  *  [[http://jalon.unice.fr/cours/blay/Cours-blay-20150930110548/BoiteDepot-blay-20161122213044309075?mode_etudiant=true&tab=deposit|Dépôt sur Jalon]] pour Mme Blay-Fornarino avec une archive à vos Noms, qui contient : 
   * Un document contenant    * Un document contenant 
-             * votre modèle de classe final intégré dans un document pour que nous n'ayons pas à ouvrir différents modèles dans différentes versions de l'outil, +             * votre **modèle de classe final** intégré dans un document pour que nous n'ayons pas à ouvrir différents modèles dans différentes versions de l'outil,
-             * les évolutions du modèle+
              * des explications sur les raisons de ce modèle (dont vous êtes très fiers) et les leçons apprises.              * 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.    * Les codes et les tests. 
2017_2018/s3/concprogobjet/td/td7.1511511459.txt.gz · Last modified: 2017/11/24 08:17 by blay