Le guide complet des diagrammes d’état UML

Le comportement d’une entité n’est pas seulement une conséquence directe de ses entrées, mais dépend également de son état précédent. L’historique passé d’une entité peut être le mieux modélisé par une diagramme de machine à états finisou appelée traditionnellement automatesUML Les diagrammes de machine à états (ou parfois appelés diagramme d’état, machine à états ou diagramme d’état) montrent les différents états d’une entité. Les diagrammes de machine à états peuvent également montrer comment une entité réagit à divers événements en passant d’un état à un autre. Un diagramme de machine à états est un diagramme UML utilisé pour modéliser la nature dynamique d’un système.

State Machine Diagram Hierarchy


🚀 Apprenez l’UML plus vite, mieux et plus facilement

Cherchez-vous un outil UML gratuit pour apprendre l’UML plus vite, plus facilement et plus rapidement ?Édition Communauté de Visual Paradigm est un logiciel UML qui prend en charge tous les types de diagrammes UML. C’est un concepteur UML primé au niveau international, et pourtant il est facile à utiliser, intuitif et entièrement gratuit.

Téléchargement gratuit


Pourquoi les diagrammes de machine à états ?

Les diagrammes de machine à états sont généralement utilisés pour décrire un comportement dépendant de l’état pour un objetUn objet réagit différemment au même événement selon l’état dans lequel il se trouve. Les diagrammes de machine à états sont généralement appliqués aux objets, mais peuvent être appliqués à tout élément ayant un comportement vis-à-vis d’autres entités, tels que : acteurs, cas d’utilisation, méthodes, sous-systèmes, systèmes, etc., et ils sont généralement utilisés conjointement avec les diagrammes d’interaction (souvent des diagrammes de séquence).

Exemple pratique : Retrait sur un compte bancaire

Considérez que vous avez 100 000 $ sur un compte bancaire. Le comportement de la fonction de retrait serait :

solde := solde - montantRetrait;

à condition que le solde après le retrait n’est pas inférieur à 0 $; cela reste vrai indépendamment du nombre de fois où vous avez retiré de l’argent de la banque. Dans de telles situations, les retraits n’affectent pas l’abstraction des valeurs des attributs, et par conséquent, le comportement global de l’objet reste inchangé.

Cependant, si le solde du compte deviendrait négatif après un retrait, le comportement de la fonction de retrait serait tout à fait différent. Cela est dû au fait que l’état du compte bancaire passe de positif à négatif ; en langage technique, une transition de l’état positif à l’état négatif est déclenchée.

💡 Note: L’abstraction de la valeur d’un attribut est une propriété du système, plutôt qu’une règle applicable globalement. Par exemple, si la banque modifie la règle métier pour autoriser un découvert de 2 000 $ sur le solde du compte, l’état du compte bancaire sera redéfini avec la condition que le solde après retrait ne doit pas être inférieur à 2 000 $ en déficit.

Distinction clé

Type de diagramme Portée
Diagramme d’états Décrivant tous les événements, états et transitions pour un objet unique
Diagramme de séquence Décrivant les événements pour un interaction unique entre tous les objets impliqués

Concepts fondamentaux du diagramme d’états

Qu’est-ce qu’un état ?

« Un état est une abstraction des valeurs d’attributs et des liens d’un objet. Les ensembles de valeurs sont regroupés en un état selon des propriétés qui affectent le comportement global de l’objet. » — Rumbaugh

Notation d’état

State Notations

Caractéristiques des notations des machines à états

  • Un état occupe un intervalle de temps

  • Un état est souvent associé à une abstraction des valeurs d’attributs d’une entité satisfaisant une ou plusieurs conditions

  • Une entité change d’état non seulement en tant que conséquence directe de l’entrée actuelle, mais aussi en fonction de son historique antérieur d’entrées

Définition d’un état

Un état est une contrainte ou une situation au cours du cycle de vie d’un objet, durant laquelle une contrainte est respectée, l’objet exécute une activité ou attend un événement.

