Université Hassan II de Casablanca
ENSET de Mohammedia
Département Mathématiques et Informatique
COURS
INGENIERIE SYSTEMES
3ème Partie :
Diagramme de séquences
Professeur :
M. Khalifa MANSOURI
2
Diagramme
dynamique
Diagramme
Statique
Diagramme de
séquence
Diagramme de
Communication
Diagramme
Etats Transitions
Diagramme
d’activité
Diagramme
d’objets
Diagramme
de classes
Diagramme
de structure
composite
Diagramme
de composants
Diagramme
de profil
Comportemental
Structurel
Diagramme
de package
Diagramme
de déploiement
Diagramme de
Cas d’utilisation
Diagramme
d’interaction
vue d’ensemble
Diagramme
d’interaction
Diagramme de
temps
UML et le processus de développement
Les diagrammes
09/10/2017
3
Classes, Objets
Collaboration, Séquences
Vision Logique
Utilisateurs finaux
Fonctionnalités
Composants
Vision Implémentation
Développeurs
Gestion du logiciel
Déploiement
Vision Déploiement
Ingénieurs système
Architecture du système
Installation
Communication
Etats-Transition-Activité
Vision Prcessus
Ingénieurs système
Performance
Changements d’échelles???
Cas d’utilisation
Vision Cas
d’utilisation
Les vues
UML et le processus de développement
Plan du cours
1. Définition
2. Forme générale
3. Les éléments d’un diagramme de séquence
4. Les fragments d’interactions combinés
5. Exercices d’application
4
Modélisation orientée objets avec UML
Diagramme de séquences
5
Diagrammes de séquences : Définition
• Le diagramme de séquence est parmi les vues
dynamiques importantes de UML.
• Il présente les messages échangés entre les objets
(lignes de vie), présentés dans un ordre chronologique.
• Il décrit, en fonction du temps, une interaction pour
l’obtention d’un résultat observable
• Ainsi, contrairement au diagramme de collaboration, le
temps y est représenté explicitement par une dimension (la
dimension verticale) et s’écoule de haut en bas.
• L’interaction est assurée par l’échange des messages entre les
objets
• L’échange de messages se fait selon une chronologie bien
déterminée
6
Diagrammes de séquences : Qu’est ce qu’il décrit ?
Diagramme de cas
d’utilisation
Diagramme de
classes
ObjetsCas
d’utilisation
Résultat attendu par le
système
Objet en interaction
avec les autres objets
7
Diagrammes de séquences : Définition
 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 messages
 Un message définit une communication particulière
entre des lignes de vie. Plusieurs types de messages
existent, les plus commun sont :
l’envoi d’un signal ;
l’invocation d’une opération ;
la création ou la destruction
d’une instance.
obj1:Classe1 obj2:Classe2
Message
8
Diagrammes de séquences : Définition
Message_1
Message_2
Objet_1 Objet_2 Objet_3
Ligne de vie de
l'objet
9
Forme générale d’un diagramme de séquence
Progressiondutemps
Nom diagramme
séquence
Image de http://www.uml-diagrams.org
1
Diagrammes de séquences : Définition
 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
1
Diagrammes de séquences : Exemple
Compte
-
-
N°Compte
Solde
: String
: float
+
+
+
+
<<Constructor>> Compte (int n, float s)
déposer (float somme)
retirer (float somme)
consulter ()
: void
: float
: float
déposer(somme)
solde actuel
solde+=somme
Client Compte
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)
1
Diagrammes de séquences : Définition
 Plusieurs concepts additionnels :
Période d’activité
Types de messages
Création et destruction d’objets
Structures de contrôles
 La période d’activité Correspond
au temps pendant lequel un objet
fait une action
 Elle est représentée par une
bande rectangulaire superposée à la
ligne de vie de l’objet
Message_1
Objet_1Objet_2
1
Les éléments d’un diagramme de séquence
[instance]: nomClasse
Spécification de
l’exécution
Progressiondutemps
1
Les éléments d’un diagramme de séquence
obj1: NomClasse
: NomClasse
Ligne de vie de l’objet obj1Ligne de vie d’un objet anonyme
1
Les éléments d’un diagramme de séquence
cours: Cours
étudiant: Etudiant
Ligne de vie de l’objet coursLigne de vie de l’acteur étudiant
1
Les éléments d’un diagramme de séquence
• Définit une communication entre deux lignes de vie d’une
interaction
• Pour un message, on spécifie l’émetteur et le récepteur
• Le message doit avoir un nom
• Traduit les interactions (échange d’informations) entre
objets
• Représenté 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
1
Les éléments d’un diagramme de séquence
• Graphiquement, le message est représenté par
une flèche accompagnée par un nom
Il existe plusieurs types de message
Nom message
Nom message
Nom message
Nom message
Nom message
Nom message
1
Les éléments d’un diagramme de séquence
 Message pour lequel on ne spécifie aucune information
d’envoi ou de réception
Message_1
Objet_1 Objet_2
1
Les éléments d’un diagramme de séquence
 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_1 (20 secondes)
Objet_1Objet_2
2
Les éléments d’un diagramme de séquence
La porte d’un ascenseur s’ouvre pendant un certain délai
avant d’être refermée.
ouvrir (2 secondes)
fermer
Ascenseur Porte
2
Les éléments d’un diagramme de séquence
Message asynchrone :
 Une interruption ou un évènement sont de bons exemples de signaux. Ils
