Le diagramme de séquence montre la chronologie des événements et des messages passés entre éléments (lignes de vie) au sein d’une interaction.
La progression temporelle est verticale et les éléments sont représentés horizontalement.
Les éléments sont les entités qui sont en mesure de délivrer des messages. Un utilisateur peut donc figurer dans le diagramme de séquence.
Il est recommandé de garder une certaine cohérence entre le diagramme de cas d'utilisation et le diagramme de séquence. Ainsi, l'acteur sera placé à gauche du diagramme.
Un diagramme simple peut se limiter aux lignes de vie et aux messages, mais souvent il faudra faire appel aux fragments combinés qui permettent d'affiner la représentation.
Lignes de vie
Comme cela a déjà été annoncé, la ligne de vie décrit une entité du système.
La progression chronologique se fait du haut vers le bas.
Lorsque l'entité s'active, le trait en pointillé est remplacé par un trait large. Lorsqu'un système n'est plus en fonction toutes les entités sont désactivées.
Messages
Ce sont des éléments de communication unidirectionnel entre les lignes de vie qui déclenchent une activité dans le destinataire. La réception d’un message provoque un événement chez le récepteur.
La flèche pointillée représente un retour. Cela signifie que le message en question est le résultat direct du message précédent.
Un message synchrone (émetteur bloqué en attente de réponse) est représenté par une flèche pleine, alors qu’un message asynchrone est représenté par une flèche évidée.
La flèche qui boucle (message réflexif) permet de représenter un comportement interne.
Fragments combinés
Il s'agit d'une notation qui permet de décrire avec plus de finesse le cycle d'un système :
Les principaux opérateurs sont :
- loop : boucle. Le fragment peut s’exécuter plusieurs fois, et la condition de garde explicite l’itération;
- opt : optionnel. Le fragment ne s’exécute que si la condition fournie est vraie ;
- alt : fragments alternatifs. Seul le fragment possédant la condition vraie s’exécutera.