Vous êtes sur la page 1sur 46

Diagramme de séquences

1
Diagramme de séquences

Les diagrammes de séquences permettent de décrire COMMENT les éléments du système


interagissent entre eux et avec les acteurs.

Le diagramme de séquence décrit l’aspect dynamique du système.

2
Exemples des diagrammes de séquences

Exemple de diagramme de séquences


3
Diagramme de séquences
Diagramme de séquences ( Système ) « boite noire »

Décrire le comportement du système qui est vu comme une « boîte noire »:


Le système est vu de l'extérieur (par les acteurs) sans décrire comment il sera réalisé.

Utile pour décrire les scénarios des cas d’utilisation.


Le fonctionnement d'un cas d'utilisation est décrit sous la forme d’une séquence de messages
échangés entre les acteurs et le système.

4
Diagramme de séquences
Diagramme de séquences « boite blanche »

Décrire les interactions entre les différents composants du système intervenant dans un cas
d’utilisation

Le système est modélisé comme étant un ensemble d’entités.

5
Diagramme de séquences

6
Diagramme de séquences
Le diagramme de séquence est placé dans un rectangle qui dispose d’une étiquette sd en haut à gauche (qui
signifie Sequence Diagram) suivi du nom du diagramme.

7
Composants d'un diagramme de séquences

Les éléments de base

07/12/2020 8
Composants d'un diagramme de séquences
Symbole d’objet
• Cette forme carrée représente un système, une classe, ou objet, en langage
UML.

• Elle montre comment un objet va se comporter dans le contexte du système.

9
Composants d'un diagramme de séquences

Acteur

• Les acteurs sont des entités qui interagissent avec le système sans en faire partie.

10
Composants d'un diagramme de séquences

Ligne de vie

• Ligne verticale en pointillés qui représente le passage du temps.

• Les lignes de vie peuvent commencer par une forme rectangulaire avec un
intitulé ou par un symbole d'acteur.

11
Composants d'un diagramme de séquences

Boîte d'activation

• Illustrée par un rectangle, une boîte d'activation représente le temps nécessaire pour
qu'un objet accomplisse une tâche.

• Plus la tâche nécessite du temps, plus la boîte d'activation est longue.

12
Composants d'un diagramme de séquences

Exemple de diagramme de séquences


13
Composants d'un diagramme de séquences

Exemple de diagramme de séquence


14
Composants d'un diagramme de séquences

Exemple de diagramme de séquence


15
Composants d'un diagramme de séquences

Remarque: Le nom des objets ou des rôles (acteurs) est souligné pour dire qu’il s’agit d’une instance.

16
Composants d'un diagramme de séquences

Les messages

07/12/2020 17
Composants d'un diagramme de séquences
Les messages :
• En utilise ce symbole lorsqu'un expéditeur doit attendre une réponse
Message synchrone à un message avant de continuer.
• Le diagramme doit montrer à la fois l'appel et la réponse.

• Les messages asynchrones sont ceux qui ne nécessitent pas de


réponse avant que l'expéditeur ne continue. Seul l'appel doit être inclus
Message asynchrone dans le diagramme.

Message de réponse Messages de destruction d’un objet Message de création d’un objet

18
Composants d'un diagramme de séquences
Les messages :

Un message réflexif ne représente pas l'envoi d'un message, il représente une


activité interne à l'objet.
Message réflexif

19
Composants d'un diagramme de séquences

Exemple de message synchrone et asynchrone


20
Composants d'un diagramme de séquences

Exemple de message synchrone et asynchrone


21
Composants d'un diagramme de séquences

Exemple de message create et destroy

22
Composants d'un diagramme de séquences

Exemple de messages dans un diagramme de séquence


23
Composants d'un diagramme de séquences

Exemple de messages (avec et sans paramètres)

24
Composants d'un diagramme de séquences

Exemple des messages réponse (retour) – différentes méthodes de décrire le message de réponse
25
Composants d'un diagramme de séquences

Les Fragments d’interactions combinés

07/12/2020 26
Composants d'un diagramme de séquences

Fragment d’interaction avec opérateur « opt »

L’opérateur option (opt) comporte un opérande et une condition de garde associée.


Le sous fragment s’exécute si la condition de garde est vraie et ne s’exécute pas dans le cas contraire.
Un fragment optionnel est une sorte de SI…ALORS…...

27
Composants d'un diagramme de séquences

Exemple de fragment avec opérateur opt


28
Composants d'un diagramme de séquences

Fragment d’interaction avec opérateur « alt »

• L'opérateur « alt » désigne un choix, une alternative.


