Qu’est-ce qu’un diagramme d’activité ?
Un diagramme d’activité est un diagramme comportemental diagramme UML qui fonctionne comme un organigramme puissant et formalisé pour les applications logicielles. En tant que composant essentiel de la spécification du langage de modélisation unifié (UML), il décrit le flux opérationnel étape par étape d’un composant système, d’un processus métier ou d’une boucle d’exécution algorithmique. En suivant le flux séquentiel du contrôle depuis un point de départ initial jusqu’à une conclusion finale, ce type spécifique de type de diagramme UML aide les ingénieurs logiciels, les gestionnaires de produits et les analystes métiers à représenter la logique complexe des systèmes, à identifier les cas limites et à isoler visuellement les chemins d’exécution parallèles avant d’écrire une seule ligne de logique côté serveur.
Avec VPasCode, vous n’avez pas besoin de disposer manuellement les boîtes de flux, de calculer les intersections des flèches ou d’équilibrer les espacements du layout. Le moteur utilise une norme de formatage modernisée, similaire à un script, pour générer instantanément des vecteurs de disposition propres et très lisibles au fur et à mesure que vous codez.
Guide de syntaxe principale : éléments et constructions
Pour concevoir un diagramme d’activité UML élégant et conforme aux normes dans PlantUML, vous devez maîtriser les points de contrôle d’exécution, les états d’activité, les branches conditionnelles, les séparations parallèles et les couloirs verticaux.
1. Points de contrôle d’exécution et activités de base
Contrairement aux notations UML anciennes, les scripts d’activité modernes utilisent des balises de commande claires et explicites pour marquer les limites de votre flux de travail. Un nœud d’activité est défini simplement en plaçant du texte entre deux points-virgules et deux deux-points :
start
:Initialiser le contexte de l'application;
:Charger le cache de configuration locale;
stop 
2. Branches de logique conditionnelle (si / sinon / switch)
Pour diviser votre logique de contrôle en fonction des paramètres opérationnels, utilisez des boucles de syntaxe de programmation standard. Vous pouvez ajouter des étiquettes entre parenthèses pour indiquer les critères d’évaluation spécifiques nécessaires pour que la flèche passe à travers :
- Forks binaires (si / sinon si / sinon) : Idéal pour des vérifications simples de vrai/faux :
Plantuml Edit Plantuml in VPasCode
si (Le jeton est-il valide ?) alors (oui) :Accorder l'accès à l'API; sinon (non) :Rediriger vers la connexion; fin si
- Interrupteurs à plusieurs chemins (switch) : Parfait pour évaluer des plages numériques, des niveaux de rôle ou des motifs de correspondance de chaînes sans imbriquer des instructions if infinies :
Plantuml Edit Plantuml in VPasCode
switch (Type de rôle utilisateur) case ( Administrateur ) :Afficher la console complète; case ( Modérateur ) :Afficher le tableau de contrôle; case ( Invité ) :Afficher le flux en lecture seule; endswitch
3. Exécutions parallèles (fork / join)
Lors de la modélisation des environnements cloud contemporains ou des boucles de code multithreadées, vous devez souvent représenter des tâches qui s’exécutent en parallèle. Utilisez la fork construction pour diviser votre chaîne d’exécution en voies indépendantes et parallèles, puis terminez avec un token join pour les fusionner à nouveau en un seul fil d’exécution :
fork
:Générer la facture par e-mail;
fork à nouveau
:Déduire du stock entrepôt;
fin fork 
4. Organisation des responsabilités avec les voies de nage
Pour définir clairement quel acteur, équipe de service ou frontière d’infrastructure de microservice est responsable d’une action spécifique, utilisez des partitions verticales appelées voies de nage. Vous déclarez une voie de nage en entourant une chaîne de titre avec des caractères barre verticale (|Titre de la voie|):
|Application client|
start
:Cliquer sur le bouton Acheter;
|#LightBlue Passerelle de paiement|
:Autoriser la carte de crédit; 
Meilleures pratiques pour des flux d’activité propres
- Utilisez des étiquettes avec des verbes actifs :Tenez vos blocs de texte d’activité compacts et clairs en commençant par des verbes orientés vers l’action (par exemple,
:Analyser le chargement;au lieu de:Les données du chargement sont analysées par l'application worker;). - Coloriez les nœuds à haut risque : Ajoutez des couleurs hexadécimales personnalisées directement sur les nœuds d’arrière-plan sensibles (par exemple,
:#Crimson:Vider les enregistrements de la base de données;) pour faire ressortir visuellement les étapes critiques dans des cartes d’entreprise complexes. - Évitez les lignes croisées : Si votre diagramme à plusieurs branches commence à sembler encombré, séparez les blocs de texte en insérant un nœud de connexion circulaire propre en utilisant la notation de déconnexion (
detach) ou des ancres terminales.
Exemples réels de diagrammes d’activité PlantUML
Exemple 1 : Intégration utilisateur et validation d’identité (branches et commutateurs)
Ce modèle représente un flux standard d’intégration utilisateur contenant une logique conditionnelle binaire approfondie et une vérification d’identité dans une mise en page de diagramme UML propre.
@startuml
start
:Utilisateur soumet le formulaire d'inscription;
si (Email déjà existant?) alors (oui)
:Afficher l'avertissement de conflit de compte;
stop
sinon (non)
:Créer un enregistrement utilisateur en attente;
fin si
:Envoyer le code OTP de vérification;
répéter
:Attendre l'entrée OTP de l'utilisateur;
retour arrière:Enregistrer l'alerte d'échec de tentative;
répéter tant que (OTP correct?) est (non) pas (oui)
switch (Niveau de sélection du compte)
case ( Premium payé )
:Allouer des clusters de base de données;
:Déclencher la boucle d'abonnement Stripe;
case ( Niveau gratuit )
:Appliquer des limites de débit API de base;
fin switch
:Marquer le profil utilisateur comme vérifié;
stop
@enduml 
Analyse de la syntaxe : Ce modèle met en évidence une standard répéter / retour arrière / répéter tant que boucle de validation qui capture continuellement les entrées utilisateur jusqu’à ce que la clé de sécurité correcte soit fournie. La structure à plusieurs chemins switch enveloppe sépare proprement la logique de configuration du compte en fonction des valeurs d’état du niveau.
Exemple 2 : Moteur de traitement de commandes distribué (nageoires et branches parallèles)
Cette carte d’architecture d’entreprise complexe utilise des nageoires verticales structurelles pour suivre précisément comment un flux de paiement automatisé traite les tâches de manière concurrente entre un client navigateur, une passerelle API et un centre de traitement physique.
@startuml
|#White|Application client|
start
:Soumettre le panier;
:Choisir l'adresse de livraison;
|#LightCyan|Moteur API de paiement|
:Valider l'inventaire des produits;
si (Articles en stock?) alors (non)
:Retourner une erreur « Épuisé »;
stop
sinon (oui)
:Verrouiller les allocations d'inventaire;
fin si
fork
:Traiter le paiement via Stripe;
:Générer un reçu PDF numérique;
fork again
|#Lavender|Système de gestion des entrepôts|
:Imprimer le bon de livraison physique;
:Attribuer un robot de sélection d'entrepôt;
fin fork
|#LightCyan|Moteur API de paiement|
:Envoyer le point de confirmation de commande;
stop
@enduml 
Analyse de la syntaxe : L’utilisation de nageoires codées par couleur (comme |#Lavender Système de gestion des entrepôts|) force le moteur de mise en page automatique à créer des colonnes nettes et distinctes. La structure parallèle fourchel’énoncé montre clairement que le traitement des paiements sur le moteur API et la génération des bons de livraison dans le entrepôt physique se produisent de manière concurrente, se rejoignant proprement avant le terminalarrêter bloc.