User Tools

Site Tools


2017_2018:s3:concprogobjet:td:td2

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:td2 [2017/09/21 11:57]
blay
2017_2018:s3:concprogobjet:td:td2 [2017/10/04 12:17] (current)
blay [Rendus]
Line 4: Line 4:
 **Objectifs :** Travailler sur de petits exemples différents points d'un développement pragmatique. **Objectifs :** Travailler sur de petits exemples différents points d'un développement pragmatique.
  
 +<note tip>
 Après une longue réflexion, nous avons décidé de ne pas vous donner de codes mais de vous laisser continuer sur les codes que vous aviez la semaine dernière. Après une longue réflexion, nous avons décidé de ne pas vous donner de codes mais de vous laisser continuer sur les codes que vous aviez la semaine dernière.
-Celui-ci est peut-être incomplet, imparfait. Ce n'est pas grave, vous allez pouvoir corriger et améliorer VOTRE code.+Celui-ci est peut-être incomplet, imparfait. Ce n'est pas grave, vous allez pouvoir corriger et améliorer VOTRE code.</​note>​
  
  
Line 13: Line 13:
 Le bus logiciel est maintenant composé de //boîtes à messages//. Le bus logiciel est maintenant composé de //boîtes à messages//.
  
-   * Un agent demande à créer un bus en précisant le nom du bus. Si un bus avec ce nom existe déjà, il ne se passe rien i.e. +   * Un agent ((Membre dans le TP précédent)) ​demande à créer un bus en précisant le nom du bus. Si un bus avec ce nom existe déjà, il ne se passe rien i.e. 
    * Un agent peut demander s'il existe un bus de nom donné.    * Un agent peut demander s'il existe un bus de nom donné.
-   * Un agent peut lister les noms des bus existants. +   * Un agent peut lister((Cela veut dire obtenir la liste des noms de bus, pas les afficher!)) ​les noms des bus existants. 
-   * Un agent demande à créer une boîte à messages associée à un bus en précisant le nom de la boite. Si la boite existe déjà, il ne se passe rien. +   * Un agent demande à créer une boîte à messages associée à un bus en précisant le nom de la boite. Si la boite existe déjà, il ne se passe rien. Par défaut une boite à messages ne peut pas contenir plus de "​MAX_MESSAGES",​ mais il est possible de modifier le nombre maximum de messages autorisés. 
-   * Un producteur envoie un message vers un bus et //​éventuellement//​ vers  une boîte de messages spécifique du bus, en précisant leurs noms et le contenu du message. En l'​absence de boîte de message, le message est posté dans la //boite par défaut//​. +   * Un agent demande à créer une boîte à messages de type "​brèves"​ associée à un bus en précisant le nom de la boite et la taille maximum des messages, par exemple 140 caractères. Si une boite de même nom existe déjà, il ne se passe rien. 
-   * Un consommateur peut demander à lire des messages qui se trouvent dans une boîte sur un bus. +   * Un producteur envoie un message vers un bus et //​éventuellement//​ vers  une boîte de messages spécifique du bus, en précisant leurs noms (bus et boite) ​et le contenu du message. En l'​absence de boîte de message, le message est posté dans la //boite par défaut//​. 
-   * Un consommateur peut demander à lire tous les messages qui se trouvent sur le bus dans ce cas tous les messages dans toutes le boîtes lui sont retournés.+   * Un consommateur peut demander à lister((obtenir la liste des messages)) ​des messages qui se trouvent dans une boîte sur un bus.  
 +   * Un consommateur peut demander à lister ​tous les messages qui se trouvent sur le bus dans ce cas tous les messages dans toutes le boîtes lui sont retournés.
    * Une boîte ne peut pas être associée à plusieurs bus. Un bus peut évidemment avoir plusieurs boîtes.    * Une boîte ne peut pas être associée à plusieurs bus. Un bus peut évidemment avoir plusieurs boîtes.
  
Line 46: Line 47:
       - Je crée un bus "​NiceInformation"​       - Je crée un bus "​NiceInformation"​
       - Je crée une  boite "​Circulation"​ sur le bus "​NiceInformation"​       - Je crée une  boite "​Circulation"​ sur le bus "​NiceInformation"​
 +      - Je crée une boite de type Breves "​@dept-info-iut-Nice"​ qui autorise uniquement des messages de 140 caractères.
       - Je poste un message "​Embouteillage"​ dans la boite "​Circulation"​ du bus "​NiceInformation"​       - Je poste un message "​Embouteillage"​ dans la boite "​Circulation"​ du bus "​NiceInformation"​
       - Je poste un message "​Nouveau rond point" dans la boite "​Circulation"​ du bus  "​NiceInformation"​ ((pareil pour le bus "​AntibesInformation",​ ça passe? ))       - Je poste un message "​Nouveau rond point" dans la boite "​Circulation"​ du bus  "​NiceInformation"​ ((pareil pour le bus "​AntibesInformation",​ ça passe? ))