Un diagramme d’états est un graphe composé de :

  • États (états simples ou états composés)

  • Transitions d’état connectant les états

Exemple :
State Notation

Caractéristiques de l’état

  • Les états représentent les conditions des objets à des moments donnés

  • Les objets (ou systèmes) peuvent être considérés comme passant d’un état à un autre

  • Un point dans le cycle de vie d’un élément de modèle qui satisfait une condition donnée, où une action particulière est en cours d’exécution ou où un événement est attendu


États initial et final

Type d’état Symbole Description
État initial ● Cercle plein Connue comme un pseudo-état initial ; une transition à partir de cet état indique le premier état réel
État final ◎ Cercles concentriques Représente la terminaison ; une machine à états à boucle ouverte représente un objet qui peut se terminer avant que le système ne se termine

Exemple :
Start and Final State Example

📌 Remarque: Un diagramme de machine à états à boucle fermée n’a pas d’état final ; dans ce cas, l’objet existe jusqu’à la terminaison complète du système.


Événements

Une signature d’événement est décrite commeNom-événement (liste de paramètres séparés par des virgules). Les événements apparaissent dans le compartiment de transition interne d’un état ou sur une transition entre états.

Quatre types d’événements

  1. Événement de signal – correspondant à l’arrivée d’un message ou d’un signal asynchrone

  2. Événement d’appel – correspondant à l’arrivée d’un appel procédural à une opération

  3. Événement temporel – se produit après qu’une durée spécifiée soit écoulée

  4. Événement de changement – se produit chaque fois qu’une condition spécifiée est remplie

Caractéristiques des événements

  • Représente des incidents qui provoquent le passage des objets d’un état à un autre

  • Les événements internes ou externes déclenchent une activité qui modifie l’état du système et de certaines de ses parties

  • Les événements transmettent des informations, qui sont traitées par les opérations des objets. Les objets réalisent les événements

  • La conception consiste à examiner les événements dans un diagramme d’états-machine et à envisager comment ces événements seront pris en charge par les objets du système


Transitions

Les lignes de transition représentent le passage d’un état à un autre. Chaque ligne de transition est étiquetée par le événement qui provoque la transition.

Principes clés

  • Considérer un système comme un ensemble d’états et de transitions entre états est très utile pour décrire des comportements complexes

  • Comprendre les transitions d’état fait partie de l’analyse et de la conception du système

  • Un Transition est le passage d’un état à un autre état

Séquence de transition

  1. Un élément est dans un état source

  2. Une événement se produit

  3. Une action est effectuée

  4. L’élément entre dans un état cible

Notes supplémentaires

  • Plusieurs transitions ont lieu soit lorsque des événements différents entraînent la fin d’un état, soit lorsque des conditions de garde sont présentesconditions de gardesur les transitions

  • Une transition sans événement ni action est appelée une transitiontransition automatique


Actions vs. Activités

Fonctionnalité Action Activité
Nature Calcul atomique exécutable Calcul non atomique ou en cours
Exemples Appels d’opération, création/destruction d’objets, envoi de signaux Comportements complexes pouvant s’étendre sur de longues périodes
Interrompabilité Non interrompible – se termine sans interruption Peut être interrompu par des événements ; peut s’exécuter jusqu’à son achèvement ou continuer indéfiniment
Association Associé à transitions Associé à états

Caractéristiques des actions et des activités

  • Les états peuvent déclencher des actions

  • Les états peuvent avoir une deuxième compartiment contenant des actions ou des activités effectuées pendant qu’une entité se trouve dans un état donné

  • Une action est une exécution atomique et se termine donc sans interruption

  • Cinq déclencheurs pour les actions: À l’entrée, Faire, À l’événement, À la sortie et Inclure

  • Une activité capture un comportement complexe pouvant durer longtemps – une activité peut être interrompue par des événements, auquel cas elle ne se termine pas ; se produit lorsque l’objet arrive dans un état


