Vous êtes sur la page 1sur 18

Diagrammes d’interaction

ISJ-2018
SAHA Pierre
Indicateurs de compétences
Identifier les composants d’un diagramme
de séquence,
Réaliser un diagramme de séquence,
Exploiter les cas d’utilisation, les classes
et méthodes dans un diagramme de
séquence,
Plan de la présentation

1. Notion de cadre d’interaction


2. Ligne de vie dans une DS
3. Les messages dans un DS
4. Fragments combinés dans un DS
5. Utilisation de l’interaction dans un DS
Notion de cadre d’interaction
Definition
un cadre d'interaction fournit un contexte ou une limite pour le
diagramme dans lequel vous créez des éléments de diagramme,
tels que des lignes de vie ou des messages et dans lequel vous
observez les comportements.
Notion de cadre d’interaction
Rôle des DS

 Permettent de représenter des interactions


 Entre objets (et acteurs)
 Selon un point de vue temporel (chronologie des envois de
messages)

 Complémentaire du diagramme de collaboration


 Diagramme de collaboration décrit le contexte ou l'état des
objets
 Diagramme de séquence se concentre sur l'expression des
interactions

 Les diagrammes de séquences peuvent servir à
illustrer un cas d'utilisation
LIGNE DE VIE DANS UNE DS
Définition
une ligne de vie d'un diagramme de séquence est représentée
par son nom et son type dans un rectangle appelé tête. La tête
est situé au-dessus d'une ligne tiretée verticale, appelée racine,
qui représente le tableau chronologique de l'instance de l'objet.
Une ligne de vie représente un participant à une interaction (objet ou
acteur). Une ligne de vie est une instance, donc il y a nécessairement
les deux points (:) dans son libellé.
LIGNE DE VIE DANS UNE DS
Action d’une ligne de vie

Comportement Description
Création Vous pouvez créer une instance dans une interaction en utilisant
un message de création. Ce message permet à un objet de créer
de nouveaux objets dans le diagramme de séquence.
Communication Les messages sont indiqués avec des flèches entre les
instances. La flèche part de la ligne de vie source qui les envoie
et se termine au niveau de la ligne de vie cible qui les reçoit.
Exécution La spécification d'une exécution montre la longueur du
comportement d'une opération, soit directement, soit par le biais
d'une opération subordonnée.
Suppression Vous pouvez détruire une instance lors d'une interaction par le
biais d'un message de suppression ou d'un noeud de fin de
processus. Un message de suppression est un message à la fin
la ligne de vie cible. Un noeud de fin de processus, représenté
par un X, marque la fin de la racine de la ligne de vie, indiquant
ainsi que celle ci a pris fin.
Message dans une DS
Definition
Un message est un élément de diagramme UML qui définit un type particulier de
communication entre les instances au cours d'une interaction. Un message fait
circuler des informations d'une instance, représentée par une ligne de vie, à une
autre instance au cours d'une interaction.
Les principales informations contenues dans un diagramme de séquence sont les
messages échangés entre les lignes de vie :
 Ils sont représentés par des flèches
 Ils sont présentés du haut vers le bas le long des lignes de vie, dans un ordre
chronologique
Un message représente soit un appel d'opération, soit l'envoi ou la réception d'un
signal. Lorsque le message représente une opération, le nom de cette dernière
identifie le message. Les arguments du message sont transmis à la cible. Le
message de retour contient les arguments de l'appel d'opération résultant. Lorsqu'un
message représente un signal, ce signal représente lui-même les arguments du
message. Si le message est un appel synchrone, un message de retour est envoyé
de la ligne de vie appelée vers la ligne de vie appelante avant que cette dernière
puisse poursuivre.
Message dans une DS
Type de messages
5 types de messages
Type de Description Exemple
message
Créer Un message de création représente la création Dans un scénario de banque,
d'une instance au cours d'une interaction. Il est par exemple, le responsable
représenté par le mot clé «create». La ligne de vie peut commencer la vérification
cible commence au niveau du message de création. du crédit d'un client en envoyant
un message de création au
serveur.
Detruire Un message de suppression représente la Après avoir commencé un
suppression d'une instance au cours d'une contrôle de crédit, le
interaction. Il est représenté par le mot clé responsable de la banque peut,
«destroy». La ligne de vie cible se termine au par exemple, fermer ou détruire
niveau du message de suppression. Elle est l'application du programme de
marquée par un X. crédit d'un client.
Appel synchrone Les appels synchrones, qui sont associés à une Le guichetier peut envoyer une
opération, comportent un message d'envoi et un demande d'approbation de
message de réception. Un message est envoyé de la crédit au responsable. Il doit
ligne de vie source vers la message cible. La ligne de alors attendre la réponse avant
vie source est bloquée jusqu'à ce qu'elle reçoive une de pouvoir servir le client.
réponse de la ligne de vie cible.
Message dans une DS
Type de messages
5 types de messages
Type de Description Exemple
message
Appel Les appels asynchrones, qui sont associés à des Par exemple, un client peut faire
opérations, ne comportent en général qu'un une demande de crédit et il peut
asynchrone message d'envoi mais ils peuvent aussi comporter recevoir des informations
un message de réponse. Contrairement à la situation bancaires par téléphone ou retirer
avec un message synchrone, la ligne de vie source de l'argent à un GAB, tout en
n'est pas bloquée et peut donc recevoir et envoyer attendant toujours une réponse à
d'autres messages. Vous pouvez aussi déplacer sa demande de crédit.
individuellement les points d'envoi et de réception
afin de retarder le délai entre des événements
d'envoi et des événements de réception. Vous
pouvez opter pour cette solution si une réponse ne
dépend pas du temps ou d'un ordre particulier.

