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 :

  1. Cliquez sur la ligne de vie du participant source
  2. Faites glisser jusqu'à la ligne de vie du participant cible
  3. Relâchez pour créer le message

Types de message

TypeStyle de flècheDescription
SynchroneLigne continue, flèche pleineL'émetteur attend une réponse
AsynchroneLigne continue, flèche ouverteL'émetteur continue sans attendre
RetourLigne en tirets, flèche ouverteRéponse à un appel synchrone
CréerLigne en tirets, flèche ouverte vers une boîteCrée un nouveau participant
DétruireLigne se terminant par un XTermine un participant
Auto-appelFlèche revenant sur la même ligne de vieUn 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 simple
  • nomMethode(param1, param2) - appel avec paramètres
  • resultat := 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

  1. Choisissez Activation dans le menu UML de la barre d'outils
  2. Faites glisser le long de la ligne de vie d'un participant sur la période où il est actif
  3. 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

TypeMot-cléObjectif
AlternativealtBranchement si-sinon
OptionoptExécution optionnelle (si sans sinon)
BoucleloopExécution répétée
RupturebreakSortie de la boucle englobante
ParallèleparExécution concurrente
CritiquecriticalSection atomique/critique
NégatifnegInteraction invalide
AssertionassertInteraction requise
IgnorerignoreMessages pouvant être ignorés
ConsidérerconsiderMessages devant être pris en compte
RéférencerefRéférence à une autre interaction

Créer des fragments

  1. Choisissez Fragment dans le menu UML de la barre d'outils
  2. Faites glisser un rectangle sur les participants et messages que vous voulez regrouper
  3. Sélectionnez le fragment et définissez son Type de fragment dans la section UML de l'Inspecteur
  4. 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

  1. Commencez par le flux principal - modélisez d'abord le chemin nominal, puis ajoutez les alternatives
  2. Restez lisible - limitez-vous à 5-7 participants par diagramme
  3. Utilisez des noms significatifs - étiquetez les messages avec de vrais noms de méthode ou des descriptions
  4. Montrez les messages de retour - surtout pour les appels synchrones où la valeur de retour compte
  5. Utilisez les fragments avec parcimonie - trop de fragments imbriqués réduisent la lisibilité
  6. 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 :

  1. L'utilisateur saisit ses identifiants
  2. Le client envoie une requête de connexion au serveur
  3. Le serveur valide auprès de la base de données
  4. La base de données retourne l'enregistrement utilisateur
  5. Le serveur crée une session
  6. Le serveur retourne succès/échec au client
  7. 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.