Deug TI 2ème année - IUP1 Méca, GC, GSI et MIAGE
TP de programmation n° 4
Notions de base de la programmation Objet

L'objectif de ce TP est de mettre en oeuvre les techniques et les concepts élémentaires relatifs à la programmation orientée objet. Le travail demandé consiste à construire une mini application logicielle de dessin et de manipulation d'objets graphiques vectoriels, en respectant les étapes méthodologiques suivantes :

  1. Lecture du "cahier des charges" et analyse détaillée des besoins auxquels doit répondre l'application. Cette très importante phase de travail doit aboutir à une spécification la plus précise possible de ce que doit faire le programme à réaliser. C'est notamment ici qu'il faudra déterminer quelles sont les interactions qui auront lieu entre l'utilisateur et le logiciel, en effectuant certains choix qu'il faudra ensuite respecter. C'est aussi dans cette phase qu'il faudra choisir et définir les "objets" significatifs pour l'utilisateur, à savoir ici les types d'objets géométriques et les manipulations qui leur sont applicables.
  2. Conception du logiciel. Cette phase consiste à définir comment vont être réalisées les fonctions du logiciel qui ont été préalablement spécifiées dans la phase 1. Il s'agit essentiellement, dans le cas de cette application, de concevoir :
  3. Codage des classes Java. Les constructions syntaxiques et sémantiques de Java déjà vues en TD seront ici utilisées pour traduire en classes compilables et exécutables le schéma de conception élaboré en phase 2.

Travail demandé

Cahier des charges

On se propose de réaliser une application de dessin et manipulation d'objets graphiques simples. Le programme doit afficher des objets représentant chacun un visage stylisé composé à partir de formes géometriques élémentaires telles que segments, cercles, etc... Le programme doit pouvoir ensuite animer ces visages (par exemple deplacer, grossir, faire changer d'expression un visage...).

Dans sa première version, compte tenu du peu de temps disponible, le logiciel se limitera à l'affichage et l'animation de deux visages de même type (classe). Il devra toutefois pouvoir être facilement étendu pour prendre en compte un nombre plus important de visages de types différents. Ceci suppose donc une spécification et une conception soignées des composants dont il sera constitué.

Contraintes de réalisation

  • Le tracé d'objets graphiques ne peut pas etre effectué directement dans la fenetre principale de l'application. Cette dernière n'est qu'un conteneur dans lequel sera inséré un objet intermédiaire autorisant le tracé d'objets graphiques élémentaires. Cet objet sera, dans le cadre de ce TP, un objet créé à partir de la classe Dessin qui vous sera fournie:
  • L'objet de type Dessin sera créé puis inséré dans la fenêtre de l'application de la façon suivante : Afin qu'ils soient effectivement tracés à l'écran, les objets géométriques créés par l'application devront être ensuite incorporés à cet objet de type Dessin : Chaque fois fois qu'un visage sera modifié, la mise à jour de la fenêtre pour la prise en compte de cette modification sur l'écran se fera en invoquant la méthode repaint(long delai)de l'objet dessin. Cette méthode permet de réafficher l'image au bout d'un delai de delai millisecondes. Par exemple :
      Déroulement du TP