Notation de diagramme de machine à états simple

Simple State Machine Diagram

Actions d’entrée et de sortie

Actions d’entrée et de sortie spécifiées dans l’état. Cela doit être vrai pour chaque occurrence d’entrée/sortie. Sinon, vous devez utiliser des actions sur les arcs de transition individuels.

Type d’action Notation Quand exécuté
Action d’entrée entrée / action Exécuté à l’entrée dans l’état
Action de sortie sortie / action Exécuté à la sortie de l’état

Exemple – Action d’entrée/sortie (Vérification de l’état du livre)

Cet exemple illustre un diagramme de machine à états dérivé d’une classe – « BookCopy » :

Entry and Exit Actions

Points clés:

  1. Ce diagramme de machine à états montre l’état d’un objetmyBkCopy issu d’un BookCopy classe

  2. Action d’entrée: toute action marquée comme liée à l’action d’entrée est exécutée chaque fois que l’état donné est atteint via une transition

  3. Action de sortie: toute action marquée comme liée à l’action de sortie est exécutée chaque fois que l’état est quitté via une transition


🤖 Maîtrisez les cycles de vie des objets complexes avec l’IA

Les machines à états sont essentielles pour modéliser le comportement piloté par des événements, mais les sous-états imbriqués et les régions concurrentes peuvent être difficiles à concevoir manuellement.Les outils d’IA de Visual Paradigm simplifient cela en transformant votre logique comportementale en diagrammes d’états UML précis – complets avecdéclencheursgardes, et actions d’entrée/sortie.

Plateformes dotées d’IA

Plateforme Capacité
VP Desktop Utilisez l’assistant IA intégré pour générer et affiner la logique dépendante de l’état directement dans le modélisateur UML
Chatbot IA Décrivez les états et les transitions de votre objet au Chat IA pour une génération instantanée et éditable du diagramme

Fonctionnalités intelligentes de conception comportementale

🔄 Découverte des transitions: L’IA identifie automatiquement les états et les transitions à partir de vos exigences système
🛡️ Économie de temps: Générez le diagramme en un clic, en quelques secondes

En savoir plus sur la modélisation des diagrammes d’état par IA | Écosystème complet d’IA


Sous-états et états composés

Un état simple est un état qui n’a pas de sous-structure. Un état qui possède des sous-états (états imbriqués) est appelé un état composé.

Règles principales pour les sous-états

  • Les sous-états peuvent être imbriqués à n’importe quel niveau

  • Une machine à états imbriquée peut avoir au plus un état initial et un état final

  • Les sous-états sont utilisés pour simplifier les machines à états complexes et plates en montrant que certains états ne sont possibles que dans un contexte particulier (l’état englobant)

Exemple de sous-état – Chauffage

Submachine Example

Idées de test dérivées des diagrammes de machines à états

Les diagrammes de machines à états sont souvent utilisés pour dériver des cas de test. Voici une liste d’idées de test possibles pour l’exemple du chauffage :

  • L’état Inactif reçoit l’événement Trop chaud

  • L’état Inactif reçoit l’événement Trop froid

  • L’état Refroidissement/Démarrage reçoit l’événement Compresseur en marche

  • L’état Refroidissement/Prêt reçoit l’événement Ventilateur en marche

  • L’état Refroidissement/En cours reçoit l’événement OK

  • L’état Refroidissement/En cours reçoit l’événement Défaillance

  • L’état Défaillance reçoit l’événement Défaillance résolue

  • L’état Chauffage reçoit l’événement OK

  • L’état Chauffage reçoit l’événement Défaillance


États d’historique

Sauf indication contraire, lorsque une transition entre dans un état composite, l’action de la machine à états imbriquée redémarre à partir de l’état initial (sauf si la transition cible directement un sous-état).

États d’historique permettent à la machine à états de revenir au dernier sous-état actif avant le départ l’état composite.

Exemple d’état d’historique

