This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
2015_2016:s3:concprogobjet:td:td2 [2015/09/15 17:11] blay [Architecture : Interface graphique et contrôleur] |
2015_2016:s3:concprogobjet:td:td2 [2015/09/16 16:07] blay [Responsabilités : Analyse et développement de la partie Métier] |
||
---|---|---|---|
Line 13: | Line 13: | ||
* 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 les noms des bus existants. | ||
- | * Un agent demande à créer une boîte à messages associée à un bus en précisant le nom du bus et de la boite. Si le bus n'existe pas ou que 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. |
- | * 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. | + | * 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 consommateur peut demander à lire des messages qui se trouvent dans une boîte sur un bus | * Un consommateur peut demander à lire des messages qui se trouvent dans une boîte sur un bus | ||
* Un consommateur peut demander à lire tous les messages qui se trouvent sur le bus. | * Un consommateur peut demander à lire tous les messages qui se trouvent sur le bus. | ||
Line 46: | Line 46: | ||
- Je poste un message "Nouveau rond point" dans la boite "Circulation". | - Je poste un message "Nouveau rond point" dans la boite "Circulation". | ||
- Je lis les messages qui se trouvent dans la boite "Circulation", i.e. je récupère les messages. | - Je lis les messages qui se trouvent dans la boite "Circulation", i.e. je récupère les messages. | ||
+ | - Je demande à effacer les messages de la boite "Circulation". | ||
- Je poste un message "SoireeIUT" sur le bus "NiceInformation" | - Je poste un message "SoireeIUT" sur le bus "NiceInformation" | ||
- | - je demande à effacer le message "Embouteillage". | ||
- 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" 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. | + | - <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 loi de Demeter. Si ce n'est pas le cas, corrigez vos codes. | + | - Regardez vos codes, et vérifiez que vous avez bien respecté la loi de Demeter((Quand on l'aura vu en cours)). Si ce n'est pas le cas, corrigez vos codes. |
- 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. | ||
Line 66: | Line 67: | ||
Le contrôleur n'a pas le droit de modifier la partie métier sans passer par des objets métiers. Il n'est pas autorisé à stocker la liste des bus etc. Pensez à utiliser le principe de délégation. | Le contrôleur n'a pas le droit de modifier la partie métier sans passer par des objets métiers. Il n'est pas autorisé à stocker la liste des bus etc. Pensez à utiliser le principe de délégation. | ||
- | - Développez le code correspondant. **Utilisez les informations et codes donnés** ci-dessous. | + | - Développez le code correspondant. **[[https://mbf-iut.i3s.unice.fr/doku.php?id=2015_2016:s3:concprogobjet:td:td2&#aide|Utilisez les informations et codes donnés]]** ci-dessous. |
- | - Quel type de contrôleur avez-vous défini en respectant les directives données? | + | - Quel type de contrôleur avez-vous défini en respectant les directives données? Est-il "bon"? Que feriez-vous sinon pour l'améliorer? |
- Vous devez à présent pouvoir jouer le scénario précédent en utilisant votre interface graphique. | - Vous devez à présent pouvoir jouer le scénario précédent en utilisant votre interface graphique. | ||
- | - Visualisez vos codes sous la forme de diagrammes de séquences. | + | - Visualisez vos codes sous la forme de diagrammes de séquences.\\ ''Outils => Code => Instant Reverse to sequence diagram'' {{ :2015_2016:s3:concprogobjet:td:tosequencediagram.png?300 |}} |
- | ''Outils => Code => Instant Reverse to sequence diagram'' | + | - Pouvez-vous décrire chacune de vos classes avec une seule phrase? Faîtes-le dans les commentaires de vos classes. |
- | {{ :2015_2016:s3:concprogobjet:td:tosequencediagram.png?300 |}} | + | |
==== aide ==== | ==== aide ==== | ||
**Pour vous aider** voici un exemple possible du programme principal dont vous pouvez vous inspirer : | **Pour vous aider** voici un exemple possible du programme principal dont vous pouvez vous inspirer : | ||
Line 181: | Line 180: | ||
} | } | ||
</code> | </code> | ||
- | |||
- | |||