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.
Transition
C'est ce qui permet de changer d'état. Le sens de navigation est donné nécessairement par une flèche.
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 :
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.
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.
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.
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.
C'est utile pour synchroniser des états.
Imbrication
On peut emboîter les états les uns dans les autres.