• Alt est l'équivalent du SI…ALORS…SINON : donc, une seule des deux branches sera réalisée dans un
scénario donné.
• La condition d'exécution d'une des deux branches (l'équivalent du SI) peut être explicite ou implicite.
• L'utilisation de l'opérateur else permet d'indiquer que la branche est exécutée si la condition du alt est
fausse.

29
Composants d'un diagramme de séquences

Exemple de fragment avec opérateur alt

30
Composants d'un diagramme de séquences

Exemple de fragment avec opérateur alt


31
Composants d'un diagramme de séquences

Exemple de fragment avec opérateur alt


32
Composants d'un diagramme de séquences

Exemple de fragment avec opérateur alt

33
Composants d'un diagramme de séquences

Fragment d’interaction avec opérateur « loop »

• L'opérateur « Loop » (boucle) est noté « loop ». Cet opérateur est utilisé pour décrire un ensemble
d'interactions qui s'exécutent en boucle. En général, une contrainte appelée garde indique le
nombre de répétitions (minimum et maximum) ou bien une condition booléenne à respecter.
Exemple de gardes :

• loop[3]→La séquence s’exécute 3 fois.


• loop[1, 3, code=faux] La séquence s’exécute 1 fois puis un maximum de 2 autres fois si code=faux.

34
Composants d'un diagramme de séquences

Exemple de fragment avec opérateur loop


35
Exemple: ÉTUDE D’UN TERMINAL POINT DE VENTE (TPV)

Exemple de fragment avec opérateur loop


36
Composants d'un diagramme de séquences

Fragment d’interaction avec opérateur « 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).
37
Composants d'un diagramme de séquences

Exemple de fragment avec opérateur par

38
Composants d'un diagramme de séquences

Fragment d’interaction avec opérateur « ref »

• permet de faire appel à un autre diagramme de séquence.

39
Composants d'un diagramme de séquences
Autres fragments d’interactions:

• ignore et considere : pour les fragments facultatifs ou obligatoires.


• critical : pour les fragments qui doivent se dérouler sans être interrompus.
• break : pour les fragments représentants des scenarios exceptionnels ou de ruptures (ex appui sur la touche « Esc »).
Le scénario de rupture est exécuté si une condition de garde est satisfaite.
• assert : Pour les fragments dont on connaît à l’avance les paramètres du message (exemple : après la saisie des 4
chiffres d’un code, la saisie suivante sera obligatoirement la touche« Entrée »).
• seq : indique que le fragment est composé de plusieurs sous fragments qui peuvent s’exécuter dans n’importe quel
ordre (mais pas en même temps).
• strict : pour les fragments dont les messages doivent se dérouler dans un ordre bien précis.
• neg : pour indiquer que la séquence à l’intérieur du fragment n’est pas valide.

40
Composants d'un diagramme de séquences
Fragments emboités

41
Exercice 1 :
Donner le diagramme de séquences pour décrire l’enchaînement du cas
d'utilisation suivante «retrait d'espèces »:
1.Le guichetier saisit le numéro de compte du client;

2.L'application valide le compte auprès du système central;

3.Le guichetier demande un retrait de 100 euros;

4.Le système guichet interroge le système central pour s'assurer que le compte est
suffisamment approvisionné;

5.Le système centrale effectue le débit du compte;

6.En retour, le système notifie le guichetier qu'il peut délivrer le montant demandé.

42
Exercice 2:
Le fonctionnement de la bibliothèque est le suivant :

➢Une bibliothèque propose à ses adhérents des œuvres littéraires ;


➢Les œuvres peuvent être présentes en plusieurs exemplaires ;
➢Un adhérent peut emprunter jusqu’à trois livres.
➢Le bibliothécaire vérifie aussi que le demandeur est un adhérent, et que un exemplaire de
l’œuvre demandé est disponible.
➢ Le bibliothécaire décrémente le nombre d’exemplaire, une fois il a attribué l’œuvre à l’adhérent.

Proposer un diagramme de séquences pour décrire le fonctionnement de cette bibliothèque.

43
Stereotypes de Jacobson
• A l’intérieur d’un système, il existe très souvent des classes qui possèdent un rôle bien
particulier qui serait intéressant de visualiser d’une façon non équivoque dans votre
diagramme de séquence.

C’est le cas notamment :

• Pour les classes qui représentent des composants de l’IHM. « Boundary »


• Pour la classe qui contrôle globalement le système avec la prise en compte de la gestion
événementielle. « Control »
• Pour les classes qui implémentent la persistance des attributs (assosiées à une base de
données). « Entity »

Ces stéréotypes sont issus du modèle MVC (Model – View- Controlleur)


44
Stereotypes de Jacobson

Modèle MVC

45
Stereotypes de Jacobson

46

Vous aimerez peut-être aussi