Diagramme de machine à états et diagramme d'états-transitions en UML

Qu’est-ce qu’un diagramme de machine à états ?

Diagramme d'état sont utilisés pour capturer le comportement d’un système logiciel. Les diagrammes de machines d'état UML peuvent être utilisés pour modéliser le comportement d'une classe, d'un sous-système, d'un package ou même d'un système entier. Il est également appelé diagramme d'états ou diagramme de transition d'état.

Qu'est-ce qu'un diagramme d'états-transitions ?

Les diagrammes d'états-transitions nous fournissent un moyen efficace de modéliser les interactions ou la communication qui se produisent au sein des entités externes et d'un système. Ces diagrammes sont utilisés pour modéliser le système basé sur les événements. L'état d'un objet est contrôlé à l'aide d'un événement. Les diagrammes d'états-transitions sont utilisés pour décrire divers états d'une entité au sein du système d'application.

Il existe au total deux types de diagrammes de machines à états en UML :

1. Diagramme de machine à états comportementaux

  • Il capture le comportement d'une entité présente dans le système.
  • Il est utilisé pour représenter l’implémentation spécifique d’un élément.
  • Le comportement d'un système peut être modélisé à l'aide d'un diagramme de machine d'état comportemental dans OOAD.

2. Diagramme de la machine à états du protocole

  • Ces diagrammes sont utilisés pour capturer le comportement d'un protocole.
  • Il représente comment l'état du protocole change concernant l'événement. Cela représente également les changements correspondants dans le système.
  • Ils ne représentent pas l’implémentation spécifique d’un élément.

Pourquoi un diagramme de machine à états ?

Le diagramme d'états-transitions est utilisé pour capturer l'aspect dynamique d'un système. Les diagrammes de machines à états sont utilisés pour représenter le comportement d’une application. Un objet passe par différents états au cours de sa vie. La durée de vie d'un objet reste jusqu'à la fin du programme. L'objet passe de plusieurs états en fonction de l'événement qui se produit dans l'objet. Chaque état représente des informations uniques sur l'objet.

Les diagrammes d'états-transitions sont utilisés pour concevoir des systèmes interactifs qui répondent à un événement interne ou externe. Le diagramme d'états-transitions en UML visualise le flux d'exécution d'un état à un autre état d'un objet.

Il représente l'état d'un objet depuis la création d'un objet jusqu'à ce que l'objet soit détruit ou terminé.

L'objectif principal d'un diagramme d'états est de modéliser des systèmes interactifs et de définir chaque état d'un objet. Les diagrammes d'états-transitions sont conçus pour capturer le comportement dynamique d'un système d'application. Ces diagrammes sont utilisés pour représenter divers états d'un système et des entités au sein du système.

Notation et symbole pour le diagramme de machine d'état (diagramme d'états-transitions)

Voici les différentes notations utilisées dans le diagramme d’état. Toutes ces notations, combinées, constituent un seul diagramme.

Notations de diagramme d'état UML
Notations de diagramme d'état UML

Etat initial

Le symbole d’état initial est utilisé pour indiquer le début d’un diagramme de machine à états.

État final

Ce symbole est utilisé pour indiquer la fin d'un diagramme de machine à états.

Boîte de décision

Il contient une condition. En fonction du résultat d'une condition de garde évaluée, un nouveau chemin est emprunté pour l'exécution du programme.

Transition

Une transition est un changement d'un état vers un autre état qui se produit en raison d'un événement. Une transition provoque un changement dans l'état d'un objet.

Boîte d'état

C'est un moment précis dans la durée de vie d'un objet. Il est défini à l'aide d'une condition ou d'une instruction dans le corps du classificateur. Il est utilisé pour représenter toute situation statique ou dynamique.

Il est désigné par un rectangle aux coins arrondis. Le nom d’un état est inscrit à l’intérieur du rectangle arrondi.

Le nom d'un état peut également être placé en dehors du rectangle. Cela peut être fait dans le cas d’états composites ou sous-machines. On peut soit placer le nom d'un état à l'intérieur du rectangle, soit à l'extérieur du rectangle dans une boîte tabulaire. On ne peut pas faire les deux en même temps.

Un état peut être actif ou inactif. Lorsqu'un état est en mode de fonctionnement, il est actif, dès qu'il arrête de s'exécuter et passe dans un autre état, l'état précédent devient inactif et l'état actuel devient actif.

