Diagrammes de séquence
Les diagrammes de séquence visualisent la façon dont les objets interagissent dans le temps. Ils montrent l'ordre des messages échangés entre les participants pour accomplir une tâche ou un scénario spécifique.
Concepts fondamentaux
Participants
Les participants représentent les objets ou acteurs impliqués dans l'interaction. Chaque participant a une ligne de vie — une ligne verticale en tirets s'étendant vers le bas qui représente le temps.
Messages
Les messages sont les communications entre participants, affichés sous forme de flèches horizontales entre les lignes de vie. Le temps s'écoule de haut en bas.
Barres d'activation
Les barres d'activation (aussi appelées spécifications d'exécution) sont de fines rectangles sur une ligne de vie qui montrent quand un participant traite activement.
Créer des participants
Utiliser l'outil Participant
Sur une page Diagramme de séquence UML, appuyez sur P ou choisissez Participant dans le menu UML de la barre d'outils, puis cliquez sur le canevas pour placer des participants. Les nouveaux participants s'alignent avec les existants. Appuyez sur Retour avec un participant sélectionné pour le renommer.
Types de participants
Les participants peuvent représenter différents types d'entités :
- Participant - un objet générique ou une partie du système (rectangle)
- Acteur - un utilisateur ou un système externe (bonhomme allumette)
- Frontière - frontière d'interface ou de système
- Contrôle - logique de processus ou de contrôleur
- Entité - donnée ou objet de domaine
- Base de données - un entrepôt de données
Définissez le Type de rôle dans l'onglet Disposition de l'Inspecteur → section UML.
Créer des messages
Utiliser l'outil Message
Appuyez sur M pour activer l'outil Message, puis :
- Cliquez sur la ligne de vie du participant source
- Faites glisser jusqu'à la ligne de vie du participant cible
- Relâchez pour créer le message
Types de message
| Type | Style de flèche | Description |
|---|---|---|
| Synchrone | Ligne continue, flèche pleine | L'émetteur attend une réponse |
| Asynchrone | Ligne continue, flèche ouverte | L'émetteur continue sans attendre |
| Retour | Ligne en tirets, flèche ouverte | Réponse à un appel synchrone |
| Créer | Ligne en tirets, flèche ouverte vers une boîte | Crée un nouveau participant |
| Détruire | Ligne se terminant par un X | Termine un participant |
| Auto-appel | Flèche revenant sur la même ligne de vie | Un participant s'appelle lui-même |
Définissez le Type de message du message sélectionné dans la section UML de l'Inspecteur.
Étiquettes de message
Sélectionnez un message et modifiez son Étiquette dans la section UML de l'Inspecteur. Formats courants :
nomMethode()- appel de méthode simplenomMethode(param1, param2)- appel avec paramètresresultat := nomMethode()- appel avec affectation du retour[condition] nomMethode()- message conditionnel (garde)
Barres d'activation
Les barres d'activation montrent la période pendant laquelle un participant s'exécute ou attend une réponse.
Ajouter des barres d'activation
- Choisissez Activation dans le menu UML de la barre d'outils
- Faites glisser le long de la ligne de vie d'un participant sur la période où il est actif
- La barre d'activation est placée sur cette ligne de vie
Activations imbriquées
Lorsqu'un participant s'appelle lui-même (appel récursif) ou gère plusieurs appels imbriqués, les barres d'activation peuvent être empilées.
Fragments
Les fragments regroupent des messages pour montrer une logique conditionnelle, des boucles, ou un autre flux de contrôle.
Types de fragment
| Type | Mot-clé | Objectif |
|---|---|---|
| Alternative | alt | Branchement si-sinon |
| Option | opt | Exécution optionnelle (si sans sinon) |
| Boucle | loop | Exécution répétée |
| Rupture | break | Sortie de la boucle englobante |
| Parallèle | par | Exécution concurrente |
| Critique | critical | Section atomique/critique |
| Négatif | neg | Interaction invalide |
| Assertion | assert | Interaction requise |
| Ignorer | ignore | Messages pouvant être ignorés |
| Considérer | consider | Messages devant être pris en compte |
| Référence | ref | Référence à une autre interaction |
Créer des fragments
- Choisissez Fragment dans le menu UML de la barre d'outils
- Faites glisser un rectangle sur les participants et messages que vous voulez regrouper
- Sélectionnez le fragment et définissez son Type de fragment dans la section UML de l'Inspecteur
- Saisissez une Condition de garde si nécessaire
Gardes de fragment
Les gardes sont des conditions affichées entre crochets :
[x > 0]- condition numérique[user.isAdmin]- vérification de propriété[else]- branche par défaut/sinon dans les fragments alt
Réorganiser les éléments
Déplacer des participants
Faites glisser les participants horizontalement pour les réorganiser. Les messages connectés suivront.
Déplacer des messages
Sélectionnez un message et appuyez sur Cmd+↑ ou Cmd+↓ pour le déplacer plus tôt ou plus tard dans la séquence.
Bonnes pratiques
- Commencez par le flux principal - modélisez d'abord le chemin nominal, puis ajoutez les alternatives
- Restez lisible - limitez-vous à 5-7 participants par diagramme
- Utilisez des noms significatifs - étiquetez les messages avec de vrais noms de méthode ou des descriptions
- Montrez les messages de retour - surtout pour les appels synchrones où la valeur de retour compte
- Utilisez les fragments avec parcimonie - trop de fragments imbriqués réduisent la lisibilité
- Ajoutez des notes - utilisez des notes autocollantes pour expliquer une logique complexe
Exemple : flux de connexion utilisateur
Une séquence de connexion typique pourrait inclure :
- L'utilisateur saisit ses identifiants
- Le client envoie une requête de connexion au serveur
- Le serveur valide auprès de la base de données
- La base de données retourne l'enregistrement utilisateur
- Le serveur crée une session
- Le serveur retourne succès/échec au client
- Le client met à jour l'interface
Ce flux illustre des appels synchrones, des messages de retour, et des fragments alt potentiels pour les chemins de succès/échec.