Skip to main content

Tutoriel : Diagramme d'états

Rédaction et mise en place d'un statechart

Un diagramme d'états est une machine qui passe d'un état à l'autre au moment de l'exécution. Les états sont liés par des transitions, qui ont chacune une condition de garde. Les actions ou les méthodes peuvent être appelées à la fois dans les états et dans les transitions. Lorsqu'une condition de garde prend la valeur TRUE (événement), la transition sera activée. Cela exécute les actions ou les méthodes qui appartiennent à la transition, puis passe à l'état suivant. Les conditions de garde sont simplement des variables booléennes qui reflètent des événements ou sont une expression. Les événements sont des entrées utilisateur d'une visualisation/interface utilisateur, des E/S, des événements temporels ou des événements système. Un autre événement souvent requis est l'événement d'achèvement qui se produit lorsque les actions ou les méthodes d'un état sont terminées.

Vous insérez tous les états requis dans l'éditeur d'états-transitions et implémentez le contrôle de flux. Pour ce faire, vous codez les conditions de garde des transitions en spécifiant une variable booléenne ou une expression ST. Vous implémentez la fonctionnalité réelle du diagramme d'états-transitions dans les actions et les méthodes qui sont appelées dans les états ou pendant les transitions.

Par conséquent, les méthodes et les actions affectées à un diagramme d'états contiennent les algorithmes. C'est ainsi que vous implémentez le concept de classe orienté objet de manière conventionnelle.

Pendant la phase de conception du logiciel, vous pouvez déjà utiliser l'éditeur d'états-transitions comme outil de conception. Par exemple, vous pouvez créer un fichier graphique (BMP) à partir d'un diagramme d'états afin de l'ajouter à une spécification ou à un document de conception.

  • Identifiez tous les états que la machine aura.

  • Identifiez les transitions d'état possibles d'un état à un autre.

  • Identifiez les événements qui se produisent pendant l'exécution de la machine et qui déclenchent une transition d'état. Regroupez les événements pertinents par ordre chronologique.

  • Identifiez le ENTRY, DO, et EXIT actions ou méthodes à appeler pendant un état.

  • Identifiez les actions ou les méthodes à appeler pendant les transitions.

  • Définir le comportement en cas d'erreur.