UML - Contrôle terminal
ISIS 1° Année - 2008
Durée : 2 heures - Tout
document autorisé
Vous disposez d'une classe (Bandeau)
offrant les fonctionnalités d'une fenêtre qui affiche un
texte, correspondant au diagramme UML ci-dessous.
- La propriété backGround
contrôle la couleur de fond de la fenêtre
- La propriété foreGround
contrôle la couleur de premier plan du texte affiché
- La propriété message
contrôle le texte affiché (centré dans la
fenêtre)
- La propriété rotation
contrôle l'angle de rotation affecté au texte (en radians)
- La propriété font
contrôle la police de caractère choisie pour l'affichage
- La méthode sleep
a pour effet de suspendre l'exécution pendant le nombre de
millisecondes spécifié
L'image ci-dessous illustre l'apparence de la fenêtre quand les
attributs ont les valeurs suivantes :
- backGround =
java.awt.Color.yellow
- foreGround =
java.awt.Color.blue
- message = "Examen UML"
- rotation = Math.PI / 2
(90°)
- font = new Font("Arial",
40)
Un exemple de bandeau publicitaire déroulant une
série d'effets |
|
En utilisant cette classe, vous devez modéliser en UML un
bandeau publicitaire semblable à celui illustré ci-dessus.
Travail demandé
- On veut définir la notion d'effet d'animation :
On peut imaginer un grand nombre d'effets possibles, par exemple faire
apparaître le texte caractère par caractère par la
gauche ou par la droite, faire faire un tour complet au texte, faire
défiler des couleurs, etc. L'applet ci-dessus illustre plusieurs
effets possibles (Teletype, Blinking...).
- On veut également définir la notion de scénario:
un scénario est un enchaînement d'effets,
définissant pour chaque effet combien de fois il est
répété. Dans l'exemple ci-dessus, l'effet
"Rotate", qui fait faire un tour complet au texte, est
répété deux fois dans le scénario.
Vous devez fournir:
- Un diagramme de classes UML modélisant les notions d'Effet et de Scénario, en prenant en
compte qu'il peut y avoir de nombreux effets différents.
Représentez au moins 3 effets différents, par exemple Rotate (faire faire un tour complet
au texte), Teletype (afficher
caractère par caractère) et Blink (faire clignoter le texte une
fois). Veillez en particulier à bien définir les
opérations pertinentes dans les différentes classes, et
les relations existant entre différentes classes
- Les algorithmes des principales opérations (non triviales)
que vous identifiez dans vos classes (pseudo-code)
- La traduction complète en java d'une de vos classes (que
vous jugerez la plus intéressante)