n’attendent pas de réponse et ne bloquent pas l’émetteur qui ne sait pas si
le message arrivera à destination, le cas échéant quand il arrivera et s’il
serra traité par le destinataire. Un signal est, par définition, un message
asynchrone.
 Graphiquement, un message asynchrone se représente par une flèche en
traits pleins et à l’extrémité ouverte partant de la ligne de vie d’un objet
expéditeur et allant vers celle de l’objet cible.
obj1:Classe1 obj2:Classe2
Message
Message_1
Objet_1Objet_2
 N’interrompt pas l’exécution de l’expéditeur
 L’expéditeur peut émettre sans attendre la
réponse du récepteur
2
Les éléments d’un diagramme de séquence
Message asynchrone (Exemple) :
Envoyer SMS
P1 : Personne P2 : Personne
La personne p1 a envoyé un SMS et n’attend pas le résultat
2
Les éléments d’un diagramme de séquence
Message synchrone (appel de procédure) :
 L’invocation d’une opération est le type de message le plus utilisé en
programmation objet.
 L’invocation peut être asynchrone ou synchrone. Dans la pratique, la
plupart des invocations sont synchrones, l’émetteur reste alors bloqué le
temps que dure l’invocation de l’opération.
 Graphiquement, un message synchrone se représente par une flèche en
traits pleins et à l’extrémité pleine partant de la ligne de vie d’un objet
expéditeur et allant vers celle de l’objet cible. Ce message peut être suivi
d’une réponse qui se représente par une flèche en pointillé.
obj1:Classe1 obj2:Classe2
Message synchrone
 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_1
Objet_1Objet_2
2
Les éléments d’un diagramme de séquence
Message synchrone (Exemple 1) :
Rechercher
Client : ClientWeb : MagasinEnligne
L’objet client a lancé la recherche et attend le résultat d’un objet
anonyme : MagasinEnLigne
2
Les éléments d’un diagramme de séquence
Message synchrone (Exemples) :
Rechercher
Client : ClientWeb : MagasinEnligne
L’objet client a lancé la
recherche et attend le
résultat d’un objet
anonyme :
MagasinEnLigne
Sollitation
Acceptation
Requête
Réponse
Client Serveur
Communication client serveur : Sockets
2
Les éléments d’un diagramme de séquence
 Appelé aussi message réflexive
 Message envoyé d’un objet vers lui-même.
Message_1
Objet_1
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
Introduire carte
Vérification validité
Demande code accès
Client GAB
2
Les éléments d’un diagramme de séquence
Message Création et destruction des instances :
 La création d’un objet est matérialisée par une flèche qui pointe
sur le sommet d’une ligne de vie.
 La destruction d’un objet est matérialisée par une croix qui
marque la fin de la ligne de vie de l’objet.
 La destruction d’un objet n’est pas nécessairement consécutive à
la réception d’un message.
 Un message peut créer ou détruire un objet
2
Les éléments d’un diagramme de séquence
Message Création et destruction des instances :
Message_1
Message_2
Objet_1
Objet_2
Objet_3
Création d’objet
Destruction d’objetObjet créé au cours de l’exécution du scénario
Objet détruit dans un scénario
2
Les éléments d’un diagramme de séquence
Le message créer (Exemple) :
L’objet anonyme de
LibrarieEnLigne crée l’objet c
de la classe Compte à travers
le constructeur Compte()
: LibrairieEnLigne
c: Compte
Compte()
Le message détruire(Exemple) :
L’objet anonyme de
LibrarieEnLigne détruit
l’objet c de la classe Compte
: LibrairieEnLigne c: Compte
<< destroy>>
3
Les éléments d’un diagramme de séquence
Événements et messages :
UML permet de séparer clairement l’envoi du message, sa
réception, ainsi que le début de l’exécution de la réaction et sa fin
:Client :GAB
Introduire carte
Evénement Envoi
Evénement Réception
Evénement Début
traitement
Evénement Fin
traitement
3
Les éléments d’un diagramme de séquence
Message de réponse
c: Client :MagasinEnligne
L’objet c de Client lance la recherche et attend le résultat de la recherche de
l’objet anonyme :MagasinEnLigne
rechercher
résultat de la recherche
3
Les éléments d’un diagramme de séquence
Syntaxe des messages et des réponses :
 Dans la plupart des cas, la réception d’un message est suivie de l’exécution d’une méthode
d’une classe.
 Cette méthode peut recevoir des arguments et la syntaxe des messages permet de
transmettre ces arguments.
 La syntaxe de réponse à un message est la suivante :
• [<attribut> = ] message [ : <valeur_de_retour>] où message représente le message d’envoi.
 L’exemple ci-dessus montre l’envoie d’un message destiné à l’exécution de la méthode
chercher avec un paramètre qui représente le livre à chercher. Après exécution de cette
méthode dans l’objet Mediathèque, elle retourne la valeur 5 représentant le nombre de livres
« XML ».
:Client :Médiathèque
Chercher("XML")
nbLivres=Chercher("XML") : 5
3
Les éléments d’un diagramme de séquence
Message perdu et trouvé :
 Un message complet est tel que les événements d’envoi et de