Types d'État

Unified Modeling Language définit trois types d'états :

  • État simple
  • Ils n'ont aucun sous-état.
  • État composite
  • Ces types d’états peuvent avoir un ou plusieurs sous-états.
  • Un état composite comportant deux sous-états ou plus est appelé un état orthogonal.
  • État de la sous-machine
  • Ces états sont sémantiquement égaux aux états composites.
  • Contrairement à l’état composite, nous pouvons réutiliser les états de la sous-machine.

Comment dessiner un diagramme Statechart ?

Les diagrammes d'états-transitions sont utilisés pour décrire les différents états par lesquels passe un objet. Une transition entre un état et un autre se produit en raison d’un événement déclenché. Pour dessiner un diagramme d'état dans UML, il faut identifier tous les états possibles d’une entité particulière.

Le but de ces Diagrammes UML est de représenter les états d’un système. Les États jouent un rôle essentiel dans les diagrammes de transition étatique. Tous les objets essentiels, les états et les événements qui provoquent des changements au sein des états doivent d'abord être analysés avant de mettre en œuvre le diagramme.

Les règles suivantes doivent être prises en compte lors de l'élaboration d'un diagramme d'état :

  1. Le nom d'une transition d'état doit être unique.
  2. Le nom d’un État doit être facilement compréhensible et décrire le comportement d’un État.
  3. S'il existe plusieurs objets, seuls les objets essentiels doivent être implémentés.
  4. Des noms propres pour chaque transition et un événement doivent être donnés.

Quand utiliser un diagramme de machine à états ?

Les diagrammes d'état sont utilisés pour implémenter en profondeur des modèles de travail réels et des systèmes orientés objet. Ces diagrammes sont utilisés pour comparer la nature dynamique et statique d'un système en capturant le comportement dynamique d'un système.

Les diagrammes d'états-transitions sont utilisés pour capturer les changements dans diverses entités du système du début à la fin. Ils sont utilisés pour analyser comment un événement peut déclencher un changement dans plusieurs états d'un système.

Les diagrammes de caractères d'état sont utilisés :

  1. Modéliser les objets d'un système.
  2. Modéliser et mettre en œuvre des systèmes interactifs.
  3. Pour afficher les événements qui déclenchent des changements au sein des états.

Exemple de machine à états

L'exemple de diagramme d'état suivant représente le processus d'authentification de l'utilisateur.

Diagramme d'état UML

Diagramme d'état UML

Il existe au total deux états, et le premier indique que l'OTP doit être saisi en premier. Après cela, OTP est coché dans la boîte de décision, s'il est correct, alors seule la transition d'état se produira et l'utilisateur sera validé. Si l'OTP est incorrect, la transition n'aura pas lieu et il reviendra à l'état de départ jusqu'à ce que l'utilisateur entre l'OTP correct, comme indiqué dans l'exemple de diagramme de machine d'état ci-dessus.

Diagramme de machine à états et organigramme

Voici les principales différences entre le diagramme d'états-transitions et l'organigramme.

Diagramme de machine d'état Organigramme
Il représente différents états d'un système. L'organigramme illustre le flux d'exécution du programme.
La machine à états a un concept WAIT, c'est-à-dire attendre une action ou un événement. L'organigramme ne traite pas de l'attente d'un concept.
Les machines à états sont utilisées pour un système en cours d'exécution. L'organigramme visualise les séquences de branchement d'un système.
La machine à états est un diagramme de modélisation. Un organigramme est un flux de séquence ou un diagramme DFD.
La machine à états peut explorer différents états d’un système. L'organigramme traite des chemins et du flux de contrôle.

Résumé

  • Les diagrammes d'états-transitions sont également appelés diagrammes de machines à états.
  • Ces diagrammes sont utilisés pour modéliser le système basé sur les événements.
  • L'état d'une entité est contrôlé à l'aide d'un événement.
  • Il existe au total deux types de diagrammes de machine à états : 1) Diagramme de machine à états comportementale 2) Diagramme de machine à états de protocole
  • Le diagramme d'états-transitions est utilisé pour capturer l'aspect dynamique d'un système.
  • Un état est un moment précis de la durée de vie d’un objet.