Projets GLRT - IT340 - Approche Objet


Ce travail doit être fait par groupe de 5 personnes maximum. Il est interdit de prendre le même sujet par deux groupes. Merci de me faire parvenir par email une liste des groupes au plus tard le lundi 27/11 avec la répartition des projets.

Vous devez remettre un rapport au plus tard le 29/01 à 16h par email sous la forme d'une archive tgz portant vos noms (par exemple dupont_durand_martin.tgz) et comportant :
- l'architecture sous la forme d'un diagramme de classes UML,
- quelques explications sur les choix, le rapport entre votre application et les patterns utilisés,
- le code source.
Les diagrammes et les explications devront être au format postscript ou pdf, les sources au format texte. 

Vous présenterez vos projets, ainsi que les patterns utilisés lors d'une soutenance de 15/20' (plus 10' de questions). Les notes seront individuelles en fonction de votre capacité à répondre. Les questions porteront sur votre projet, les patterns utilisés, mais aussi sur les patterns vus en TD.

Vous pourrez envoyer une premier version du code avant la dernière séance de TD (21/12) pour validation des choix et de la qualité du code. Certains aspects seront sans doute discutés lors de cette dernière séance.

Chaque projet peut faire l'objet d'un développement plus ou moins important. Pensez à privilégier la qualité de votre architecture, de votre code et de vos documents avant d'augmenter les fonctionnalités.

La description des modèles est à regarder dans le livre de référence :
E. Gamma, R. Helm, R. Johnson, J. Vlissides "Design Patterns, Catalogue de conception réutilisables", Vuibert.

Sujets

  1. Modèle Pont
    Appliquer le modèle à un (ou plusieurs) élément simple des interfaces graphiques (comme Bouton ou Label) avec Swing/AWT et JFace/SWT comme implémentation.
    Bensassi Salma, Cherif Mohamed, Drizet Walid, Maule Guillaume, Thierry Guillaume

  2. Modèles Fabrique abstraite/Monteur
    Appliquer les modèles à la construction d'une fenêtre contenant plusieurs éléments de types différents (Bouton, Label, ...) avec Swing/AWT et JFace/SWT comme implémentation.
    ZENONE Michel, MICHELET Antoine, BRAHMI Nadia, CHERON Frederic, CAMELIERE Amélie

  3. Modèles Fabrication/Prototype
    Créer une fenêtre de dessin avec des boutons pour créer des formes graphiques.
    Cruaux Sébastien , Chapacou Julien, Dang Darine, Loaec Erwan, Galliano Thomas

    Il y a sans doute des livres sur Swing et JFace à la BU, mais vous pouvez aussi utiliser des documents du Web, en particulier ceux disponibles sur les sites de Sun http://java.sun.com/docs/books/tutorial/uiswing/ et Eclipse http://www.eclipse.org/. Voir aussi http://perso.wanadoo.fr/jm.doudoux/java/tutorial/

  4. Modèles Interpréteur/Visiteur/Poids Mouche
    Définir une grammaire avec 4 ou 5 non-terminaux (par exemple celle des expressions arithmétiques avec les 4 opérateurs +, -, x, /). Implémenter le modèle Interpréteur sur cette grammaire. Implémenter le modèle Visiteur sur l'arbre syntaxique ainsi obtenu et effectuer au moins deux traitements à l'aide du visiteur, par exemple un calcul et un affichage. On pourra aussi mettre en oeuvre le modèle Poids mouche pour les feuilles.
    Arrive Brice, Bataille Anthony, Chalumeaux Romain, Do Thuong Tien, Nassr Nawal

  5. Modèles Commande/Memento
    Ecrire une classe représentant une matrice. Parmi les opérations, prévoir des opérations complexes comme "mettre toutes les valeurs à x". Implémenter le modèle Commande pour mémoriser l'ensemble des actions effectuées et ainsi pouvoir faire un ou plusieurs undo/redo. Utiliser le modèle Memento pour effectuer les undo sur les modifications complexes. Le programme fonctionnera à l'aide de commandes passées sur l'entrée standard.
    Diala MEZHER, Louis-Corentin GERIN-ROZE, Vincent KOPACZEWSKI, Javier BENAVENT, Javier LOPEZ YRAVEDRA


  6. Modèles Etat/Stratégie/Poids Mouche
    On considère un jeu avec 3 types d'éléments : un gentil, des méchants et des pastilles magiques. Les méchants cherchent à manger le gentil et quand le gentil mange une pastille magique, il devient invincible et peut à son tour manger les méchants, pendant un certain temps. Le gentil et les méchants se déplacent dans un espace rectangulaire, les pastilles sont fixes. Utiliser le pattern Etat pour le changement d'état du gentil lorsqu'il mange une pastille magique, le pattern Stratégie pour que le gentil et les méchants adaptent leur déplacement à l'état du gentil et le pattern Poids Mouche pour les pastilles magiques.
    Augendre Mathieu, Amellah Abderrahim, Maouche Nadjib, Mamou Yahia, Marhraoui Mohamed