Diagrammes de séquence

Les diagrammes de séquence visualisent comment les objets interagissent au fil du 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 les acteurs impliqués dans l'interaction. Chaque participant possède une ligne de vie — une ligne verticale en pointillés qui s'étend vers le bas et représente le temps.

Messages

Les messages sont les communications entre les participants, représentés par des flèches horizontales entre les lignes de vie. Le temps s'écoule de haut en bas.

Barres d'activation

Les barres d'activation (également appelées spécifications d'exécution) sont de fins rectangles sur une ligne de vie qui montrent quand un participant est en train de traiter activement.

Créer des participants

Utiliser l'outil Participant

Appuyez sur P pour activer l'outil Participant, puis cliquez sur le canevas pour placer les participants.

Diagramme de séquence avec participants

Types de participants

Les participants peuvent représenter différents types d'entités :

  • Acteur - Un utilisateur ou un système externe (icône bonhomme)
  • Objet - Une instance d'une classe (rectangle)
  • Composant - Un composant système (rectangle avec stéréotype)
  • Frontière - Interface utilisateur ou frontière système
  • Contrôle - Logique de processus ou de contrôleur
  • Entité - Données ou objet du domaine

Configurez le type de participant dans le panneau Inspecteur.

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 vers la ligne de vie du participant cible
  3. Relâchez pour créer le message

Types de messages

TypeStyle de flècheDescription
SynchroneLigne pleine, flèche pleineL'expéditeur attend la réponse
AsynchroneLigne pleine, flèche ouverteL'expéditeur continue sans attendre
RetourLigne en pointillés, flèche ouverteRéponse à un appel synchrone
CréationLigne en pointillés, flèche ouverte vers boîteCrée un nouveau participant
DestructionLigne terminée par un XMet fin à un participant

Types de messages

Étiquettes de messages

Double-cliquez sur un message pour éditer son étiquette. Formats courants :

  • methodName() - Appel de méthode simple
  • methodName(param1, param2) - Appel avec paramètres
  • result := methodName() - Appel avec affectation de retour
  • [condition] methodName() - Message conditionnel (garde)

Barres d'activation

Les barres d'activation montrent la période pendant laquelle un participant exécute ou attend une réponse.

Ajouter des barres d'activation

  1. Sélectionnez un message
  2. Dans l'Inspecteur, activez « Afficher l'activation »
  3. La barre d'activation apparaît sur la ligne de vie du participant récepteur

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.

Barres d'activation

Fragments

Les fragments regroupent des messages pour montrer la logique conditionnelle, les boucles ou d'autres flux de contrôle.

Types de fragments

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

Créer des fragments

  1. Sélectionnez les messages que vous souhaitez regrouper
  2. Faites un clic droit et choisissez « Ajouter un fragment » ou utilisez l'outil Fragment
  3. Sélectionnez le type de fragment
  4. Ajoutez les conditions/gardes selon les besoins

Exemple de fragment

Gardes de fragments

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éordonner les éléments

Déplacer les participants

Faites glisser les participants horizontalement pour les réordonner. Les messages connectés suivront.

Déplacer les messages

Faites glisser les messages verticalement pour changer leur ordre dans la séquence. Cela affecte le timing/l'ordre de l'interaction.

Bonnes pratiques

  1. Commencez par le flux principal - Modélisez le scénario nominal d'abord, puis ajoutez les alternatives
  2. Gardez la lisibilité - Limitez-vous à 5-7 participants par diagramme
  3. Utilisez des noms significatifs - Étiquetez les messages avec les vrais noms de méthodes ou des descriptions
  4. Montrez les messages de retour - Surtout pour les appels synchrones où la valeur de retour est importante
  5. Utilisez les fragments avec parcimonie - Trop de fragments imbriqués réduisent la lisibilité
  6. Ajoutez des notes - Utilisez des éléments de note pour expliquer la logique complexe

Exemple : Flux de connexion utilisateur

Un scénario 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 avec 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 le succès/l'échec au Client
  7. Le Client met à jour l'interface

Ce flux démontre les appels synchrones, les messages de retour et les fragments alt potentiels pour les chemins de succès/échec.