Pages - Menu

Pages

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é.


Dans notre exemple, il suffit donc d’ajouter une activité durable  sonner à l’état  Sonnerie et une transition automatique en sortie de cet état. Le diagramme d’états complété est représenté sur le schéma suivant.


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.


Diagramme de contexte statique étendu

Aucun commentaire:

Enregistrer un commentaire