Diagramme de séquences
- Représenter les interactions entre objets en précisant la chronologie des échanges de messages .
- Représente une instance d’un cas d’utilisation (les scénarios possible d’un cas d’utilisation donné) .
- Montre sous forme de scénarios, la chronologie des envoies de messages issus d’un cas d’utilisation .
Le diagramme de séquence fait ressortir :- Les acteurs
- Les objets
- Les message
Figure : Diagramme de séquences
- Un objet est représenté par un rectangle et une ligne verticale (ligne de vie de l’objet)
- Les objets communiquent en échangeant des messages représentés par des flèches orientées de l’émetteur au récepteur
- L’ordonnancement verticale des messages indique la chronologie
- Un message reçu par un objet déclenche l’exécution d’une opération
- Un message envoyé par objet correspond :
- Demander un service d’un autre objet
- Renvoyer le résultat d’une opération
- Exemple :
- Le client demande un service (déposer de l’argent) à l’objet Compte
- Le compte reçoit le message et déclenche l’opération de même nom
- Le compte retourne le résultat (le solde actuel)
Plusieurs concepts additionnels :
- Période d’activité
- Types de messages
- Création et destruction d’objets
- Structures de contrôles
Période d’activité :
- Correspond au temps pendant lequel un objet fait une action.
- Représentée par une bande rectangulaire superposée à la ligne de vie de l’objet.
Messages :
- Traduisent les interactions (échange d’informations) entre objets
- Représentés par des flèches orientées de l’émetteur au récepteur
- Plusieurs types :
- Message simple
- Message minuté (Timeout)
- Message synchrone
- Message asynchrone
- Message récursif
Message simple :
Message pour lequel on ne spécifie aucune information d’envoi ou de réception :
Message minuté (Timeout) :
- Bloque l’expéditeur pendant un temps donné,en attendant la prise en compte du message par le récepteur
- Après le délai, l’expéditeur est libéré et peut envoyer
Message minuté (Timeout) : Exemple
La porte d’un ascenseur s’ouvre pendant un certain délai avant d’être refermée.
Message synchrone (appel de procédure)
- Bloque l’expéditeur jusqu’à la prise en compte du message par le récepteur
- Le contrôle est passé de l’émetteur au récepteur qui devient à son tour émetteur (actif)
Message synchrone (appel de procédure) :Exemple :
Communication client serveur : Sockets
Message asynchrone :
- N’interrompt pas l’exécution de l’expéditeur
- L’expéditeur peut émettre sans attendre la réponse du récepteur
Message récursif :
- Appelé aussi message réflexive
- Message envoyé d’un objet vers lui-même.
Message récursif : Exemple
Lorsque le client introduit sa carte de guichet,ce dernier vérifie la validité de la carte avant de demander le code d’accès.
Création et destruction d’objets :
Un message peut créer ou détruire un objet :
Traduction des messages :
- Envoyer un message c’est demander un service d’un autre objet (sauf le cas d’un message de retour).
- Les messages sont traduits par des opérations dans la classe de l’objet ayant reçu le message
- Envoyer un message c’est demander un service d’un autre objet (sauf le cas d’un message de retour).
- Les messages sont traduits par des opérations dans la classe de l’objet ayant reçu le message
Structures de contrôle :
Le diagramme de séquences peut inclure un certain nombre de structures
- Branchements (tests)
- Répétitions (itérations, boucles)
Les test (branchements) :
La condition précédée le message et elle est délimitée par des crochets
Les test (branchements) : Exemple :
Pour accéder au centre de recherche, l’utilisateur doit présenter son badge.
S’il a droit d’accès, un voyant vert est allumé et la porte s’ouvre
Les boucles (répétitions) :
La boucle se note comme le test, mais la condition est précédée d’un astérisque
Fragments :
- Permet de décomposer une interaction complexe en fragments simples
- Représenté par un rectangle dont le coin supérieur gauche contient un pentagone
- Dans le pentagone figure le type du fragment
- loop : boucle
- alt : alternative
- ref : référence
- . . .
Message pour lequel on ne spécifie aucune information d’envoi ou de
réception