réception sont connus. Comme nous l’avons déjà vu, un message
complet se représente par une simple flèche dirigée de l’émetteur
vers le récepteur.
 Un message perdu est tel que l’événement d’envoi est connu,
mais pas l’événement de réception. Il se représente par une flèche
qui pointe sur une petite boule noire.
 Un message trouvé est tel que l’événement de réception est
connu, mais pas l’événement d’émission. Une flèche partant d’une
petite boule noire représente un message trouvé.
3
Les éléments d’un diagramme de séquence
Message perdu :
L’objet c de Client lance la
recherche dont le message est
perdu
c: Client
rechercher
L’évènement d’envoi est connu, mais
pas d’évènement de réception
Message de source inconnue :
L’objet anonyme :MagasinEnLigne reçoit
une requête de recherche dont il connait
pas l’origine
:MagasinEnligne
rechercher
L’évènement de réception est
connu, mais l’évènement
d’envoi est inconnu:
opération que nous voulons
pas donner assez de détail
3
Les éléments d’un diagramme de séquence
Exemple Message perdu et message de source inconnue :
3
Les éléments d’un diagramme de séquence
Objet actif et objet passif :
 Un objet actif initie et contrôle le flux d’activités. Graphiquement,
la ligne pointillée verticale d’un objet actif est remplacée par un
double trait vertical.
 Un objet passif, au contraire, a besoin qu’on lui donne le flux
d’activité pour pouvoir exécuter une méthode. La spécification de
l’exécution d’une réaction sur un objet passif se représente par un
rectangle blanc ou gris placé sur la ligne de vie en pointillée. Le
rectangle peut éventuellement porter un label.
Représentation d’un objet actif (à gauche) et d’une exécution
sur un objet passif (à droite).
3
Les éléments d’un diagramme de séquence
Fragments d’interaction combinés:
 Un fragment combiné représente des articulations d’interactions. Il
est défini par un opérateur et des opérandes.
 L’opérateur conditionne la signification du fragment combiné.
 Les fragments combinés permettent de décrire des diagrammes de
séquence de manière compacte.
 Les fragments combinés peuvent faire intervenir l’ensemble des
entités participant au scénario ou juste un sous-ensemble.
 Un fragment combiné se représente de la même façon qu’une
interaction.
 Il est représenté dans un rectangle dont le coin supérieur gauche
contient un pentagone.
 Dans le pentagone figure le type de la combinaison, appelé
opérateur d’interaction.
 Les opérandes d’un opérateur d’interaction sont séparés par une
ligne pointillée.
 Les conditions de choix des opérandes sont données par des
expressions booléennes entre crochets ([ ]).
3
Les éléments d’un diagramme de séquence
Fragments d’interaction combinés:
 Il existe 12 opérateurs définis dans la notation UML 2.0.
 La liste suivante regroupe les opérateurs d’interaction par
fonctions :
• les opérateurs de choix et de boucle
: alternative, option, break et loop ;
• les opérateurs contrôlant l’envoi en parallèle de
messages : parallel et critical region ;
• les opérateurs contrôlant l’envoi de
messages : ignore, consider, assertion et negative ;
• les opérateurs fixant l’ordre d’envoi des messages : weak
sequencing , strict sequencing.
Nous n’aborderons que quelques-unes de ces interactions dans la
suite de cette section.
3
Les éléments d’un diagramme de séquence
Exemple d’interaction combinés :
 Représentation d’un choix dans un diagramme de séquence
illustrant le découvrement d’une case au jeu du démineur.
4
Les éléments d’un diagramme de séquence
1- Occurrence de destruction
: LibrairieEnLigne c: Compte
<< destroy>>
Début de l’occurrence de destruction
Fin de l’occurrence de destruction
l‘intérieur du rectangle est vide
Destruction
4
Les éléments d’un diagramme de séquence
:MagasinEnligne
2- Occurrence d’exécution
Début de l’occurrence d’exécution
Fin de l’occurrence d’exécution
l‘intérieur du rectangle est gris
Exécution
4
Les éléments d’un diagramme de séquence
:MagasinEnligne
Recherche
2- Occurrence d’exécution
4
Les éléments d’un diagramme de séquence
:MagasinEnligne
2- Occurrence d’exécution
Deux exécutions qui se chevauchent
Exemple 2
Exemple 1
4
Les éléments d’un diagramme de séquence
 Le diagramme de séquences peut inclure un
certain nombre de structures :
• Branchements (tests)
• Répétitions (itérations, boucles)
4
Les éléments d’un diagramme de séquence
 La condition précéde le message et elle est
délimitée par des crochets
[condition]: Message
Objet_1 Objet_2 Objet_3
4
Les éléments d’un diagramme de séquence
 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
Présente son badge
[OK]voyant vert
Vérifier droit d'accès
ouvrir porte
Utilisteur Système
4
Les éléments d’un diagramme de séquence
 La boucle se note comme le test, mais la
