jeudi 27 mars 2014

5 - Diagramme d'état-transition

0 commentaires

Diagramme d'état-transition

Ce diagramme met en valeur l'évolution du système lorsqu'il est soumis à des évènements extérieurs. On ne se soucie guère du fonctionnement interne.
Un exemple d'application serait le passage d'un état marche à arrêt dès l'appui sur le bouton d'urgent (l'événement extérieur).
Les outils utilisés ressemblent au GRAFCET.

Etat

Une situation dans laquelle se trouve notre système.
Un état UML

Transition

C'est ce qui permet de changer d'état. Le sens de navigation est donné nécessairement par une flèche.
Une transition UML
Une transition UML

Activité de changement d'état

Lorsqu'on change d'état, il faut parfois faire des trucs en plus. Par exemple, si je suis le système et que je rentre dans le bureau, il faudra peut-être que je pose mon manteau avant de passer dans l'état "travaille dans le bureau".
Avec "entry", on effectue une action à l'entrée dans l'état. Avec "exit", elle se fait en sortant. Entre les deux, on utilise "do".
Pour notre voiture :
Une transition UML

Etat initial et final

Quand l'objet est créé (opérateur NEW), il est dans son état initial.
L'état final correspond parfois à la fin de vie de l'objet.
Un état initial et final UML
Il est impossible de revenir au point initial.

Transition conditionnelle

On met entre crochets la condition qui permet de franchir la transition.
La conséquence se met après une barre oblique.
Une transition conditionnelle UML

Jonction / Choix

La jonction permet de regrouper des liens qui pointent vers la même cible. C'est esthétique et rien ne peut se produire au niveau du point.
Si une transition opère un choix (1+ entrée et 2+ sorties), on met en place un choix.
ArgoUML représente la jonction avec un losange et le choix avec un rond, alors qu'a priori, c'est l'inverse.
Une jonction UML

Fourches

Le passage d'une fourche force le système à être dans plusieurs états à la fois. Il ne peut sortir de cet état qu'une fois les conditions de chaque état vérifiées.
Une fourche UML
C'est utile pour synchroniser des états.

Imbrication

On peut emboîter les états les uns dans les autres.
Une impbrication UML

Leave a Reply