Signal Les messages de signal asynchrone sont associés Une agence de crédit peut
à des signaux. Les signaux diffèrent des messages envoyer un message de signal
asynchrone par le fait qu'aucune opération ne leur est associée. d'erreur au responsable de la
Un signal peut représenter une cas d'interruption ou banque pour indiquer un
d'erreur. Pour définir un signal, vous devez créer un problème de connexion au
appel asynchrone et en modifier le type dans la vue bureau des crédits.
des propriétés de messages.
Message dans une DS
Type de messages
5 types de messages
Type de Description Exemple
message
Perdu et Un message perdu est un Un acteur extérieur envoie un message à un
message dont l'expéditeur est directeur de banque. Il se trouve en dehors de la
trouvé connu mais pas le destinataire. portée du diagramme de séquence et est donc un
Pour un message trouvé, c'est message trouvé. Un message perdu peut survenir
l'inverse : le destinataire est connu lorsqu'un message est envoyé à un élément situé
mais pas l'expéditeur. en dehors de la portée du diagramme UML.
Message dans une DS
Représentation de messages
Message dans une DS
exemples
Fragments combinés
Définition
Les fragments combinés sont des regroupements logiques représentés par un
rectangle et contenant les structures conditionnelles qui affectent le flux de
messages. Un fragment combiné contient des opérandes d'interaction et
est défini par un opérateur d'interaction.
Un opérateur d'interaction définit la sémantique d'un fragment combiné et
détermine comment utiliser les opérandes d'interaction dans le fragment
combiné. Il définit le type de conditions logiques à appliquer aux
opérandes. Par exemple, un fragment combiné avec l'opérateur
d'interaction alternative (alt) se comporte comme une instruction de type if-
then-else.
un opérande d'interaction est un conteneur regroupant les fragments et les
messages d'interaction qui sont exécutés si les conditions de
franchissement sont remplies. La séquence d'opérations s'exécute toujours
s'il n'existe aucune condition de franchissement.
Fragments combinés
 Les types de fragment combiné sont déterminés par l'opérateur
d'interaction.
 Ils sont utilisés pour décrire plusieurs structures de contrôle et structures
logiques de manière concise.
 Un fragment combiné peut également contenir des fragments combinés ou
des utilisations d'interaction imbriqués avec des structures conditionnelles
supplémentaires, multipliant ainsi les structures complexes qui affectent le
flux des messages.
 Le schéma ci-dessous résume assez bien les fragments combinés
Fragments combinés
Opérateurs de flux de contrôle
 opt (facultatif*) : Contient une séquence qui peut ou non se produire. Dans
la protection, vous pouvez spécifier la condition sous laquelle elle se
produit.
 alt : Contient une liste des fragments dans lesquels se trouvent d’autres
séquences de messages. Une seule séquence peut se produire à la fois.
 loop : Le fragment est répété un certain nombre de fois. Dans la
protection, on indique la condition sous laquelle il doit être répété.
 break : Si ce fragment est exécuté, le reste de la séquence est
abandonné. Vous pouvez utiliser la protection pour indiquer la condition
dans laquelle la rupture se produira.
 par (parallel) : Les événements des fragments peuvent être entrelacés.
 critical : Utilisé dans un fragment par ou seq. Indique que les messages
de fragment ne doivent pas être entrelacés avec d’autres messages.
 seq : Il existe au moins deux fragments d’opérande. Les messages
impliquant la même ligne de vie doivent se produire dans l’ordre des
fragments. Lorsqu’ils n’impliquent pas les mêmes lignes de vie, les
messages des différents fragments peuvent être entrelacés en parallèle.
 strict : Il existe au moins deux fragments d’opérande. Les fragments
doivent se produire dans l’ordre donné.
Fragments combinés
Opérateurs d’interprétation de la séquence
 consider : Spécifie une liste des messages que ce fragment décrit.
D’autres messages peuvent se produire dans le système en cours
d’exécution, mais ils ne sont pas significatifs quant aux objectifs de cette
description.
 ignore : Liste des messages que ce fragment ne décrit pas. Ils peuvent se
produire dans le système en cours d’exécution, mais ils ne sont pas
significatifs quant aux objectifs de cette description.
 assert : Le fragment d’opérande spécifie les seules séquences valides.
Généralement utilisé dans un fragment Consider ou Ignore.
Fragments combinés
Exemple d’utilisation

Vous aimerez peut-être aussi