condition est précédée d’un astérisque
[condition]: Message
Objet_1 Objet_2 Objet_3
*
4
Les éléments d’un diagramme de séquence
demande de prix
consulte le catalogue
donne le prix de base
s'étonne
se plaint
propose un autre prix
récupère le produit
Client Vendeur Catalogue
4
Fragments combinés
Fragment parcouru si une condition est vérifiée
Equivalente à
Si condition alors action
Exemple :
5
Fragments combinés
Le fragment est répété tant que une condition est vérifiée
Equivalente à
Tant que Condition faire Actions
Exemple :
:A :B
SD: exemple
LOOP [Condition]
Action()
:A :B
SD: exemple
LOOP (0,n)
Action()OU
5
Fragments combinés
Deux fragments à parcourir selon la valeur de la condition
Equivalente à
Si condition alors actionA si non actionB
Exemple :
5
Fragments combinés
Fragment exécuté et met fin au fragment englobant si
une condition est vérifiée
Notation :
5
Fragments combinés
Exemple :
5
Fragments combinés
Fragment exécuté de façon atomique qui peut empêcher
la réalisation d’une action s’il ya une anomalie
Notation :
5
Fragments combinés
Exemple :
:Client :Distributeur::Affichage :Distributeur::Vérificateur :Distributeur::Caisse
5
Appliquer vos connaissances
Interpréter le diagramme suivant (1)
Tester vos connaissances
Interpréter le diagramme de séquences suivant (2)
5
Tester vos connaissances
Interpréter le diagramme de séquences suivant (2)

Contenu connexe

PDF
TD2 - UML - Correction
PPSX
diagramme de séquence UML
PDF
UML Part 4- diagrammres de classes et d'objets mansouri
PDF
Chp4 - Diagramme de Séquence
PDF
Exercices uml-corrige
PDF
TP2-UML-Correction
PDF
Bases de données réparties par la pratique
PDF
UML Part2- diagramme des uses cases_mansouri
TD2 - UML - Correction
diagramme de séquence UML
UML Part 4- diagrammres de classes et d'objets mansouri
Chp4 - Diagramme de Séquence
Exercices uml-corrige
TP2-UML-Correction
Bases de données réparties par la pratique
UML Part2- diagramme des uses cases_mansouri

Tendances (20)

PDF
UML Part1-Introduction Mansouri
PDF
UML Part 5- diagramme d'activités mansouri
PPSX
Chap5 diagramme d'etats-transitions
PPSX
diagramme de classe
PDF
Diagramme de Séquence
PDF
TD3-UML-Correction
PPTX
Chp3 - Diagramme de Classes
PPSX
introduction à la modélisation objet
PDF
Chp5 - Diagramme d'Etat Transition
PDF
Diagramme de séquences.pdf
PPSX
diagramme des cas d'utilisation
PDF
DiagrammeSequence&DiagrammaEtatTransition&DiagrammeActivité.pdf
PDF
Cours bases de données partie 2 Prof. Khalifa MANSOURI
PPTX
Chp1 - Introduction aux méthodologies de Conception
PDF
TD4-UML-Correction
KEY
Uml classes Par les exemples
PDF
UML Part 6 diagramme etat transition mansouri
PDF
Cours uml
PDF
Diagramme d'état transition
PDF
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
UML Part1-Introduction Mansouri
UML Part 5- diagramme d'activités mansouri
Chap5 diagramme d'etats-transitions
diagramme de classe
Diagramme de Séquence
TD3-UML-Correction
Chp3 - Diagramme de Classes
introduction à la modélisation objet
Chp5 - Diagramme d'Etat Transition
Diagramme de séquences.pdf
diagramme des cas d'utilisation
DiagrammeSequence&DiagrammaEtatTransition&DiagrammeActivité.pdf
Cours bases de données partie 2 Prof. Khalifa MANSOURI
Chp1 - Introduction aux méthodologies de Conception
TD4-UML-Correction
Uml classes Par les exemples
UML Part 6 diagramme etat transition mansouri
Cours uml
Diagramme d'état transition
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Publicité

Similaire à UML Part 3- diagramme de séquences mansouri (12)

PPTX
SequenceDiagram : A dynamic Diagram (Unified Modeling Language)
PPTX
DAGRAMMES UML - ANALYSE D'UN PROJET LOGICIEL
PPTX
DIAGRAMME DE SEQUENCE.pptx
PPTX
02_Chap 2_Diag Séquence(1).pptx pour la conception
PDF
Atelier UML Diagrammes Séquences (2).pdf
PDF
dokumen.tips_diagramme-de-sequence-uml.pdf
PDF
Et3 5 diagsequence
PPTX
Chapitre4_ConceptionDynamique (1).pptx
PDF
Java cours n° 2 - classe-objet-constructeur
PPTX
Diagramme de séquence (Unified Modeling Language)
PDF
Chapitre4_ACSI_diag_Seq_diaggrame_de_sequence.pdf
PDF
POO en C++: Les fonctions
SequenceDiagram : A dynamic Diagram (Unified Modeling Language)
DAGRAMMES UML - ANALYSE D'UN PROJET LOGICIEL
DIAGRAMME DE SEQUENCE.pptx
02_Chap 2_Diag Séquence(1).pptx pour la conception
Atelier UML Diagrammes Séquences (2).pdf
dokumen.tips_diagramme-de-sequence-uml.pdf
Et3 5 diagsequence
Chapitre4_ConceptionDynamique (1).pptx
Java cours n° 2 - classe-objet-constructeur
Diagramme de séquence (Unified Modeling Language)
Chapitre4_ACSI_diag_Seq_diaggrame_de_sequence.pdf
POO en C++: Les fonctions
Publicité

Plus de Mansouri Khalifa (12)

