2017_2018:s3:concprogobjet:td:td7
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| 2017_2018:s3:concprogobjet:td:td7 [2017/11/24 08:07] – [Capteurs logiciels à état] blay | 2017_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> | + | |
| 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 " | + | * Récupérer le code " |
| <note tip> | <note tip> | ||
| Line 76: | Line 76: | ||
| - Tester vos capteurs logiciels. | - Tester vos capteurs logiciels. | ||
| - | |||
| - | |||
| - | Voici le diagramme de classe concernant cette partie, pour vous aider éventuellement. | ||
| - | |||
| - | {{ : | ||
| ===== Capteurs logiciels à état ===== | ===== Capteurs logiciels à état ===== | ||
| Line 103: | Line 98: | ||
| StateLazy sl; | StateLazy sl; | ||
| - | PhysicalSensor | + | Sensor |
| @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 |
| - Définissez la classe '' | - Définissez la classe '' | ||
| - Testez votre classe, voici des exemples si cela peut vous aider. | - Testez votre classe, voici des exemples si cela peut vous aider. | ||
| Line 146: | Line 141: | ||
| @Test | @Test | ||
| public void testStateOn() throws IOException, | public void testStateOn() throws IOException, | ||
| - | sOnOffLazy.On(); | + | sOnOffLazy.on(); |
| assertEquals(" | assertEquals(" | ||
| sOnOffLazy.setValue(" | sOnOffLazy.setValue(" | ||
| Line 154: | Line 149: | ||
| @Test | @Test | ||
| public void testStateOnOff() throws IOException, | public void testStateOnOff() throws IOException, | ||
| - | sOnOffLazy.On(); | + | sOnOffLazy.on(); |
| assertEquals(" | assertEquals(" | ||
| - | sOnOffLazy.Off(); | + | sOnOffLazy.off(); |
| assertEquals(" | assertEquals(" | ||
| } | } | ||
| Line 180: | Line 175: | ||
| * On veut définir des capteurs à un seul bouton (appel de la méthode press). | * On veut définir des capteurs à un seul bouton (appel de la méthode press). | ||
| * L' | * L' | ||
| - | * Dans l' | + | * Dans l' |
| - | * Dans l' | + | * Dans l' |
| - | * Dans l' | + | * Dans l' |
| - Mettez à jour votre diagramme de classe si besoin. | - Mettez à jour votre diagramme de classe si besoin. | ||
| - Définir la classe '' | - Définir la classe '' | ||
| Line 195: | Line 190: | ||
| QUESTION (10 mn): | QUESTION (10 mn): | ||
| - | | + | |
| - | | + | |
| - | | + | |
| - | Exemple de trace : | + | Exemple de l' |
| < | < | ||
| Salon | Salon | ||
| Line 207: | Line 202: | ||
| ===== Maison numérique ===== | ===== Maison numérique ===== | ||
| - | Une maison numérique est une composition de lieux dont certaines | + | Une maison numérique est une composition de parties |
| - | Il doit être possible d' | + | Il doit être possible d' |
| + | 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' | ||
| + | - etc. | ||
| + | {{ : | ||
| QUESTION (25 mn): | QUESTION (25 mn): | ||
| - | * Modéliser | + | * Modélisez |
| * Avez-vous utilisé un ou des DP? Si oui, annotez vos classes avec des " | * Avez-vous utilisé un ou des DP? Si oui, annotez vos classes avec des " | ||
| - | * Implémenter | + | * Implémentez |
| + | * 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' | <note tip>Oui oui, l' | ||
| Line 225: | Line 226: | ||
| - | Voici la maison | + | |
| - | - Un RDC, Un étage et un extérieur. | + | Voici une nouvelle |
| - | - Un étage avec 2 chambres, chacune avec son thermometre et un thermostat global à l' | + | |
| - | - etc. | + | < |
| - | {{ : | + | maison = new Maison(); |
| + | rdc = new PartieMaison(" | ||
| + | cuisine = new Piece(" | ||
| + | sam = new Piece(" | ||
| + | |||
| + | parentalPart = new PartieMaison(" | ||
| + | chambreParents = new Piece(" | ||
| + | sdbParent = new Piece(" | ||
| + | parentalPart.addLieu(chambreParents); | ||
| + | parentalPart.addLieu(sdbParent); | ||
| + | parentalPart.addSensor(thermostatParental); | ||
| + | |||
| + | rdc.addLieu(cuisine); | ||
| + | rdc.addLieu(sam); | ||
| + | rdc.addLieu(parentalPart); | ||
| + | |||
| + | |||
| + | etage = new PartieMaison(" | ||
| + | chambre1 = new Piece(" | ||
| + | chambre2 = new Piece(" | ||
| + | etage.addLieu(chambre2); | ||
| + | etage.addLieu(chambre1); | ||
| + | |||
| + | exterieur = new PartieMaison(" | ||
| + | exterieur.addSensor(externeDetecteurLumiere); | ||
| + | maison.addLieu(rdc); | ||
| + | maison.addLieu(etage); | ||
| + | maison.addLieu(exterieur); | ||
| + | |||
| + | </ | ||
| ===== Tableaux de Contrôle ===== | ===== Tableaux de Contrôle ===== | ||
| Line 444: | Line 474: | ||
| ===== Rendu ===== | ===== Rendu ===== | ||
| - | <box round rgb(150, | + | <box round rgb(150, |
| - | * Mettez un mail à votre encadreur pour Mme Lecat ou [[http:// | + | * [[http:// |
| * Un document contenant | * Un document contenant | ||
| - | * votre modèle de classe final intégré dans un document pour que nous n' | + | * votre **modèle de classe final** intégré dans un document pour que nous n' |
| - | * 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.1511510861.txt.gz · Last modified: 2017/11/24 08:07 by blay