History of State Machine Example

💡 Cas d’utilisation: Les états d’historique sont particulièrement utiles lors de la modélisation des interfaces utilisateur ou des flux de travail où les utilisateurs peuvent quitter et revenir à un état complexe sans perdre leur progression.


États concurrents

Comme mentionné ci-dessus, les états dans les diagrammes d’état-machine peuvent être imbriqués. Les états liés peuvent être regroupés ensemble dans un seul état composite.Imbriquer des états à l’intérieur d’autres est nécessaire lorsque une activité implique des sous-activités concurrentes.

Exemple de diagramme d’état-machine concurrent – Processus d’enchère

Dans cet exemple, la machine à états qui entre d’abord dans l’enchère nécessite une branche au départ en deux threads de démarrage distincts. Chaque sous-état dispose d’un état de sortie pour marquer la fin du thread. À moins qu’il n’y ait une sortie anormale (Annulée ou Rejetée), la sortie de l’état composite a lieu lorsque les deux sous-états ont quitté.

Concurrent State Machine Example

Caractéristiques principales des états concurrents

  • Représenter des chemins d’exécution parallèles au sein d’un état composite

  • Utiliser la notation fork/join pour séparer et synchroniser les flux concurrents

  • Chaque région concurrente fonctionne indépendamment, mais contribue au comportement global de l’état

  • La sortie de l’état composite a lieu uniquement lorsquetousles sous-états concurrents ont terminé


✏️ Essayez de dessiner un diagramme d’état UML maintenant

Vous avez appris ce qu’est un diagramme d’état-machine et comment en dessiner un. Il est temps de dessiner votre propre diagramme d’état-machine.

Obtenez la version Community de Visual Paradigm, un logiciel UML gratuit, et créez votre propre diagramme d’état-machine avec l’outil gratuit de diagramme d’état-machine. Il est facile à utiliser et intuitif.

Téléchargez la version Community de Visual Paradigm

Génération de diagramme d’état pilotée par l’IA

L’IA de Visual Paradigm simplifie la génération de diagrammes d’état en convertissant les descriptions en langage naturel en modèles UML conformes aux normes en quelques secondes. Vous pouvez décrire le cycle de vie d’un objet – tel qu’une commande en ligne ou un ticket de support – et l’IA identifie automatiquement les états nécessaires, les transitions, les déclencheurs et les conditions de garde.

Fonctionnalités clés pour les diagrammes d’état

✨ Langage naturel vers diagramme: Générez instantanément des diagrammes d’état-machine UML complets à partir de simples invites de texte
💬 Affinement conversationnel: Utilisez une interface de chatbot pour modifier itérativement votre diagramme en ajoutant des sous-états, en renommant des éléments ou en affinant les transitions à l’aide de commandes simples
🧠 Support de modélisation intelligent: L’IA inclut des fonctionnalités avancées de modélisation comportementale telles que les actions d’entrée/sortie, les déclencheurs d’événements et les conditions de garde
🗂️ Organisation logique: Des fonctionnalités telles que le regroupement intelligent regroupent automatiquement les états liés, tandis qu’un moteur de disposition automatisé garantit que le diagramme reste propre et lisible
✅ Validation du design: Vous pouvez demander à l’IA d’analyser votre diagramme pour des erreurs logiques, telles que des états « sans issue » ou des événements non traités dans des états spécifiques


L’écosystème IA

Visual Paradigm intègre son IA sur plusieurs plateformes pour offrir une expérience de modélisation cohérente :

Plateformes et fonctionnalités intégrées