PDF
Cours bases de données partie 1 Prof. Khalifa MANSOURI
PDF
Cours systèmes temps réel partie 2 Prof. Khalifa MANSOURI
PDF
Cours systèmes temps réel partie 1 Prof. Khalifa MANSOURI
PDF
Cours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURI
PDF
Cours guvernance des systèmes d'information partie 2 prof. Khalifa MANSOURI
PDF
Cours guvernance des systèmes d'information partie 1 prof. Khalifa MANSOURI
PDF
Cours : les arbres Prof. KHALIFA MANSOURI
PDF
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
PDF
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI
PDF
Cours : les listes chainées Prof. KHALIFA MANSOURI
PDF
Systèmes d'Information dans les organisations
PDF
Analyse merise Prof. Khalifa MANSOURI
Cours bases de données partie 1 Prof. Khalifa MANSOURI
Cours systèmes temps réel partie 2 Prof. Khalifa MANSOURI
Cours systèmes temps réel partie 1 Prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 2 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 1 prof. Khalifa MANSOURI
Cours : les arbres Prof. KHALIFA MANSOURI
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI
Cours : les listes chainées Prof. KHALIFA MANSOURI
Systèmes d'Information dans les organisations
Analyse merise Prof. Khalifa MANSOURI

Dernier (20)

PPTX
Exercice_ Bulletin_de_Paie_Cameroun.pptx
PDF
Bac 2025 - Livre - 🎤 Le Grand Oral - ✍️ Exemples rédigés - 🌍 HGGSP - Extrait 2
PPTX
Présentation xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx portrait.pptx
PDF
تصريف فعل Être في كل الأزمنة الفرنسية.pdf
PDF
Leadership,_Pitch_et_Marketing_–_Préparer_son_accès_au_marché.pdf
PDF
Formation Hygiène Sécurité Environnement - ESPACE CONFINÉ
PDF
4-bilan_FR___GÉNÉTIQUE_HUMAINE_bis[1].pdf
PDF
Enseigner la programmation en Python - Les avantages de l’approche UMC - 3
PDF
Formation HSE - consignation déconsignation
PPTX
Sainte Rose de Lima, Vierge, Pénitente, Tertiaire Dominicaine 1586-1617.pptx
PDF
Formation Hygiène Sécurité Environnement - EXCAVATION
PDF
La Darija marocaine La Darija marocaineLa Darija marocaine
PPTX
Soutenance_Memoire_OBAME_Roseline_Master.pptx
PPTX
Saint Joseph de Calasanz, prêtre catholique, éducateur 1557–1648.pptx
PPTX
Saint Jean Eudes, 1601-1680, prêtre et fondateur français.pptx
PDF
Interface Homme Machine M1 Chapitre JavaFX.pdf
PPTX
Generation z presenation simplifier .pptx
PDF
Enseigner Python autrement : la méthode UMC pour une pédagogie innovante - 1
PDF
Formation GÉNÉRALITÉS Hygiène Sécurité Environnement
PPTX
Niki de Saint-Phalle.pptx artiste plasticienne
Exercice_ Bulletin_de_Paie_Cameroun.pptx
Bac 2025 - Livre - 🎤 Le Grand Oral - ✍️ Exemples rédigés - 🌍 HGGSP - Extrait 2
Présentation xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx portrait.pptx
تصريف فعل Être في كل الأزمنة الفرنسية.pdf
Leadership,_Pitch_et_Marketing_–_Préparer_son_accès_au_marché.pdf
Formation Hygiène Sécurité Environnement - ESPACE CONFINÉ
4-bilan_FR___GÉNÉTIQUE_HUMAINE_bis[1].pdf
Enseigner la programmation en Python - Les avantages de l’approche UMC - 3
Formation HSE - consignation déconsignation
Sainte Rose de Lima, Vierge, Pénitente, Tertiaire Dominicaine 1586-1617.pptx
Formation Hygiène Sécurité Environnement - EXCAVATION
La Darija marocaine La Darija marocaineLa Darija marocaine
Soutenance_Memoire_OBAME_Roseline_Master.pptx
Saint Joseph de Calasanz, prêtre catholique, éducateur 1557–1648.pptx
Saint Jean Eudes, 1601-1680, prêtre et fondateur français.pptx
Interface Homme Machine M1 Chapitre JavaFX.pdf
Generation z presenation simplifier .pptx
Enseigner Python autrement : la méthode UMC pour une pédagogie innovante - 1
Formation GÉNÉRALITÉS Hygiène Sécurité Environnement
Niki de Saint-Phalle.pptx artiste plasticienne

