User Tools

Site Tools


2018-2019: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
2018-2019:s3:concprogobjet:td:td1 [2018/09/07 17:43]
blay [ENONCE]
2018-2019:s3:concprogobjet:td:td1 [2018/09/07 18:51] (current)
blay
Line 18: Line 18:
 ===== Présentation de l'​application ===== ===== Présentation de l'​application =====
  
-<​note>​Un **Forum ** (//e.g.// Slack, Discorde) permet à un "​producteur"​ (e.g. membre autorisé à écrire) ​d'​envoyer ​des "​messages"​ (texte, contenu multimedia, ...).+<​note>​Un **Forum ** (//e.g.// Slack, Discorde) permet à un "​producteur"​ (e.g. membre autorisé à écrire) ​de poster ​des "​messages"​ (texte, contenu multimedia, ...).
 Les "​consommateurs"​ (e.g. membre) ​ peuvent lire les messages quand ils le veulent. ​ Les "​consommateurs"​ (e.g. membre) ​ peuvent lire les messages quand ils le veulent. ​
 </​note> ​ </​note> ​
Line 30: Line 30:
 ====  ENONCE ==== ====  ENONCE ====
   * Un administrateur peut créer un Forum.   * Un administrateur peut créer un Forum.
-  * Des producteurs ​émettent ​des messages ​vers un Forum. ​+  * Des producteurs ​postent ​des messages ​sur un Forum. ​
   * Des consommateurs lisent des messages sur le Forum. ​   * Des consommateurs lisent des messages sur le Forum. ​
   * Un producteur peut effacer des messages sur le Forum. ​   * Un producteur peut effacer des messages sur le Forum. ​
Line 50: Line 50:
 Attention, il s'agit d'un exemple concret mais c'est bien la notion de Forum que l'on vous demande dans un premier temps de mettre en oeuvre. Attention, il s'agit d'un exemple concret mais c'est bien la notion de Forum que l'on vous demande dans un premier temps de mettre en oeuvre.
  
-L'​agence "​oogle-Agency" (//Membre//) crée un forum logiciel ​"Nice-circulation".\\ +L'​agence "​oogle-stade" (//Administrateur//) crée un forum "OGCN".\\ 
-La voiture A (//​Producteur//​) ​émet un message //mAttente ​: "Attente ​de 5mn"// sur le forum logiciel ​"Nice-circulation". \\ +Mario (//​Producteur//​) ​poste un message //WaitAndSee: "a quoi cela sert de courir?"// sur le forum "OGCN". \\ 
-La voiture B (//​Consommateur//​) ​ demande s'il y a de l'​information sur le forum logiciel ​et obtient le message //mAttente//. \\ +Walter ​(//​Consommateur//​) ​ demande s'il y a de l'​information sur le forum  et obtient le message //WaitAndSee//. \\ 
-La voiture B (//​Consommateur//​) pose la même question et obtient le même message. \\ +Walter(//​Consommateur//​) pose la même question et obtient le même message. \\ 
-La voiture B (//​Producteur//​) ​émet un message //mAccident ​: "Accident sortie Saint-Augustin"//. \\ +Alban(//​Consommateur//​) pose la même question et obtient le même message. \\ 
-Les messages postés il y a plus de 30s sont détruits par "​oogle-Agency"​. ​+Walter ​(//​Producteur//​) ​poste un message //Yes : "Tout à fait d'​accord!"//​. \\ 
 +Youcef (//​Producteur//​) poste un message //PFFF : "Vous rigolez?"//. \\ 
 +Les messages postés il y a plus de 30s sont détruits par "​oogle-stade"​. ​
  
 <​html>​ <​html>​
Line 70: Line 72:
   - {{fa>​arrow-circle-right?​24}} Quels sont les grands cas d'​utilisation?​ Vous pouvez les faire simplement sur Papier.   - {{fa>​arrow-circle-right?​24}} Quels sont les grands cas d'​utilisation?​ Vous pouvez les faire simplement sur Papier.
  
-===== De l'​analyse à la conception du forum logiciel ​=====+===== De l'​analyse à la conception du forum (simplifié) ​=====
  
  
Line 102: Line 104:
  
  
-  * {{fa>​arrow-circle-right?​24}} [[2018_2019:​s3:​concprogobjet:​td:​s3atd1:​creationProjet|Créez un projet java]] ​+  * {{fa>​arrow-circle-right?​24}} [[2018_2019:​s3:​concprogobjet:​td:​s3atd1:​creationProjet|Créez un projet java]] ​comme nous l'​avons vu en méthodo sans oublier le tests folder.
  
  
Line 180: Line 182:
    - {{fa>​arrow-circle-right?​24}} Visualiser la couverture de tests {{ :​2018_2019:​s3:​methodo:​td:​coverage.png?​direct&​300 |}}     - {{fa>​arrow-circle-right?​24}} Visualiser la couverture de tests {{ :​2018_2019:​s3:​methodo:​td:​coverage.png?​direct&​300 |}} 
  
-Voici un exemple de code de test.+Voici un exemple de code de test pour Junit 4 (@BeforeEach and @BeforeAll are the JUnit 5 equivalents of @Before and @BeforeClassThese annotations were renamed with clearer names to avoid confusion.)
  
 <code java> <code java>
Line 215: Line 217:
   - afficher le contenu des messages.   - afficher le contenu des messages.
  
 +Vous pouvez compléter cet exemple par l'​exemple donné plus haut.
  
 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 232: Line 235:
 <​accordion ​ collapsed="​true">​ <​accordion ​ collapsed="​true">​
 <​panel ​ title="​Pour en savoir plus">​ <​panel ​ title="​Pour en savoir plus">​
-==== 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.  
 </​panel>​ </​panel>​
 </​accordion>​ </​accordion>​
2018-2019/s3/concprogobjet/td/td1.1536334997.txt.gz · Last modified: 2018/09/07 17:43 by blay