Line 51: Line 53:
       - Je demande à effacer les messages de la boite  "​Circulation"​ du bus  "​NiceInformation"​ ((pareil pour le bus "​AntibesInformation",​ ça passe? ))       - Je demande à effacer les messages de la boite  "​Circulation"​ du bus  "​NiceInformation"​ ((pareil pour le bus "​AntibesInformation",​ ça passe? ))
       - Je poste un message "​SoireeIUT"​ sur le bus "​NiceInformation"​       - Je poste un message "​SoireeIUT"​ sur le bus "​NiceInformation"​
 +      - Je poste un message "WEI 13 octobre départ à 16h apres les cours  de ..." dans la boite "​@dept-info-iut-Nice"​
 +      -  Yoann plus bavard poste un message de plus de 140 caractères ​ " N'​oubliez pas d'​emmener ...... et de choisir votre filleul ....." dans la boite "​@dept-info-iut-Nice"​... que se passe-t-il
       -  J'​attends 2s (Thread.sleep(2000));​       -  J'​attends 2s (Thread.sleep(2000));​
-      - Je poste un message "​SoireeIntegrationIUT"​ sur le bus "​NiceInformation"​+      - Je poste un message "​SoireeIntegrationIUT ​Choisissez vos parrain...." sur le bus "​NiceInformation"​
       -  J'​attends 2s (Thread.sleep(2000));​       -  J'​attends 2s (Thread.sleep(2000));​
       - <​Optionnel>​ Je demande à effacer tous les messages postés depuis plus de 4s sur le bus "​NiceInformation"​       - <​Optionnel>​ Je demande à effacer tous les messages postés depuis plus de 4s sur le bus "​NiceInformation"​
   - Regardez vos codes, et vérifiez que vous avez bien respecté la [[https://​fr.wikipedia.org/​wiki/​Loi_de_D%C3%A9m%C3%A9ter|loi de Demeter]]((Quand on l'aura vu en cours)). Si ce n'est pas le cas, corrigez vos codes.   - Regardez vos codes, et vérifiez que vous avez bien respecté la [[https://​fr.wikipedia.org/​wiki/​Loi_de_D%C3%A9m%C3%A9ter|loi de Demeter]]((Quand on l'aura vu en cours)). Si ce n'est pas le cas, corrigez vos codes.
 +  - Fixer MAX_MESSAGES à 1... comment se comporte votre programme?
 +  - Complétez les tests pour prendre en compte les "​brèves"​.
   - Comment avez-vous géré la boîte par défaut? (Avez-vous pensé à définir des constantes?​)   - Comment avez-vous géré la boîte par défaut? (Avez-vous pensé à définir des constantes?​)
   - Pouvez-vous décrire chacune de vos classes avec une seule phrase? Faîtes-le dans les commentaires de vos classes.   - Pouvez-vous décrire chacune de vos classes avec une seule phrase? Faîtes-le dans les commentaires de vos classes.
  
 +<note important>​Aie aie votre propriétaire vient de réaliser que sur des bus de type "​Community"​ il veut interdire d'​avoir plus de 2 boîtes à messages, sur un bus "​Premium"​ on ne peut pas en avoir plus de 5 et sur les bus "​PRO"​ le nombre de boîtes n'est pas limité. \\
 +Comment réagissez vous à ce changement? Modifiez vos codes et modèles pour tenir compte de cette nouvelle fonctionnalité. </​note>​
 ===== Architecture : Interface graphique et contrôleur ===== ===== Architecture : Interface graphique et contrôleur =====
 L'​objectif est ici de décomposer l'​application pour que :  L'​objectif est ici de décomposer l'​application pour que : 
Line 140: Line 148:
 <box round rgb(150,​290,​190) rgb(198,​226,​150) 75%| Le 17 octobre à minuit > <box round rgb(150,​290,​190) rgb(198,​226,​150) 75%| Le 17 octobre à minuit >
  
-  * Mettez un mail à votre encadreur avec soit l'​adresse où récupérer le TD soit le TD lui-même, dans le sujet du mail [S3T][TD3] Noms des participants au rendu : +  * Utilisez ​la [[http://​jalon.unice.fr/​cours/​blay/​Cours-blay-20150930110548/​BoiteDepot-blay-20150930110658584420|boite de dépôt]] ​pavec date limite : le 17 octobre à minuit.
-  * De préférence utilisez ​la [[http://​jalon.unice.fr/​cours/​blay/​Cours-blay-20150930110548/​BoiteDepot-blay-20150930110658584420|boite de dépôt]] ​pour Mme Blay avec date limite : le 17 octobre à minuit.+
   * Le rendu consiste en :   * Le rendu consiste en :
       - Un document contenant       - Un document contenant
-        * votre modèle((Modèle = diagrammes UML)) final (Tout le monde n'​aboutit pas au même modèle, c'est certain)+        * votre modèle((Modèle = diagrammes UML)) final (Tout le monde n'​aboutit pas au même modèle, c'est certain, bien mettre des diagrammes pas le projet Modelio)
         * des explications sur les raisons de ce modèle, les choix que vous avez faits et les leçons apprises.         * des explications sur les raisons de ce modèle, les choix que vous avez faits et les leçons apprises.
       - Les codes et les tests en particulier les tests JUNIT;       - Les codes et les tests en particulier les tests JUNIT;
2017_2018/s3/concprogobjet/td/td2.1505987833.txt.gz · Last modified: 2017/09/21 11:57 by blay