UML Part 3- diagramme de séquences mansouri

  • 1. Université Hassan II de Casablanca ENSET de Mohammedia Département Mathématiques et Informatique COURS INGENIERIE SYSTEMES 3ème Partie : Diagramme de séquences Professeur : M. Khalifa MANSOURI
  • 2. 2 Diagramme dynamique Diagramme Statique Diagramme de séquence Diagramme de Communication Diagramme Etats Transitions Diagramme d’activité Diagramme d’objets Diagramme de classes Diagramme de structure composite Diagramme de composants Diagramme de profil Comportemental Structurel Diagramme de package Diagramme de déploiement Diagramme de Cas d’utilisation Diagramme d’interaction vue d’ensemble Diagramme d’interaction Diagramme de temps UML et le processus de développement Les diagrammes
  • 3. 09/10/2017 3 Classes, Objets Collaboration, Séquences Vision Logique Utilisateurs finaux Fonctionnalités Composants Vision Implémentation Développeurs Gestion du logiciel Déploiement Vision Déploiement Ingénieurs système Architecture du système Installation Communication Etats-Transition-Activité Vision Prcessus Ingénieurs système Performance Changements d’échelles??? Cas d’utilisation Vision Cas d’utilisation Les vues UML et le processus de développement
  • 4. Plan du cours 1. Définition 2. Forme générale 3. Les éléments d’un diagramme de séquence 4. Les fragments d’interactions combinés 5. Exercices d’application 4 Modélisation orientée objets avec UML Diagramme de séquences
  • 5. 5 Diagrammes de séquences : Définition • Le diagramme de séquence est parmi les vues dynamiques importantes de UML. • Il présente les messages échangés entre les objets (lignes de vie), présentés dans un ordre chronologique. • Il décrit, en fonction du temps, une interaction pour l’obtention d’un résultat observable • Ainsi, contrairement au diagramme de collaboration, le temps y est représenté explicitement par une dimension (la dimension verticale) et s’écoule de haut en bas. • L’interaction est assurée par l’échange des messages entre les objets • L’échange de messages se fait selon une chronologie bien déterminée
  • 6. 6 Diagrammes de séquences : Qu’est ce qu’il décrit ? Diagramme de cas d’utilisation Diagramme de classes ObjetsCas d’utilisation Résultat attendu par le système Objet en interaction avec les autres objets
  • 7. 7 Diagrammes de séquences : Définition  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 messages  Un message définit une communication particulière entre des lignes de vie. Plusieurs types de messages existent, les plus commun sont : l’envoi d’un signal ; l’invocation d’une opération ; la création ou la destruction d’une instance. obj1:Classe1 obj2:Classe2 Message
  • 8. 8 Diagrammes de séquences : Définition Message_1 Message_2 Objet_1 Objet_2 Objet_3 Ligne de vie de l'objet
  • 9. 9 Forme générale d’un diagramme de séquence Progressiondutemps Nom diagramme séquence Image de http://www.uml-diagrams.org
  • 10. 1 Diagrammes de séquences : Définition  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
  • 11. 1 Diagrammes de séquences : Exemple Compte - - N°Compte Solde : String : float + + + + <<Constructor>> Compte (int n, float s) déposer (float somme) retirer (float somme) consulter () : void : float : float déposer(somme) solde actuel solde+=somme Client Compte 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)
  • 12. 1 Diagrammes de séquences : Définition  Plusieurs concepts additionnels : Période d’activité Types de messages Création et destruction d’objets Structures de contrôles  La période d’activité Correspond au temps pendant lequel un objet fait une action  Elle est représentée par une bande rectangulaire superposée à la ligne de vie de l’objet Message_1 Objet_1Objet_2
  • 13. 1 Les éléments d’un diagramme de séquence [instance]: nomClasse Spécification de l’exécution Progressiondutemps
  • 14. 1 Les éléments d’un diagramme de séquence obj1: NomClasse : NomClasse Ligne de vie de l’objet obj1Ligne de vie d’un objet anonyme
  • 15. 1 Les éléments d’un diagramme de séquence cours: Cours étudiant: Etudiant Ligne de vie de l’objet coursLigne de vie de l’acteur étudiant
  • 16. 1 Les éléments d’un diagramme de séquence • Définit une communication entre deux lignes de vie d’une interaction • Pour un message, on spécifie l’émetteur et le récepteur • Le message doit avoir un nom • Traduit les interactions (échange d’informations) entre objets • Représenté 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
  • 17. 1 Les éléments d’un diagramme de séquence • Graphiquement, le message est représenté par une flèche accompagnée par un nom Il existe plusieurs types de message Nom message Nom message Nom message Nom message Nom message Nom message
  • 18. 1 Les éléments d’un diagramme de séquence  Message pour lequel on ne spécifie aucune information d’envoi ou de réception Message_1 Objet_1 Objet_2
  • 19. 1 Les éléments d’un diagramme de séquence  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_1 (20 secondes) Objet_1Objet_2
  • 20. 2 Les éléments d’un diagramme de séquence La porte d’un ascenseur s’ouvre pendant un certain délai avant d’être refermée. ouvrir (2 secondes) fermer Ascenseur Porte
  • 21. 2 Les éléments d’un diagramme de séquence Message asynchrone :  Une interruption ou un évènement sont de bons exemples de signaux. Ils n’attendent pas de réponse et ne bloquent pas l’émetteur qui ne sait pas si le message arrivera à destination, le cas échéant quand il arrivera et s’il serra traité par le destinataire. Un signal est, par définition, un message asynchrone.  Graphiquement, un message asynchrone se représente par une flèche en traits pleins et à l’extrémité ouverte partant de la ligne de vie d’un objet expéditeur et allant vers celle de l’objet cible. obj1:Classe1 obj2:Classe2 Message Message_1 Objet_1Objet_2  N’interrompt pas l’exécution de l’expéditeur  L’expéditeur peut émettre sans attendre la réponse du récepteur
  • 22. 2 Les éléments d’un diagramme de séquence Message asynchrone (Exemple) : Envoyer SMS P1 : Personne P2 : Personne La personne p1 a envoyé un SMS et n’attend pas le résultat
  • 23. 2 Les éléments d’un diagramme de séquence Message synchrone (appel de procédure) :  L’invocation d’une opération est le type de message le plus utilisé en programmation objet.  L’invocation peut être asynchrone ou synchrone. Dans la pratique, la plupart des invocations sont synchrones, l’émetteur reste alors bloqué le temps que dure l’invocation de l’opération.  Graphiquement, un message synchrone se représente par une flèche en traits pleins et à l’extrémité pleine partant de la ligne de vie d’un objet expéditeur et allant vers celle de l’objet cible. Ce message peut être suivi d’une réponse qui se représente par une flèche en pointillé. obj1:Classe1 obj2:Classe2 Message synchrone  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_1 Objet_1Objet_2
  • 24. 2 Les éléments d’un diagramme de séquence Message synchrone (Exemple 1) : Rechercher Client : ClientWeb : MagasinEnligne L’objet client a lancé la recherche et attend le résultat d’un objet anonyme : MagasinEnLigne
  • 25. 2 Les éléments d’un diagramme de séquence Message synchrone (Exemples) : Rechercher Client : ClientWeb : MagasinEnligne L’objet client a lancé la recherche et attend le résultat d’un objet anonyme : MagasinEnLigne Sollitation Acceptation Requête Réponse Client Serveur Communication client serveur : Sockets
  • 26. 2 Les éléments d’un diagramme de séquence  Appelé aussi message réflexive  Message envoyé d’un objet vers lui-même. Message_1 Objet_1 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 Introduire carte Vérification validité Demande code accès Client GAB
  • 27. 2 Les éléments d’un diagramme de séquence Message Création et destruction des instances :  La création d’un objet est matérialisée par une flèche qui pointe sur le sommet d’une ligne de vie.  La destruction d’un objet est matérialisée par une croix qui marque la fin de la ligne de vie de l’objet.  La destruction d’un objet n’est pas nécessairement consécutive à la réception d’un message.  Un message peut créer ou détruire un objet
  • 28. 2 Les éléments d’un diagramme de séquence Message Création et destruction des instances : Message_1 Message_2 Objet_1 Objet_2 Objet_3 Création d’objet Destruction d’objetObjet créé au cours de l’exécution du scénario Objet détruit dans un scénario
  • 29. 2 Les éléments d’un diagramme de séquence Le message créer (Exemple) : L’objet anonyme de LibrarieEnLigne crée l’objet c de la classe Compte à travers le constructeur Compte() : LibrairieEnLigne c: Compte Compte() Le message détruire(Exemple) : L’objet anonyme de LibrarieEnLigne détruit l’objet c de la classe Compte : LibrairieEnLigne c: Compte << destroy>>
  • 30. 3 Les éléments d’un diagramme de séquence Événements et messages : UML permet de séparer clairement l’envoi du message, sa réception, ainsi que le début de l’exécution de la réaction et sa fin :Client :GAB Introduire carte Evénement Envoi Evénement Réception Evénement Début traitement Evénement Fin traitement
  • 31. 3 Les éléments d’un diagramme de séquence Message de réponse c: Client :MagasinEnligne L’objet c de Client lance la recherche et attend le résultat de la recherche de l’objet anonyme :MagasinEnLigne rechercher résultat de la recherche
  • 32. 3 Les éléments d’un diagramme de séquence Syntaxe des messages et des réponses :  Dans la plupart des cas, la réception d’un message est suivie de l’exécution d’une méthode d’une classe.  Cette méthode peut recevoir des arguments et la syntaxe des messages permet de transmettre ces arguments.  La syntaxe de réponse à un message est la suivante : • [<attribut> = ] message [ : <valeur_de_retour>] où message représente le message d’envoi.  L’exemple ci-dessus montre l’envoie d’un message destiné à l’exécution de la méthode chercher avec un paramètre qui représente le livre à chercher. Après exécution de cette méthode dans l’objet Mediathèque, elle retourne la valeur 5 représentant le nombre de livres « XML ». :Client :Médiathèque Chercher("XML") nbLivres=Chercher("XML") : 5
  • 33. 3 Les éléments d’un diagramme de séquence Message perdu et trouvé :  Un message complet est tel que les événements d’envoi et de réception sont connus. Comme nous l’avons déjà vu, un message complet se représente par une simple flèche dirigée de l’émetteur vers le récepteur.  Un message perdu est tel que l’événement d’envoi est connu, mais pas l’événement de réception. Il se représente par une flèche qui pointe sur une petite boule noire.  Un message trouvé est tel que l’événement de réception est connu, mais pas l’événement d’émission. Une flèche partant d’une petite boule noire représente un message trouvé.
  • 34. 3 Les éléments d’un diagramme de séquence Message perdu : L’objet c de Client lance la recherche dont le message est perdu c: Client rechercher L’évènement d’envoi est connu, mais pas d’évènement de réception Message de source inconnue : L’objet anonyme :MagasinEnLigne reçoit une requête de recherche dont il connait pas l’origine :MagasinEnligne rechercher L’évènement de réception est connu, mais l’évènement d’envoi est inconnu: opération que nous voulons pas donner assez de détail
  • 35. 3 Les éléments d’un diagramme de séquence Exemple Message perdu et message de source inconnue :
  • 36. 3 Les éléments d’un diagramme de séquence Objet actif et objet passif :  Un objet actif initie et contrôle le flux d’activités. Graphiquement, la ligne pointillée verticale d’un objet actif est remplacée par un double trait vertical.  Un objet passif, au contraire, a besoin qu’on lui donne le flux d’activité pour pouvoir exécuter une méthode. La spécification de l’exécution d’une réaction sur un objet passif se représente par un rectangle blanc ou gris placé sur la ligne de vie en pointillée. Le rectangle peut éventuellement porter un label. Représentation d’un objet actif (à gauche) et d’une exécution sur un objet passif (à droite).
  • 37. 3 Les éléments d’un diagramme de séquence Fragments d’interaction combinés:  Un fragment combiné représente des articulations d’interactions. Il est défini par un opérateur et des opérandes.  L’opérateur conditionne la signification du fragment combiné.  Les fragments combinés permettent de décrire des diagrammes de séquence de manière compacte.  Les fragments combinés peuvent faire intervenir l’ensemble des entités participant au scénario ou juste un sous-ensemble.  Un fragment combiné se représente de la même façon qu’une interaction.  Il est représenté dans un rectangle dont le coin supérieur gauche contient un pentagone.  Dans le pentagone figure le type de la combinaison, appelé opérateur d’interaction.  Les opérandes d’un opérateur d’interaction sont séparés par une ligne pointillée.  Les conditions de choix des opérandes sont données par des expressions booléennes entre crochets ([ ]).
  • 38. 3 Les éléments d’un diagramme de séquence Fragments d’interaction combinés:  Il existe 12 opérateurs définis dans la notation UML 2.0.  La liste suivante regroupe les opérateurs d’interaction par fonctions : • les opérateurs de choix et de boucle : alternative, option, break et loop ; • les opérateurs contrôlant l’envoi en parallèle de messages : parallel et critical region ; • les opérateurs contrôlant l’envoi de messages : ignore, consider, assertion et negative ; • les opérateurs fixant l’ordre d’envoi des messages : weak sequencing , strict sequencing. Nous n’aborderons que quelques-unes de ces interactions dans la suite de cette section.
  • 39. 3 Les éléments d’un diagramme de séquence Exemple d’interaction combinés :  Représentation d’un choix dans un diagramme de séquence illustrant le découvrement d’une case au jeu du démineur.
  • 40. 4 Les éléments d’un diagramme de séquence 1- Occurrence de destruction : LibrairieEnLigne c: Compte << destroy>> Début de l’occurrence de destruction Fin de l’occurrence de destruction l‘intérieur du rectangle est vide Destruction
  • 41. 4 Les éléments d’un diagramme de séquence :MagasinEnligne 2- Occurrence d’exécution Début de l’occurrence d’exécution Fin de l’occurrence d’exécution l‘intérieur du rectangle est gris Exécution
  • 42. 4 Les éléments d’un diagramme de séquence :MagasinEnligne Recherche 2- Occurrence d’exécution
  • 43. 4 Les éléments d’un diagramme de séquence :MagasinEnligne 2- Occurrence d’exécution Deux exécutions qui se chevauchent Exemple 2 Exemple 1
  • 44. 4 Les éléments d’un diagramme de séquence  Le diagramme de séquences peut inclure un certain nombre de structures : • Branchements (tests) • Répétitions (itérations, boucles)
  • 45. 4 Les éléments d’un diagramme de séquence  La condition précéde le message et elle est délimitée par des crochets [condition]: Message Objet_1 Objet_2 Objet_3
  • 46. 4 Les éléments d’un diagramme de séquence  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 Présente son badge [OK]voyant vert Vérifier droit d'accès ouvrir porte Utilisteur Système
  • 47. 4 Les éléments d’un diagramme de séquence  La boucle se note comme le test, mais la condition est précédée d’un astérisque [condition]: Message Objet_1 Objet_2 Objet_3 *
  • 48. 4 Les éléments d’un diagramme de séquence demande de prix consulte le catalogue donne le prix de base s'étonne se plaint propose un autre prix récupère le produit Client Vendeur Catalogue
  • 49. 4 Fragments combinés Fragment parcouru si une condition est vérifiée Equivalente à Si condition alors action Exemple :
  • 50. 5 Fragments combinés Le fragment est répété tant que une condition est vérifiée Equivalente à Tant que Condition faire Actions Exemple : :A :B SD: exemple LOOP [Condition] Action() :A :B SD: exemple LOOP (0,n) Action()OU
  • 51. 5 Fragments combinés Deux fragments à parcourir selon la valeur de la condition Equivalente à Si condition alors actionA si non actionB Exemple :
  • 52. 5 Fragments combinés Fragment exécuté et met fin au fragment englobant si une condition est vérifiée Notation :
  • 54. 5 Fragments combinés Fragment exécuté de façon atomique qui peut empêcher la réalisation d’une action s’il ya une anomalie Notation :
  • 55. 5 Fragments combinés Exemple : :Client :Distributeur::Affichage :Distributeur::Vérificateur :Distributeur::Caisse
  • 56. 5 Appliquer vos connaissances Interpréter le diagramme suivant (1) Tester vos connaissances Interpréter le diagramme de séquences suivant (2)
  • 57. 5 Tester vos connaissances Interpréter le diagramme de séquences suivant (2)