Modélisation UML 2ème année DSI – ISET Nabeul
Institut Supérieur des Etudes Technologiques à Nabeul
Département Technologie de l’Informatique
Modélisation UML 2.0
Mme Sonia Guerbouj
2ème année DSI
Année Universitaire 2024-2025
Chapitre 4
Diagramme de séquences
Mme Sonia Guerbouj 1
Modélisation UML 2ème année DSI – ISET Nabeul
Introduction
Les diagrammes de cas d’utilisation modélisent à QUOI sert le
système.
Les diagrammes de classes spécifient l’aspect statique et QUI sera à
l’œuvre dans le système pour réaliser les fonctionnalités décrites.
Les diagrammes de séquences permettent de décrire COMMENT
les éléments du système interagissent entre eux et avec les acteurs :
− Les objets d’un système interagissent en s’échangent des messages.
− Les acteurs interagissent avec le système au moyen d’IHM (Interfaces
Homme-Machine).
75
Définition
Le diagramme de séquences fait parties des diagrammes
comportementaux (dynamiques) et plus précisément des
diagrammes d’interactions.
− Il permet de représenter des échanges entre les différents objets et acteurs
du système en fonction du temps.
− Chaque diagramme décrit la réalisation d’une fonctionnalité du système,
pour illustrer un cas d’utilisation.
76
Mme Sonia Guerbouj 2
Modélisation UML 2ème année DSI – ISET Nabeul
Définition
Le but est de
objet1 :classe1 objet2 :classe2 objet3 ; classe3
acteur
représenter
Message1
la chronologie
des échanges
Message2
de messages
entre «objets»
Message3
Message4
Message5
77
Exemple
78
Mme Sonia Guerbouj 3
Modélisation UML 2ème année DSI – ISET Nabeul
Exercice
Personne
Ascenseur
transporte
bouton d'appel s'allume( )
appel de l'ascenceur étage( ) 0..* 0..* ouverture des portes étage( )
choix de l'étage( )
bouton d'étage s'allume( )
Scénarios :
− Deux personnes situées à des étages différents (RdC et 1er étage)
empruntent le même ascenseur pour se rendre au 3ème étage.
− Trois personnes situées au Rez-de-chaussée empruntent le même
ascenseur pour se rendre au 3ème et 5ème étage.
79
Notation
Le diagramme de séquences est placé dans un rectangle qui dispose
d’une étiquette sd en haut à gauche (qui signifie sequence
diagramm) suivie du nom du diagramme.
Dans le diagramme de séquence, l’objet est représenté par un
rectangle dans lequel figure le nom de l’objet qui est généralement
souligné et peut prendre l’une des quatre formes suivantes :
− nomObjet : NomClasse
− rôleObjet : NomClasse
− nomObjet
− :NomClasse => un objet quelconque de la classe
81
Mme Sonia Guerbouj 4
Modélisation UML 2ème année DSI – ISET Nabeul
Notation
82
Ligne de vie
A chaque objet est associé une ligne de vie (un trait vertical
pointillé) considéré comme un axe temporel (du haut vers le bas).
La ligne de vie indique les périodes d’activité de l’objet (les instants
ou l’objet exécute une de ses méthodes).
Lorsque l’objet est détruit, la ligne de vie s’achève par une croix.
83
Mme Sonia Guerbouj 5
Modélisation UML 2ème année DSI – ISET Nabeul
Les messages
Un message (représenté par une flèche) est une communication
d’un objet/acteur vers un autre.
La réception d’un message provoque une période d’activité
(rectangle vertical sur la ligne de vie) marquant le traitement du
message.
Plusieurs types de messages existent, les plus communs sont :
− l’envoi d’un signal
− l’appel d’une méthode
− la création ou la destruction d’un objet
84
Les messages
Un message est défini par :
− Son nom : qui est le nom de la méthode appelée ou du signal envoyé.
− Une numérotation (optionnel) : devant le nom message (séparé du nom du
message par " : "), la numérotation se fait séquentiellement à partir de 1.
− Les paramètres passés à la méthode ou au signal (optionnel) : entre
parenthèses après le nom du message.
85
Mme Sonia Guerbouj 6
Modélisation UML 2ème année DSI – ISET Nabeul
Les messages
On distingue 3 types de messages :
− Messages synchrones
− Messages de retour
− Messages asynchrones
86
Messages synchrones
La réception d’un message synchrone provoque chez le destinataire
l’exécution de la méthode du même nom que le message.
L’expéditeur du message reste bloqué jusqu’à la fin d’exécution de la
méthode pour pouvoir envoyer un nouveau message.
NB : Les méthodes correspondant aux messages synchrones doivent être
définies dans le diagramme de classes, précisément dans la classe du
récepteur, et pas de l’émetteur du message.
87
Mme Sonia Guerbouj 7
Modélisation UML 2ème année DSI – ISET Nabeul
Messages de retour
Le récepteur d’un message synchrone rend la main à l’émetteur du
message en lui envoyant un message de retour.
Représentés en pointillés, il est utilisé pour spécifier le résultat de la
méthode invoquée.
Les messages de retour sont optionnels : un retour de méthode
peut être implicite ou explicite.
88
Messages asynchrones
Dans le cas d’un message asynchrone, l’expéditeur n’attend pas la
fin de la méthode invoquée chez le destinataire.
Un message asynchrone peut être :
− Un appel de méthode : Fréquent dans un système multi-threads (multi-
tâche). Ainsi, l’objet expéditeur n’étant pas bloqué pendant l’exécution de la
méthode, il peut continuer à envoyer d’autres messages.
− Un signal (cas le plus fréquent) : L’objet expéditeur transmet juste une
information à l’objet destinataire. Ce sont souvent les acteurs ou les
périphériques qui envoient des signaux.
89
Mme Sonia Guerbouj 8
Modélisation UML 2ème année DSI – ISET Nabeul
Messages particuliers
Message récursif : Lorsqu’un objet s’envoie un message à lui-même
(utilisation d’une méthode du même objet).
− Le diagramme présente alors un dédoublement de la bande d’activation.
90
Messages particuliers
Création : message asynchrone stéréotypé «create» pointant vers le
rectangle en tête de la ligne de vie
Destruction : message asynchrone stéréotypé «destroy» précédant
une croix sur la ligne de vie
91
Mme Sonia Guerbouj 9
Modélisation UML 2ème année DSI – ISET Nabeul
Contraintes temporelles
Des repères temporels avec des contraintes peuvent être placés le
long de la ligne de vie.
Un message avec un temps de propagation non négligeable peut
être représenté par une flèche oblique ou en l'écrivant
explicitement.
92
Fragment d’interaction combiné
Un fragment combiné permet de décomposer une interaction
complexe en fragments simples pour être compris.
La syntaxe complète a été introduite avec UML 2.
Un fragment combiné se représente par un rectangle dont le coin
supérieur gauche contient une étiquette comportant le type de la
combinaison.
93
Mme Sonia Guerbouj 10
Modélisation UML 2ème année DSI – ISET Nabeul
Fragment d’interaction combiné
− opt (facultatif) : Contient une séquence qui peut ou non se produire.
− alt : Contient une liste des fragments tels qu’un seul peut se produire à la
fois.
− loop : Le fragment est répété un certain nombre de fois.
− par (parallel) : Les événements des fragments peuvent être entrelacés.
− ref : permet de faire appel à un autre diagramme de séquence.
− critical : pour les fragments qui doivent se dérouler sans être interrompus.
− strict : Il existe au moins deux fragments d’opérande. Les fragments doivent
se produire dans l’ordre donné.
− seq : Indique que le fragment est composé de plusieurs sous fragments qui
peuvent s’exécuter dans n’importe quel ordre.
− break : Si ce fragment est exécuté, le reste de la séquence est abandonné.
94
Fragment OPT
L’opérateur option (opt) comporte une opérande et une condition
de garde associée. Le fragment s’exécute si la condition de garde est
vraie et ne s’exécute pas sinon.
95
Mme Sonia Guerbouj 11
Modélisation UML 2ème année DSI – ISET Nabeul
Fragment ALT
L’opérateur alternative (alt) est un opérateur conditionnel
possédant plusieurs opérandes séparés par des pointillés.
Chaque opérande détient une condition de garde. Seul l’opérande
dont la condition est vraie est exécutée.
La condition « else » est exécutée si aucune autre condition n’est
valide.
96
Fragment LOOP
L’opérateur de boucle (loop) répète l’exécution d’un ensemble de
messages tant que la condition qui lui est associée est vraie.
La condition s’écrit selon l’une des façons suivantes :
− Loop [min, max, condition]
− Loop [condition]
97
Mme Sonia Guerbouj 12
Modélisation UML 2ème année DSI – ISET Nabeul
Exemple ALT et LOOP
98
Fragment PAR
Un fragment d’interaction avec l’opérateur de traitements parallèles
(par) contient au moins deux sous fragments (opérandes) séparés
par des pointillés qui s’exécutent simultanément
(traitements concurrents).
99
Mme Sonia Guerbouj 13
Modélisation UML 2ème année DSI – ISET Nabeul
Fragment REF
Un fragment référence (ref) permet d’indiquer la réutilisation d’un
diagramme de séquences déjà défini.
100
Stéréotypes de Jackobson
A l’intérieur d’un système, il existe souvent des classes qui
possèdent un rôle particulier qu’on aimerait préciser dans le
diagramme de séquence (cas d’architecture MVC).
− « boundary » : classes qui servent à modéliser les interactions entre le
système et ses acteurs.
− « control » : classes utilisées pour représenter la coordination,
l’enchaînement et le contrôle d’autres objets.
− « entity » : classes qui servent à modéliser des informations durables et
souvent persistantes
101
Mme Sonia Guerbouj 14
Modélisation UML 2ème année DSI – ISET Nabeul
Stéréotypes de Jackobson
102
Exercice
Soit le diagramme de classes ci-après qui illustre la structure d’un
système d'accès automatique :
103
Mme Sonia Guerbouj 15
Modélisation UML 2ème année DSI – ISET Nabeul
Exercice (suite)
En vous appuyant sur le diagramme de classes ci-dessus, proposez
un diagramme de séquence illustrant le cas d'utilisation "Accès par
empreinte digitale à un laboratoire" qui comporte les interactions
ordonnées comme suit :
− Permettant à une personne de s'identifier à l'aide de son empreinte digitale
au niveau de la porte automatique
− La porte vérifie auprès du serveur d'accès si la personne est enregistrée
pour lui autoriser l'accès.
− Dans le cas contraire, la porte provoque la création d'une alarme qui
sonnera durant 15s pour alerter l'intrus.
104
FIN
Chapitre 4 : Diagramme de séquences
Mme Sonia Guerbouj 16