diagram etat - UML TP avec Correction - exercice corrige uml
Exercice 1 : Diagramme d’états simple
Considérons un réveille-matin simplifié :
• on peut mettre l’alarme « on » ou « off » ;
• quand l’heure courante devient égale à l’heure d’alarme, le réveil sonne sans s’arrêter ;
• on peut interrompre la sonnerie.
Travail à faire :
Dessinez le diagramme d’états correspondant.
------------------------------------------------------------------------------
Correction exercice UML diagramme états - solution TP UML
------------------------------------------------------------------------------
Voyons tout d’abord la première phrase :
1. On peut mettre l’alarme « on » ou « off ».
Le réveil a clairement deux états distincts : Désarmé (alarme « off ») ou Armé (alarme « on »). Une action de l’utilisateur permet de passer d’un état à l’autre. On suppose que le réveil est bien désarmé au départ. Notez le paramètre heureAlarme de l’événement armer.
Diagramme d’états de la phrase 1
Considérons maintenant les deux autres phrases :
2. Quand l’heure courante devient égale à l’heure d’alarme, le réveil sonne sans s’arrêter ;
3. On peut interrompre la sonnerie.
Le fait de sonner constitue un nouvel état pour le réveil. Il s’agit bien d’une période de temps durant laquelle le réveil effectue une certaine activité (sonner) qui dure jusqu’à ce qu’un événement vienne l’interrompre.
Diagramme d’états préliminaire du réveille-matin
Le passage de l’état Armé à l’état Sonnerie est déclenché par une transition due à un changement interne, représenté au moyen du mot-clé « when ». En revanche, d’après l’énoncé, le retour de l’état Sonnerie à l’état Armé ne s’effectue que sur un évènement utilisateur.
Exercice 2 : Activité finie et transition automatique
Complétez le diagramme d’états précédent pour prendre en compte le fait que la sonnerie du réveil s’arrête d’elle-même au bout d’un certain temps.
---------------------
Solution
---------------------
Il y a donc une deuxième possibilité de sortie de l’état Sonnerie : quand le réveil s’arrête tout seul de sonner au bout d’un certain temps.
À retenir
ACTIVITÉ CONTINUE OU FINIE – TRANSITION AUTOMATIQUE
Une activité durable à l’intérieur d’un état peut être soit :
– « continue » : elle ne cesse que lorsque se produit un évènement qui fait sortir l’objet de l’état ;
– « finie » : elle peut également être interrompue par un événement, mais elle cesse de toute façon d’elle-même au bout d’un certain temps, ou quand une certaine condition est remplie.
La transition de complétion d’une activité finie, aussi appelée transition automatique, est représentée en UML sans nom Evénement ni mot-clé.
Diagramme d’états complété du réveille-matin
Il convient aussi de se demander si l’utilisateur a le droit de désarmer le réveil pendant qu’il sonne. Dans ce cas, il faudrait ajouter une transition déclenchée par desarmer et allant directement de Sonnerie à Désarmé.
Exercice 3 : Diagramme de contexte statique
Déduisez-en le diagramme de contexte statique étendu du réveil
---------------------
Solution
---------------------
Si l’on applique de nouveau les règles énoncées lors de l’exercice 5-10, on obtient sans difficulté le diagramme ci-après.
Article plus récent Article plus ancien