Plateforme Avantage principal
Plateformes bureau et en ligne intégrées Commencez un diagramme à l’aide du Chatbot IA ou de l’éditeur en ligne, puis importez-le sans interruption dans le Visual Paradigm Bureau application pour une ingénierie avancée du code et une collaboration d’équipe
Documentation à la demande Générez automatiquement des rapports détaillés sur le projet, des résumés et de la documentation technique à partir de vos modèles visuels
Prise en charge étendue des notations Au-delà des diagrammes d’état, l’IA prend en charge plus de 40 types de diagrammes, notamment UML, BPMN, SysML et ArchiMate
Traçabilité entre modèles Liez vos diagrammes d’état à d’autres éléments du projet tels que les cas d’utilisation ou les historiques utilisateurs afin de maintenir une source unique de vérité dans toute votre architecture système

💬 Souhaitez-vous voir un exemple de prompt pour générer un type spécifique de machine à états ? Demandez simplement !


  1. 📚 Liste de références
  2. Qu’est-ce qu’un diagramme de machine à états ?: Guide complet pour comprendre les diagrammes de machine à états UML, leur notation, leurs composants et leur utilisation pratique dans la modélisation des systèmes.
  3. Maîtriser les diagrammes d’état UML avec une modélisation visuelle alimentée par l’IA: Découvrez comment les outils d’IA améliorent la création de diagrammes d’état, l’efficacité de la modélisation et la précision de la conception comportementale.
  4. Créez des diagrammes d’état UML en quelques secondes avec l’IA: Découvrez comment générer rapidement des diagrammes d’état UML en utilisant des outils alimentés par l’IA qui transforment les descriptions en langage naturel en modèles formels.
  5. Génération de diagrammes par IA: Fonctionnalité alimentée par l’IA de Visual Paradigm pour la création automatique de diagrammes à partir de prompts en langage naturel, couvrant plusieurs types de notations UML.
  6. Chatbot IA pour la création de diagrammes: Assistant IA interactif qui aide à générer et à affiner des diagrammes UML à travers des commandes conversationnelles et des retours itératifs.
  7. Documentation du chatbot IA: Documentation officielle et instructions d’utilisation pour tirer parti du chatbot IA afin de créer, modifier et valider des diagrammes UML.
  8. Génération améliorée de diagrammes d’état par IA: Notes de version détaillant les améliorations des capacités d’IA pour la création de diagrammes d’état, notamment une détection des transitions améliorée et une gestion accrue des conditions de garde.
  9. Améliorations des diagrammes d’état par IA: Aperçu technique des mises à jour des fonctionnalités de modélisation des machines à états alimentées par l’IA et des améliorations des performances.
  10. Diagramme de machine à états UML : un guide définitif pour modéliser le comportement des objets avec l’IA: Documentation complète sur l’utilisation de l’IA pour modéliser le comportement des objets via des machines à états, incluant les bonnes pratiques et des exemples.
  11. Générateur de diagrammes de structure composite par IA: Générez instantanément des diagrammes de structure composite UML sur les plateformes Desktop, Chat et OpenDocs grâce à l’aide de l’IA.
  12. Ce qui distingue le chatbot IA de Visual Paradigm: Article de blog expliquant les avantages uniques du chatbot IA de Visual Paradigm pour la création de diagrammes, notamment la prise en compte du contexte et la précision technique.
  13. Guide de génération de diagrammes UML alimentés par l’IA: Guide en langue vietnamienne sur les fonctionnalités et les flux de travail de génération de diagrammes UML alimentés par l’IA.
  14. Avis complet : fonctionnalités de génération de diagrammes par IA de Visual Paradigm: Avis indépendant évaluant les capacités de création de diagrammes par IA de Visual Paradigm, son ergonomie et ses fonctionnalités d’intégration.
  15. Comment l’écosystème alimenté par l’IA de Visual Paradigm transforme le développement UML: Article explorant comment l’intégration de l’IA transforme les flux de travail de développement UML, la collaboration et les pratiques d’ingénierie pilotée par les modèles.

  1. 🎯 Prêt à commencer ?Téléchargez dès aujourd’hui la version Community de Visual Paradigm et commencez à modéliser le comportement dynamique des systèmes avec des diagrammes de machines à états de qualité professionnelle, alimentés par une conception intuitive et une assistance intelligente par IA.