Diagramme de séquence UML
Le diagramme de séquence est un diagramme dynamique UML. Il permet de représenter les interactions entre objets. Il est un complément possible du descriptif textuel d'un cas d'utilisation.
Représentation
Sont représentés :
- Le temps : sur l'axe vertical (lifeline : ligne de vie)
- Les instances de classe (horizontalement)
- Les échanges de messages (flèches entre objets)
- Les interactions (via les fragments combinés)
Messages
Synchrone
Bloque l'objet expéditeur du message jusqu'à réception par le destinataire
Asynchrone
Message non bloquant n'empêchant pas les interactions suivantes
Réflexif
Message dont l'objet est émetteur et récepteur
Fragments combinés
Opérateurs de choix et de boucle
ALT : alternatives
Equivaut au Si…Alors…Sinon…
OPT : options
Représente un fragment combiné optionnel, c'est-à-dire qui peut se produire.
Equivaut au Selon…
BREAK : Interruption
Interromps le flot normal des interactions.
LOOP
Désigne l'exécution en boucle d'un ensemble d'interactions
Opérateurs spécifiques
Negative
Désigne un ensemble d'interactions invalides ne devant pas se produire
Critical
Désigne une section critique, dans laquelle les interactions sont non-interruptibles
PAR : Parallel
Désigne des interactions s’exécutant en parallèle
USE : Utilisation
Permet de faire référence à une autre interaction
Source : MSDN
Forme | Élément | Description |
---|---|---|
1 | Ligne de vie | ligne verticale représentant la séquence des événements qui se produisent dans un participant pendant une interaction, alors que le temps progresse en bas de ligne. Ce participant peut être une instance d'une classe, un composant ou un acteur. |
2 | Acteur | participant externe au système. |
3 | Message synchrone | L'émetteur attend une réponse à un message synchrone avant de continuer. Le diagramme montre à la fois l'appel et le retour. Les messages synchrones sont utilisés pour représenter des appels de fonction ordinaires dans un programme, ainsi que d'autres types de messages qui se comportent de la même façon. |
4 | Message asynchrone | Message qui ne requiert pas de réponse avant que l'expéditeur continue. Un message asynchrone affiche uniquement un appel venant de l'expéditeur. |
5 | Occurrence d'exécution | Rectangle grisé vertical s'affichant sur la ligne de vie d'un participant et représentant la période pendant laquelle le participant exécute une opération. L'exécution commence là où le participant reçoit un message. Si le message initialisant était un message synchrone, l'exécution se termine avec une flèche arrière renvoyée à l'expéditeur. |
6 | Message de rappel | Message retourné à un participant qui attend le retour d'un appel antérieur. L'occurrence d'exécution résultante s'affiche sur l'occurrence d'exécution existante. |
7 | Message réflexif | Message d'un participant à lui-même. L'occurrence d'exécution résultante s'affiche sur l'exécution d'envoi. |
8 | Message avec instanciation | Message créant un participant. Si un participant reçoit un message de création, ce doit être le premier qu'il reçoit. |
9 | Message trouvé | Message asynchrone venant d'un participant inconnu ou non spécifié. |
10 | Message perdu | Message asynchrone à un participant inconnu ou non spécifié. |
11 | Commentaire | Sans commentaire. |
12 | Interaction Use | Joint une séquence de messages définis dans un autre diagramme |
13 | Combined Fragment | LOOP |
14 | Garde de fragment | Utilisé pour déclarer une condition dans laquelle le fragment aura lieu. |