Cours UML ISET de Sousse
Chapitre IV
V : Diagramme d interaction
1- Introduction
Le diagramme de cas d’utilisation montre des acteurs qui interagissent avec les grandes
fonctions d’un système. C’est une vision fonctionnelle et externe d’un système. Le
diagramme de classes, quant à lui, décrit le c ur d’un système et montre des classes et la
façon dont elles sont associées. C’est une vision statique et structurelle. Les diagrammes
d’interaction permettent d’établir un pont entre ces deux approches : ils montrent
comment des instances au c ur du système communiquent pour réaliser une certaine
fonctionnalité. Les interactions sont nombreuses et variées. Il faut un langage riche pour
les exprimer. UML propose plusieurs diagrammes : diagramme de séquence, diagramme
de communication, diagramme de timing. Ils apportent un aspect dynamique à la
modélisation du système.
2- Définition
Les diagrammes de communication et de séquence représentent des interactions entre
des lignes de vie. Un diagramme de séquence montre des interactions sous un angle
temporel, et plus particulièrement le séquencement temporel de messages échangés
entre des lignes de vie, tandis qu'un diagramme de communication montre une
représentation spatiale des lignes de vie.
3- Notation
Un diagramme d'interaction se représente par un rectangle (figure 3.4) contenant, dans le
coin supérieur gauche, un pentagone accompagné du mot-clé sd lorsqu'il s'agit d'un
diagramme de séquence, et de corn lorsqu'il s'agit d'un diagramme de communication. Le
mot-clé est suivi du nom de l'interaction. La liste des lignes de vie qui figurent dans le
diagramme peut suivre le nom de l'interaction. Des attributs peuvent être indiqués près
du sommet du rectangle contenant le diagramme. La syntaxe de ces attributs est la même
que celle des attributs d'une classe (voir chapitre IV).
Département Informatique - 40 - Walid HAMMAMI
Cours UML ISET de Sousse
4- Diagramme de séquence
4.1- Scénario
Un scénario est une série d'événements ordonnés dans le temps, simulant une exécution
particulière du système.
Les scénarios permettent d'expérimenter les exécutions du système, ils sont donc très
utiles pour les phases de tests et de maintenance.
4.2- Diagramme de séquence
Diagramme de séquence : exprime la séquence des interactions entre objets du système
selon un point de vue temporel, pour réaliser le cas d’utilisation.
Un diagramme de séquence est à deux dimensions :
• dimension verticale : le temps;
o L'ordre d'envoi d'un message est déterminé par sa position sur l'axe
vertical du diagramme ; le temps s'écoule "de haut en bas" de cet axe.
• dimension horizontale : les objets (et les acteurs)
4.3- Eléments graphiques
Les objets interagissant dans un scénario.
• Représentation graphique de la ligne de vie de chaque objet et de ses activations.
• Les différents types de messages envoyés (simple, synchrone, asynchrone)
• Le contrôle (branchement conditionnel et itération, création & destruction
d’objets, délais transmission et contraintes temporelles, etc.)
Département Informatique - 41 - Walid HAMMAMI
Cours UML ISET de Sousse
Objets
Temps
Figure V.1 : Diagramme de séquence
Illustration
4.4- Les messages
• Un message synchrone: l’émetteur est bloqué et attend que l’appelé ait fini de
traiter le message (message 1)
• message asynchrone: l’émetteur n’est pas bloqué et peut continuer son exécution
(message 6)
• Un message réflexif : indique souvent un point d’entrée dans une activité de plus
bas niveau qui s’exerce entre objets contenus par l’objet composite (message 7)
• Un message dont les délais de transmission sont non négligeables est matérialisé
par une flèche oblique (message 4)
• Messages conditionnés : flèches prenant leur origine au même instant avec des
conditions mutuellement exclusives (messages 1 et 6)
• Possibilité de compléments d’informations sous forme de texte libre ou de
pseudo-code à côté du diagramme
• Période d’activité: temps pendant lequel un objet effectue une action,
directement ou par l’intermédiaire d’un autre objet sous-traitant
• Des contraintes temporelles peuvent être exprimées en graduant la ligne de vie
(pour dire par exemple: «10 secondes plus tard»)
Département Informatique - 42 - Walid HAMMAMI
Cours UML ISET de Sousse
:Appelant :Ligne :Appelé
téléphonique
décroche
tonalité
numérotation
indication de sonnerie
sonnerie
décroche
allo
Figure V.2 : Exemple simplifié
Exercice
Dessinez le diagramme de séquence du scénario nominal du cas d’utilisation « Retirer de
l’argent » (diagramme de cas d’utilisation Figure III.9) pour un client porteur de la carte.
: GAB
Porteur de la carte Sys. Auto.
Introduction carte
A
x
Demande code
e
Code (valeur)
d
Demande autorisation u
Autorisation (solde) t
Demande montant retrait e
m
Montant retrait (valeur)
p
Demande ticket s
Ok
Ejection carte
Récupération carte
Ejection billet + ticket
Récupération billet + ticket
Figure V.3 : Diagramme de séquence du scénario nominal de « Retirer de l argent »
Département Informatique - 43 - Walid HAMMAMI
Cours UML ISET de Sousse
5- Diagramme de communication
5.1- Définition
Les diagrammes de communication, un type particulier de diagramme d'interaction,
mettent l'accent sur les liaisons de données entre les différents participants à
l'interaction. Au lieu de représenter chaque participant par une ligne de vie et la suite de
messages sur un axe vertical comme dans les diagrammes de séquence, les diagrammes
de communication permettent de placer librement les participants, de tracer des liens
pour montrer comment ils sont connectés et de numéroter les messages pour suivre la
séquence d'appels.
En UML 1.x, ces diagrammes se nommaient diagrammes de collaboration. Ce nom a
connu un succès certain, et nous soupçonnons qu'il s'écoulera un certain temps avant que
l'on ne s'habitue à ce nouveau nom.
5.2- But
Diagramme illustrant les interactions entre les objets d’un système en mettant l’accent
sur l’organisation structurelle des objets participants (et non pas sur l’ordre temporel des
messages envoyés/reçus).
Le diagramme de collaboration est un diagramme généralement utilisé pour Décrire en
détail le déroulement d’un cas d’utilisation i.e. décrire la conception d’un scénario d’un
cas d’utilisation.
5.3- Diagramme de collaboration partie statique
Illustre les objets (instance de classes) et les liens (instances d’associations) impliqués
dans la réalisation d’une collaboration donnée.
Département Informatique - 44 - Walid HAMMAMI
Cours UML ISET de Sousse
porte ascenseur
contrôleur
ascenseur ascenseur
User 1
bouton ascenseur bouton étage
Figure V.4 : Diagramme de collaboration partie statique
2 : activer()
moteur ventilateur
1 : envoyer (ordre lancement) signal
régulateur
Figure V.5 : Diagramme de collaboration simple
4.4- Objet du diagramme de collaboration
Figurent sur les diagrammes de collaboration. Les objets actifs : ceux qui possèdent le
contrôle de l'interaction décrite. Ils activent les objets passifs le temps d'une opération,
puis reprennent le contrôle.
Exemple
Département Informatique - 45 - Walid HAMMAMI
Cours UML ISET de Sousse
2 : Imprimer (doc1)
: Traitement de : Imprimante
texte
1 : Lire (doc1)
: Scanner
Figure V.6 : Exemple d’un objet actif
5- Exercice
Le diagramme de classe présenté à la figure V.7 modélise un robot qui dispose d’un bras
articulé se termine par un une pince. Le fonctionnement du robot est le suivant : le robot
déplie son bras, attrape la pièce avec sa pince, replie son bras puis relâche la pièce.
Robot BrasArticulé
Pince
chercherPièce() déplier()
ouvrir()
replier()
fermer()
Figure V.7 Diagramme de classe d’un robot
1. Représentez à l’aide d’un diagramme de séquence l’échange des messages entre
les objets robot, brasArticulé et pince.
2. Transformez le diagramme de séquence en un diagramme de communication.
Département Informatique - 46 - Walid HAMMAMI
Cours UML ISET de Sousse
sd attraper pièce
: Robot : BrasArticulé : Pince
chercherPièce
déplier
fermer
replier
ouvrir
Figure V.7 Diagramme de séquence du robot
com attraper pièce
1.1 : déplier
1 : chercherPièce
: Robot : BrasArticulé
1.2 : déplier
1.1.1 : fermer
1.2.1 : ouvrir
: Pince
Figure V.7 Diagramme de communication du robot
Département Informatique - 47 - Walid HAMMAMI