Les diagrammes d’état, ou diagrammes de machines à états, constituent une composante puissante du Langage de modélisation unifié (UML) utilisé pour modéliser le comportement dynamique des systèmes. Ils illustrent comment un objet ou un système passe d’un état distinct à un autre en réponse à des événements, ce qui les rend idéaux pour les systèmes réactifs comme un guichet automatique bancaire (ATM). Cette étude de cas explore comment un diagramme d’état peut représenter le comportement d’un ATM, un système réel familier doté d’états clairs et de transitions déclenchées par des événements. En examinant le cycle de vie de l’ATM, nous mettrons en évidence les concepts clés des diagrammes d’état, notamment les états, les transitions, les actions, les états composites et les transitions sans déclencheur. Cette étude de cas montre également comment des outils comme Visual Paradigm peuvent simplifier la création de ces diagrammes.
Ci-dessous se trouve un diagramme de machine à états créé avec l’éditeur de modélisation de diagrammes de machines à états de Visual Paradigm :

Les diagrammes d’état capturent le comportement d’un système en définissant :
États: Conditions ou situations spécifiques au cours du cycle de vie du système (par exemple, « Inactif » ou « En service du client »).
Transitions: Déplacements entre états déclenchés par des événements (par exemple, insertion de carte).
Actions: Activités effectuées lors de l’entrée, de la sortie ou du passage entre états (par exemple, lecture d’une carte).
États composites: États contenant des sous-états pour une modélisation hiérarchique (par exemple, « En service du client » avec des sous-états comme « Authentification du client »).
États initial et final: Les points de départ et les points de fin potentiels du comportement du système.
Transitions sans déclencheur: Transitions automatiques sans événements explicites (par exemple, passage d’un test automatique à l’état inactif).
Ces concepts sont essentiels pour modéliser des systèmes dont le comportement dépend de l’état actuel et des stimuli externes, comme un ATM.
Un guichet automatique bancaire facilite les opérations des clients telles que les retraits en espèces, les dépôts et les requêtes de solde. Son comportement est piloté par des événements, avec des états distincts qui changent en fonction des actions de l’utilisateur (par exemple, insertion d’une carte, saisie d’un code PIN) ou des conditions du système (par exemple, passage d’un test automatique). Un diagramme d’état est un outil efficace pour modéliser ce comportement car il définit clairement les états, les transitions et les actions de l’ATM, assurant ainsi une représentation structurée pour la conception, la mise en œuvre et la maintenance.
L’ATM fonctionne dans les états suivants :
Éteint
Description: Le distributeur est éteint et ne peut pas interagir avec les utilisateurs. Il s’agit de l’état initial avant l’activation du système.
Caractéristiques principales: Aucune opération n’est possible jusqu’à ce que le distributeur soit allumé.
Test automatique
Description: À l’allumage, le distributeur passe dans cet état pour effectuer un test diagnostique, vérifiant des composants tels que le lecteur de carte, le clavier et le distributeur de billets.
Résultats:
Réussite: Le distributeur passe à l’état « Inactif ».
Échec: Le distributeur passe à l’état « Hors service ».
Caractéristiques principales: Cet état garantit que le distributeur est opérationnel avant de servir les clients.
Hors service
Description: Entré si le test automatique échoue ou si une erreur critique survient (par exemple, panne du distributeur de billets). Le distributeur est inopérant et nécessite une maintenance.
Caractéristiques principales: Agit comme un état final jusqu’à réparation ou réinitialisation.
Inactif
Description: Le distributeur est allumé, opérationnel et en attente qu’un client déclenche une transaction en insérant une carte bancaire ou de crédit.
Caractéristiques principales: L’état principal d’attente pour l’interaction avec le client.
Service au client
Description: Un état composite entré lorsque le client insère une carte. Il englobe toutes les interactions du client, de l’authentification à la finalisation de la transaction.
Action d’entrée: lireCarte (la machine lit les informations de la carte).
Action de sortie: ejecterCarte (la machine rend la carte).
Sous-états:
Authentification du client
La machine invite le client à saisir un code PIN et le valide.
Si le code PIN est incorrect, la machine peut autoriser des tentatives supplémentaires (par exemple, jusqu’à trois essais) avant de rendre la carte.
Sélection de la transaction
Le client sélectionne un type de transaction (par exemple, retrait, dépôt, consultation du solde).
Transaction
La machine traite la transaction sélectionnée (par exemple, délivrance de cash, acceptation d’un dépôt, affichage du solde).
Une fois terminée, la machine retourne à l’état « Inactif ».
La machine passe d’un état à un autre en fonction d’événements ou de conditions. Les transitions principales sont :
|
Transition |
Depuis l’état |
Vers l’état |
Déclencheur |
Action |
|---|---|---|---|---|
|
Mise sous tension |
Éteint |
Test d’auto-diagnostic |
La machine est mise sous tension |
Effectuer le démarrage (initialiser le matériel) |
|
Test d’auto-diagnostic réussi |
Test d’auto-diagnostic |
Inactif |
Aucun (sans déclencheur) |
Aucun |
|
Échec du test automatique |
Test automatique |
Hors service |
Échec du test |
Aucun |
|
Insertion de la carte |
Inactif |
Service au client |
Le client insère la carte |
Lecture de la carte |
|
Authentification réussie |
Authentification du client |
Sélection de la transaction |
Code PIN valide saisi |
Aucun |
|
Échec de l’authentification (après tentatives) |
Authentification du client |
Inactif |
Code PIN invalide (nombre de tentatives dépassé) |
Éjection de la carte |
|
Transaction sélectionnée |
Sélection de la transaction |
Transaction |
Le client sélectionne la transaction |
Aucun |
|
Transaction terminée |
Transaction |
Inactif |
La transaction se termine |
ejecterCarte |
|
Annuler |
Tout sous-état dans le service du client |
Inactif |
Le client annule |
ejecterCarte |
Ce diagramme d’états illustre plusieurs concepts fondamentaux des diagrammes d’états :
États: Le comportement de la machine est divisé en états distincts (par exemple, Éteint, Inactif, Service du client), chacun représentant un état spécifique.
Transitions: Des événements comme l’insertion de carte ou la validation du code PIN déclenchent des changements d’état, définissant clairement le flux du système.
Actions: Actions d’entrée (par exemple, lireCarte) et actions de sortie (par exemple, ejecterCarte) spécifient les activités lors des changements d’état.
États composés: L’état « Service du client » contient des sous-états (Authentification du client, Sélection de transaction, Transaction), permettant une modélisation hiérarchique.
États initial et final: « Éteint » est l’état initial, tandis que « Hors service » agit comme un état final jusqu’à ce que la maintenance soit effectuée.
Transitions sans déclencheur: La transition de « Test automatique » à « Inactif » se produit automatiquement si le test réussit, sans événement explicite.
Les diagrammes d’états sont idéaux pour modéliser une machine à distribuer des espèces car :
États finis: La machine à distribuer des espèces dispose d’un ensemble clair d’états (par exemple, Inactif, Service du client) qui définissent son comportement.
Comportement piloté par les événements: Les transitions sont déclenchées par des actions de l’utilisateur (par exemple, insertion de carte, saisie du code PIN) ou des conditions système (par exemple, résultats de test automatique).
Structure hiérarchique: Les états composites comme « Service au client » permettent une modélisation détaillée des interactions complexes.
Clarté pour les parties prenantes: Le diagramme fournit une représentation visuelle que les développeurs, les concepteurs et les parties prenantes peuvent facilement comprendre, ce qui facilite la conception et la maintenance du système.
Visual Paradigm est un outil puissant de modélisation UML qui simplifie la création de diagrammes d’état. Ses fonctionnalités incluent :
Interface glisser-déposer: Ajoutez facilement des états, des transitions et des actions.
Outils de simulation: Testez les transitions d’état pour valider la logique du diagramme.
Modèles: Utilisez des modèles prédéfinis pour des systèmes comme les distributeurs automatiques pour accélérer la modélisation.
Génération de code: Générez des squelettes de code (par exemple, Java, C++) à partir du diagramme.
Collaboration: Édition en temps réel et commentaires par équipe pour les projets collaboratifs.
Pour créer le diagramme d’état du distributeur automatique dans Visual Paradigm :
Ouvrez Visual Paradigm et sélectionnezDiagramme > Nouveau > Diagramme d’état machine.
Ajoutez des états (par exemple, Éteint, Test automatique, Inactif) à l’aide de l’éditeur glisser-déposer.
Tracez les transitions avec des déclencheurs appropriés (par exemple, « Allumage », « Insertion de carte »).
Définissez les actions (par exemple, lireCarte, ejecterCarte) pour les entrées, sorties ou transitions.
Utilisez la simulation pour tester le flux et garantir l’exactitude.
Le diagramme d’état de la machine à billets bancaire illustre efficacement la manière dont les diagrammes d’état UML peuvent modéliser le comportement des systèmes du monde réel. En définissant des états clairs, des transitions déclenchées par des événements et des actions, le diagramme fournit une représentation structurée du fonctionnement de la machine à billets. Cette approche améliore la compréhension, facilite la conception du système et soutient la mise en œuvre et la maintenance. Des outils comme Visual Paradigm facilitent la création, le test et le partage de ces diagrammes, garantissant ainsi une précision et une collaboration accrues dans le développement des systèmes.