Diagramme d’états

Diagramme UML qui permet de modéliser des automates d’états

Introduction de la notion

Au cœur de l’approche orientée objet
Cette approche, la modélisation contractuelle, constitue un outil essentiel pour pousser plus loin la logique objet, c’est-à-dire pour concevoir les classes comme de véritables machines autonomes, responsables à tout instant de leur état interne et assumant les missions qu’elles proposent à l’extérieur.

Quand utiliser le diagramme d’états ?
Le modélisateur doit se poser les questions suivantes, pour chaque classe :

  • Les objets de cette classe suivent-ils un cycle de vie ?
  • Leurs transformations obéissent-elles à des contraintes ou un enchaînement ?
  • Leur comportement est-il conditionné par leur état interne, par l’étape dans laquelle ils se situent à un moment donné ?

Si une de ces questions obtient une réponse positive, le modélisateur est fondé à représenter le phénomène sous la forme d’un automate à états.

Un contrat, un sinistre, une opération… possèdent un cycle de vie jalonné par différents états. Ils se comporteront différemment selon la valeur de l’état. Les classes qui les représentent sont donc dotées d’un automate.

Comment procéder ?
Les notions de statuts, jalons, étapes… ainsi que les adjectifs ou participes présents accolés au nom de la classe constituent des points de départ pour isoler les états. Une fois les états identifiés, on représente les transitions valides (sans doute plus que dans un fonctionnement nominal de l’objet, trop suivant réduit à une suite linéaire…).

Pour consolider l’automate, on se demande à quelles stimulations l’objet doit répondre et comment il se comporte face à ces stimulations à partir de chaque état. On ajoute les retours en arrière qui permettront d’absorber les perturbations que l’objet peut subir au cours de son existence (régression dans le cycle de vie).

Ensuite, on inscrit sur les transitions :

  • les événements déclencheurs ou les conditions,
  • les opérations qui réalisent la transition,
  • les événements émis.

L’automate est un bon moyen de dégager les opérations de nature sémantique. Quand la modélisation est terminée, les transitions portent des opérations inscrites sur la classe pour laquelle est fait le diagramme d’états.

En rapport - items

Lien pour marque-pages : Permaliens.

Les commentaires sont fermés