User Tools

Site Tools


2017_2018:s3:concprogobjet:td:td1

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
2017_2018:s3:concprogobjet:td:td1 [2017/08/11 19:05]
blay [Un projet sous tests (15mn)]
2017_2018:s3:concprogobjet:td:td1 [2017/09/20 10:30] (current)
rl ToDo unchecked: Complétez la classe de Test à présent et l'exécuter.
Line 116: Line 116:
  
  
-   - Créez un projet **MAVEN** ​+   - Créez un projet **MAVEN** ​( **voir comment faire ici [[https://​mbf-iut.i3s.unice.fr/​doku.php?​id=eclipse#​creer_un_projet_maven|avec eclipse]] [[https://​mbf-iut.i3s.unice.fr/​doku.php?​id=intellij#​creer_un_projet_maven|avec intelliJ]]** ) 
          - Nom du projet : busV1          - Nom du projet : busV1
          - GroupID = fr.unice.iut.info.coo          - GroupID = fr.unice.iut.info.coo
          - ArtefactID = bus          - ArtefactID = bus
-         - ( **voir comment faire ici [[https://​mbf-iut.i3s.unice.fr/​doku.php?​id=eclipse#​creer_un_projet_maven|avec eclipse]] [[https://​mbf-iut.i3s.unice.fr/​doku.php?​id=intellij#​creer_un_projet_maven|avec intelliJ]]** )  
    - La structure contient ​    - La structure contient ​
           - src -> main -> Java ...           - src -> main -> Java ...
Line 181: Line 180:
 ==== Mise en place du programme principal préliminaire (10mn) ==== ==== Mise en place du programme principal préliminaire (10mn) ====
  
-Voici ce que doit faire a minima votre programme principal, pour cela retourner dans le fichier de test et ajouter un cas de test : "​testMonScenario.java" ​et modifier le //​main// ​pour : +Voici ce que doit faire a minima votre programme principal, pour cela retourner dans le fichier de test et ajouter un cas de test : "​testMonScenario.java" ​ ou des tests pour : 
   - créer un bus de nom "​Nice-Circulation",​   - créer un bus de nom "​Nice-Circulation",​
   - créer un message annonçant "une attente de 5mn"   - créer un message annonçant "une attente de 5mn"
   - créer un message annonçant "un accident"​   - créer un message annonçant "un accident"​
-  - lire les messages, +  - récupérer ​les messages ​sur le bus de nom "​Nice-Circulation"​
-  - afficher le contenu des message.+  - afficher le contenu des messages. 
  
 Ce programme ne peut pas tourner puisque quasi rien n'est implémenté,​ par contre vous pouvez vous aider de votre IDE pour qu'au moins il soit "​syntaxiquement"​ juste et créer les bonnes méthodes si elles n'​existent pas déjà, ou les appeler! ​ Ce programme ne peut pas tourner puisque quasi rien n'est implémenté,​ par contre vous pouvez vous aider de votre IDE pour qu'au moins il soit "​syntaxiquement"​ juste et créer les bonnes méthodes si elles n'​existent pas déjà, ou les appeler! ​
Line 228: Line 228:
  
    
-   - <​todo>​ Complétez la classe de Test à présent, par exemple</​todo>​ +   - <​todo>​ Complétez la classe de Test à présent ​et l'​exécuter. </​todo>​ Voir un exemple ​de code ci-dessous. 
-     ​<code java>+   - <​todo>​ Vérifier la couverture de votre code (menu contextuel, coverage as) si vous êtes sous Eclipse. Vous pouvez aussi les voir sous properties. ​</​todo>​  
 + 
 +Voici un exemple de code de test. 
 + 
 +<code java>
         protected Message mToTest;         protected Message mToTest;
  protected String contents;  protected String contents;
Line 236: Line 240:
  public void setUp() throws Exception {  public void setUp() throws Exception {
  contents = "mon message";​  contents = "mon message";​
- mToTest = new Message(contents,b);+ mToTest = new Message(contents);​
  }  }
  
Line 247: Line 251:
  }  }
  
-     </​code>​ +</​code>​ 
-    - Dans le menu contextuel, cliquez sur //Run As – JUnit test//. +
-Enfin, le premier rapport de tests s’affiche ! +
  
  
Line 257: Line 260:
  
  
 +Pensez à tester : 
 +  * Retrouver un bus de nom donné
  
  
  
  
 +<​accordion ​ collapsed="​true">​
 +<​panel ​ title="​Pour en savoir plus">​
 ==== Pour aller plus loin ==== ==== Pour aller plus loin ====
  
 Un "bus à messages"​ s'​appuie sur plusieurs design patterns '​Observeur/​Observable"​ et plus précisément "​Publish/​Subscribe"​. Il existe aujourd'​hui de nombreuses implémentations de ces systèmes permettant des communications asynchrones,​ où les consommateurs sont automatiquement notifiés de l'​arrivée de message, où les consommateurs peuvent faire des demandes spécifiques,​ avec des systèmes de filtres complexes, etc.  Un "bus à messages"​ s'​appuie sur plusieurs design patterns '​Observeur/​Observable"​ et plus précisément "​Publish/​Subscribe"​. Il existe aujourd'​hui de nombreuses implémentations de ces systèmes permettant des communications asynchrones,​ où les consommateurs sont automatiquement notifiés de l'​arrivée de message, où les consommateurs peuvent faire des demandes spécifiques,​ avec des systèmes de filtres complexes, etc. 
- +</​panel>​ 
 +</​accordion>​
  
 ===== EVALUATION de CE TD =====  ===== EVALUATION de CE TD ===== 
Line 272: Line 279:
   - Les modèles sont cohérents avec le code.   - Les modèles sont cohérents avec le code.
  
-[[http://​jalon.unice.fr/​cours/​blay/​Cours-blay-20160929210709/​BoiteDepot-blay-20160929210839376812?​mode_etudiant=false|Jalon de dépôt pour Mme Fornarino : donner comme nom du dépot : Gr<​NumeroGroupe><​Noms des étudiants>​]]+[[http://​jalon.unice.fr/​cours/​blay/​Cours-blay-20160929210709/​BoiteDepot-blay-20160929210839376812?​mode_etudiant=false|Jalon de dépôt pour Mme Blay-Fornarino : donner comme nom du dépot : Gr<​NumeroGroupe><​Noms des étudiants>​]] ​Pour les groupes de Mme Blay-Fornarino date limite 26 septembre minuit
 ===== Je sais ===== ===== Je sais =====
    
Line 282: Line 289:
 </​box>​ </​box>​
  
 +===== Pour les avancés =====
 +
 +
 +[[https://​github.com/​iluwatar/​java-design-patterns/​tree/​master/​producer-consumer/​src/​main/​java/​com/​iluwatar/​producer/​consumer|Des exemples de code Producteur/​Consommateur]]
2017_2018/s3/concprogobjet/td/td1.1502471142.txt.gz · Last modified: 2017/08/11 19:05 by blay