SlideShare une entreprise Scribd logo
Diagramme de
Séquence
Conception Orientée Objet (UML)
– Chapitre 4
Prof : Mme.ONZY
Plan
1. Système: boite noire vs boite blanche
 Analyse vs Conception
2. Eléments de base
 Objets, Ligne de vie, Message
 Stéréotypes, MVC
3. Fragments composés
 alt, opt, loop, par, ref
 Fragments emboités
Chapitre
4
Diagramme
de
Séquence
Plan
1
Diagramme de Séquence
Un diagramme de séquence est un type de diagramme
UML d'interaction.
Il décrit comment et dans quel ordre plusieurs objets
fonctionnent ensemble.
Il représente la séquence de messages entre
les objets au cours d'une interaction.
En bref, Un diagramme de séquence se compose d’un
groupe d'objets, représentés par des lignes de vie, et
les messages que ces objets échangent lors de
l'interaction.
2
1. Système : boite noire vs boite
blanche
3
Chapitre
4
Diagramme
de
Séquence
1.
Système:
boite
noire
vs
boite
blanche
Le diagramme de séquence modélise l’aspect dynamique du système.
Il s’agit d’une séquence d’interaction d’un point de vue temporel entre le
système et les acteurs.
Nous avons déjà vu le diagramme de séquence système. Son rôle était de décrire
graphiquement un scénario d’un cas d’utilisation.
Cas d’Utilisation :
est décrit (documenté) par
Diagramme de séquence système Diagramme de séquence
Le système est une boite noire
 On ne s’intéresse pas aux composants
du système
 Le système est modélisé comme étant
une seule entité
Le système est une boite blanche
 On s’intéresse à chaque composant du
système intervenant dans la réalisation
du CU
 Le système est modélisé comme étant
un ensemble d’entités
Analyse Conception
Niveau de
détail
4
Chapitre
4
Diagramme
de
Séquence
1.
Système:
boite
noire
vs
boite
blanche
Système:
Message
Réponse au message
:Acteur
Objet1:
:Acteur
Objet2: Objet3:
Message
Réponse au message
Objets du système (Boite blanche)
Boite noire
Diagramme de
séquence
Diagramme de
séquence
(Niveau Analyse) (Niveau Conception)
2. Eléments de base
5
Chapitre
4
Diagramme
de
Séquence
2.
Eléments
de
base
Système:
Message
Réponse au message
:Acteur
Objet : une entité se
trouvant aux limites du
système
 Le diagramme de séquence permet de faire apparaitre:
 Les intervenants dans l’interaction (objets du système ou acteurs)
 La description de l’interaction (messages)
 Les interactions entre les intervenants
Objet : une entité
appartenant
au système
Ligne de vie : période
de temps pendant
laquelle l’objet existe
Interaction : message
envoyé entre deux
objets
Objets
 Les objets sont identifiés par l’intermédiaire des cas d’utilisation ou par le diagramme de
classe.
 Les objets sont représentés comme suit :
Le Nom de l’objet ou du Rôle est souligné pour indiquer qu’il s’agit d’une instance
 Ils représentent :
 Soit des acteurs
 Soit des concepts abstraits
 Soit des objets d’implantation pour les interactions informatique
 L’utilisation des stéréotypes est un mécanisme d’extensibilité d’UML. Ils permettent de
créer de nouveaux éléments dérivés de ceux existants mais qui sont adaptés à des usages
spécialisés dans des domaines particuliers.
6
Chapitre
4
Diagramme
de
Séquence
2.
Eléments
de
base
:Rôle
Nom:Classe
:Système
Objets : Stéréotypes
7
Chapitre
4
Diagramme
de
Séquence
2.
Eléments
de
base
 Dans le cas des applications informatiques, Il existe des stéréotypes d’objets qui permettent
de séparer les préoccupations de l’IHM, l’application et les données.
 Ces stéréotypes sont issues de l’architecture MVC (Model-View-Controller)
Contrôleur
Modèle
Demande
Données
Récupérer les
informations dans
une source de
données (e.g. SGBD) :
traités par le
contrôleur
S’occupe de la
présentation
(affichage des
variables)
Contrôle
l’exécution
de
l’application
« Entity »
Vue
« Boundary » « Control »
Exemple 1.0
8
Chapitre
4
Diagramme
de
Séquence
2.
Eléments
de
base
 Saisie non valide du login et mot de passe au niveau de l’interface graphique de connexion.
 Login et mot de passe valides mais introuvables dans la table des clients.
 La page de connexion est remplacée par la page d’accueil.
:client :Connexion :Clients
:Gestion Auth
1. Saisir login et mdp
4. Rechercher (login, mdp)
2.Vérifier
la saisie
3. Lire
(login,
mdp) 5. Réponse (accès)
6. Message d’accueil
7. Charger page d’accueil
Séquence nominale d’actions pour réaliser l’authentification dans un site Web
 Certaines interactions ne sont pas représentés ou mal représentés :
Élémentsdebase
Jean :Acteu
r
objet1 :Classe
1
objet2 :Classe
2
opération1()
opération2(args
)
retour
2
retour
1
instanced'acteur
instanced'uneclasse
dudiagrammedeclasses
valeurrenvoyée
exécution
appel d'une
opération
lignedevie
1 0
Ligne de vie
 La ligne de vie est représentée par une ligne verticale pointillée en dessous de l’objet.
 La dimension verticale représente l’écoulement du temps.
 La période d’activité d’un objet est représentée par une bande rectangulaire superposée à la
ligne de vie de l’objet.
Un objet peut être actif plusieurs
fois au cours de son existence.
 Lors de la création d’un nouvel objet, un message <<créer>> pointe sur le symbole de l’objet.
 Lors de la destruction d’un objet, sa ligne de vie doit se terminer par une croix (X).
9
Chapitre
4
Diagramme
de
Séquence
2.
Eléments
de
base
Écoulement
du
temps
Nom:Classe
Ligne de vie
Période
d’activation de
l’objet
OBJ1:
OBJ2:
<<create>>
Objet créé
dynamiquement
OBJ1: OBJ2:
<<destroy>>
Mort de l’objet
Messages
 Les messages sont représentés sous forme de flèches.
 Ils sont étiquetés par le nom de l’opération ou du signal invoqué.
 L’ordre d’envoi d’un message est déterminé par sa position sur la ligne de vie; le temps
s’écoule « de haut en bas ».
10
Chapitre
4
Diagramme
de
Séquence
2.
Eléments
de
base
OBJ1: OBJ2: OBJ3:
1. Un message
2. Un autre message
OBJ4:
4. Un dernier message
5. <<destroy>>
3. <<create>>
Message de
création
Message de
Objet destinataire du
message 1 et expéditeur
du message 2
Objet
expéditeur
du message
1
destruction
Création et destruction d'objet
:PageW eb
nouvSession :Sessi
on
nouvSessio
n
Session()
destroy()
appel du constructeur
dela classe
retourobligatoire
del'instancecréé
e
destruction del'objet
(pasnécessairement
à lasuited'un message)
exécution du
constructeur
Messages :
types
 « Destroy » et « Create » sont deux stéréotypes de messages.
 Il existe différents types de messages :
 Message synchrone
Représenté par une flèche pleine ou complète et signifie que l’objet expéditeur envoie le
message et reste bloqué tant que le destinataire n’a pas fin de traiter le message reçu.
 Message asynchrone
Représenté par une flèche vide ou incomplète et signifie que l’objet expéditeur envoie le
message et ne reste pas bloqué pendant le traitement du message par le destinataire.
 Message réflexif
L’objet s’envoie un message à lui-même. L’expéditeur est lui-même le destinataire.
 Message de retour
Représenté en pointillés.
Le récepteur d’un message synchrone rend la main à l’émetteur du message en lui envoyant
11
un message de retour
Chapitre
4
Diagramme
de
Séquence
2.
Eléments
de
base
Typesdemessages
Messagesynchrone:Émetteurbloquéen attentedu r
etour
Messageasynchrone:Émetteurnonbloqué,continuesonexé
cution
vérifierSolde(compt
e)
soldeO
K
exécution
bloquée
allumer()
processusévoluan
t
en parallèle
flèchepleine
flècheouverte
pasnécessairemen
t de retour
:GAB :Banque
:Ascenseu
r
: Voyant
Messageréflexif
:Catalogue livres:Ensembl
e
listeLivresAuteurTrié
e
chercher(auteur)
trier()
appel d’une opération
interne
Exemple 1.1
Version améliorée de l’exemple 1.0
12
Chapitre
4
Diagramme
de
Séquence
2.
Eléments
de
base
:client :Connexion :Clients
:Gestion Auth
1. Saisir login et mdp
3. Lire (login, mdp) 4. Rechercher (login, mdp)
2. Vérifier la saisie
5. Réponse (accès)
8. Message d’accueil
6. « destroy »
7. « create »
:Accueil
Message synchrone :
l’expéditeur est
bloqué jusqu’à
ce qu’il obtient
une réponse
Réponse à un
message synchrone
Messages
asynchrones
3. Fragments composés
 Les fragments composés représentent les expressions spécifiques dans la séquence.
 Les fragments composés doivent couvrir au moins une ligne de vie à tout moment, afin
d'avoir une signification.
 Il est représenté par un rectangle dont le coin supérieur gauche contient un pentagone.
 Dans le pentagone figure le type du fragment : appelé opérateur d’interaction.
 La signification du fragment composé dépend fortement de l'opérateur d'interaction utilisé.
13
Chapitre
4
Diagramme
de
Séquence
3.
Fragments
composés
Fragment composé
Opérandes
Opérateur
OBJ:
Le fragment « alt
»
14
Chapitre
4
Diagramme
de
Séquence
3.
Fragments
composés
 L’opérateur alt désigne un choix ou une alternative: équivalent à SI … ALORS … SINON …
 L’utilisation de l’opérateur else permet d’indiquer que la branche est exécutée si la condition du
alt est fausse.
 Une seule des deux branches sera réalisée dans un scénario donné.
OBJ1:
alt
OBJ2:
[else]
[solde < 0]
condition
Condition
inversée
(solde >=0)
Accepter ( )
Refuser ( )
Alternative
a :Ascenseur p :Portes
[demandé=
courant]ouvrir()
c:Cabine
estvérifiée
sinon
[demandé≠ courant]déplacer(étage)
si la condition
Principe:Condition àl'envoi d'un mess
age Notation :
●
Deuxdiagrammes
condition
Alternative
a :Ascenseur p :Portes
ouvrir()
déplacer(étag
e)
c:Cabine
Principe:Condition àl'envoid'un mess
age Notation :
●
●
Deuxdiagrammes
Blocd'alternativea
lt
alt
[démandé=
courant]
[demandé
≠ courant]
2 1
Les Fragments Composés
Les Opérateurs
De Choix et de boucle :
• D’option « opt »
• D’alternative « alt »
• De boucle « loop »
• D’interruption « break »
De l’envoi en parallèle de
messages
• Opérateur Parallèle
« par »
Contrôlant l’envoi de
messages
• D’omission « ignore »
• D’affirmation « assert »
Chapitre
4
Diagramme
de
Séquence
3.
Fragments
composés
14
Le fragment « opt
»
15
Chapitre
4
Diagramme
de
Séquence
3.
Fragments
composés
 L’opérateur opt désigne un choix de comportement où:
 Soit l’opérande seule s’exécute
 Soit rien ne s’exécute
 Il est équivalent à SI … ALORS …  il est équivalent à un « alt » sans [else]
OBJ1:
opt
OBJ2:
[erreur]
condition Afficher commentaire( )
Le fragment « loop
»
16
Chapitre
4
Diagramme
de
Séquence
3.
Fragments
composés
 L’opérateur loop est utilisé pour décrire un ensemble d’interaction qui s’exécute en boucle.
 La condition spécifiée entre crochets indique la condition pour rester dans la boucle. Si la
condition n’est plus satisfaite, alors la boucle est quittée.
 On peut spécifier le nombre de répétition exacte ou l’intervalle de répétition de l’exécution de la
boucle entre parenthèses.
Condition
OBJ1:
loop
OBJ2:
Lire (fichier)
OBJ1:
loop(10)
[taille <60]
OBJ2:
Lire (fichier)
OBJ1:
Loop
(2 , 5)
OBJ2:
Lire (fichier)
La boucle s’exécute min 2
d’exécution fois et max 5 fois
Boucle
Principe:Répéterunenchaînementdemessa
ges Notation :
●
Note
cat:Catalogu
e
livre:Livre
premierAuteur(
)
Pour chaque
livredu catalogu
e
opérationrépétée
pour touslesobjets
2 5
mentionnés
auteur
Boucle
Principe:Répéterunenchaînementdemessa
ges Notation :
●
●
Note
Blocdeboucleloo
p
cat:Catalogu
e
livre:Livre
premierAuteur(
)
loop(livrein cat
)
auteur
objetssurlesquels
répéterlaboucle
2 6
Le fragment « par
»
17
Chapitre
4
Diagramme
de
Séquence
3.
Fragments
composés
par
 L’opérateur par est utilisé pour représenter des interactions qui se réalisent en
parallèle.
 Un fragments combiné de type parallel, ou par, possède au moins deux sous-fragments
exécutés simultanément. La concurrence est logique et n’est pas nécessairement
physique : les exécutions concurrentes peuvent s’entrelacer sur un même chemin
d’exécution dans la pratique.
OBJ1: OBJ2:
Calcul montant ()
Update (qté)
Montant de la
commande calculé
et mise à jour
Qté commandée
mise à jour
Le fragment « ref
»
18
Chapitre
4
Diagramme
de
Séquence
3.
Fragments
composés
 L’opérateur ref est utilisé pour indiquer une référence vers un autre diagramme de séquence
existant. Il peut être considéré comme un pointeur ou un raccourci vers un autre diagramme de
séquence.
 Son rôle est de factoriser des parties de comportement utilisés dans plusieurs scénarios.
OBJ1: OBJ2:
ref
S’authentifier
Lire (fichier)
Référenceàun autrediagramme
b :Banque c:Compte cl: Client
ref
vérification du solde
prélèvementagiosnotifiéau cli
ent
ref
Référence à un
diagrammedécritailleurs
2 9
Fragments emboités
19
Chapitre
4
Diagramme
de
Séquence
3.
Fragments
composés
Site E-book:
loop Chercher dans catalogue
:client
Résultat de la recherche
opt
opt
Consulter description du livre
Ajouter au panier
S’authentifier
ref
Tant que le client
est sur la page de
consultation du
catalogue
Il peut choisir de
consulter la
description d’un
livre
S’il choisit
d’ajouter le livre
au panier, alors il
doit commencer
par s’authentifier
pour se connecter
à son compte
Exemple 1.2
20
Chapitre
4
Diagramme
de
Séquence
3.
Fragments
composés
:client :Connexion :Clients
:Gestion Auth
1. Saisir login et mdp
4. Lire (login, mdp)
5. Rechercher (login, mdp)
2. Vérifier la saisie
6. Réponse (accès)
10. Message d’accueil
9. « create »
8. « destroy »
:Accueil
alt
3. Message d’ erreur de saisie
loop
[Non
valide]
[accès = refusé]
[ Else]
7. Message d’erreur
Exercice 1 :
Retrait d’argent
Un scénario du cas d'utilisation « retrait d'espèces » contient les
éléments suivants :
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 d’un montant donné ;
4. Le système « guichet » interroge le système central pour
s'assurer que le compte est suffisamment approvisionné
(Assez d’argent)
5. Le système central effectue le débit du compte ;
6. En retour, le système notifie au guichetier qu'il peut délivrer le
montant demandé.
Donner le diagramme de séquences associé à cette description
textuelle
Chapitre
4
Diagramme
de
Séquence
Solution
Chapitre
4
Diagramme
de
Séquence
Exercice 3
Un candidat suit l’état d’une demande de licence et le système
affiche les informations relatives à la licence.
La procédure est la suivante:
1. Le candidat demande à suivre le statut d’une demande de licence.
2. Le système affiche le formulaire de connexion
3. Le candidat saisit les informations de connexion
4. Le candidat soumet les informations de connexion
5. Le système valide le candidat
6. Le système affiche le formulaire de saisie du numéro de suivi
7. Le candidat saisit le numéro de suivi
8. Le candidat soumet le numéro de suivi
9. Le système récupère les informations relatives à la licence
10. Le système affiche les informations relatives à la licence
Exercice 4
On souhaite développer une application permettant au Directeur des Ressources
Humaines (DRH) la gestion des affectations des Freelancers aux différentes missions.
Afin d’ajouter une affectation, le directeur RH doit consulter la liste des missions pour
en choisir une.
Il consulte ensuite la liste des Freelancers et choisit celui qui possède les compétences
nécessaires pour cette mission.
Le système vérifie la disponibilité du Freelancer sélectionné à travers son planning.
S’il est disponible, une mise à jour du planning du Freelancer est effectuée et une
affectation avec la date de début et la date de fin de la mission est créée.
En cas de chevauchement, un message d'erreur est affiché.
Réaliser le diagramme de séquences objets relatif au cas d'utilisation "Ajouter
Affectation".
Exercice 1 :
On souhaite gérer les différents objets qui concourent à l’activité d’un
magasin de vente de fleurs.
· Le client demande au vendeur des renseignements des renseignements sur
les compositions florales
· Le vendeur lui fournit toutes les informations nécessaires
· Le client commande alors la composition de son choix et le vendeur émet le
bon de fabrication qu’il transmet à son ouvrier fleuriste.
· Le vendeur édite ensuite la facture correspondante.
· L’ouvrier fleuriste crée la composition puis archive le bon de fabrication
· Il remet alors la composition au vendeur
· La facture est remise au client pour règlement une fois le bouquet réalisé
· Une fois la facture réglée, le client récupère sa composition et quitte le
magasin.
Modéliser cette situation à l’aide d’un diagramme de séquence
Chapitre
4
Diagramme
de
Séquence
Exercice 5
Une société désire informatiser son système d’information pour la gestion des
réservations de places de parking.
Le système peut être utilisé par les employés auxquels s’adressent les clients pour
toute réservation de places de parking.
Lors de la réservation d’une place de parking, l’employé indique au système le
numéro du client.
Il demande ensuite au système de lui fournir le numéro d’une place disponible. Si le
système trouve une place disponible, il la bloque pour ce client et renvoie son
numéro à l’employé.
S’il n’y a pas de places disponibles, le système affiche un message à l’employé en
indiquant que le parking est complet.
L’employé peut s’il le souhaite imprimer la réservation du client.
Elaborer le diagramme de séquences système « Réserver place de parking »

Contenu connexe

PDF
dokumen.tips_diagramme-de-sequence-uml.pdf
PPSX
diagramme de séquence UML
PPTX
DAGRAMMES UML - ANALYSE D'UN PROJET LOGICIEL
PDF
Diagramme de Séquence
PDF
Atelier UML Diagrammes Séquences (2).pdf
PDF
Chapitre4_ACSI_diag_Seq_diaggrame_de_sequence.pdf
PPTX
02_Chap 2_Diag Séquence(1).pptx pour la conception
PPTX
Chapitre4_ConceptionDynamique (1).pptx
dokumen.tips_diagramme-de-sequence-uml.pdf
diagramme de séquence UML
DAGRAMMES UML - ANALYSE D'UN PROJET LOGICIEL
Diagramme de Séquence
Atelier UML Diagrammes Séquences (2).pdf
Chapitre4_ACSI_diag_Seq_diaggrame_de_sequence.pdf
02_Chap 2_Diag Séquence(1).pptx pour la conception
Chapitre4_ConceptionDynamique (1).pptx

Similaire à SequenceDiagram : A dynamic Diagram (Unified Modeling Language) (20)

PDF
UML Part 3- diagramme de séquences mansouri
PDF
Et3 5 diagsequence
PDF
DiagrammeSequence&DiagrammaEtatTransition&DiagrammeActivité.pdf
PDF
Chapitre N°4 Diagramme de séquence.pdf
PPTX
Phase d'analyse- Modelisation par UML.pptx
PPTX
Diagramme de séquence (Unified Modeling Language)
PPTX
DIAGRAMME DE SEQUENCE.pptx
PDF
Chp4 - Diagramme de Séquence
PPT
Présentation sur le diagramme de séquence.ppt
PPTX
CM uml-diag-dynamiques-interaction
PDF
Tp3 - UML
PDF
Diagramme de séquences.pdf
PDF
Rapport projet conception et la réalisation d'une application web gestion des...
PDF
TD1_CasUtilisation.pdf
PDF
PDF
3-UML_ConceptionEtSuite_Unified process.pdf
PDF
Mémoire PEF application client server gestion des projet collaborative
PPTX
Système_Interactif_Transformation_Digital_Industrielle.pptx
UML Part 3- diagramme de séquences mansouri
Et3 5 diagsequence
DiagrammeSequence&DiagrammaEtatTransition&DiagrammeActivité.pdf
Chapitre N°4 Diagramme de séquence.pdf
Phase d'analyse- Modelisation par UML.pptx
Diagramme de séquence (Unified Modeling Language)
DIAGRAMME DE SEQUENCE.pptx
Chp4 - Diagramme de Séquence
Présentation sur le diagramme de séquence.ppt
CM uml-diag-dynamiques-interaction
Tp3 - UML
Diagramme de séquences.pdf
Rapport projet conception et la réalisation d'une application web gestion des...
TD1_CasUtilisation.pdf
3-UML_ConceptionEtSuite_Unified process.pdf
Mémoire PEF application client server gestion des projet collaborative
Système_Interactif_Transformation_Digital_Industrielle.pptx
Publicité

Plus de MeryemOnzy (7)

PDF
Les Sous-Requetes, les cas d'utilisation en sql
PPTX
Le cloud computing, cloud notions de bases
PPTX
Cloud_Computing Fondamentals Concept de Base
PDF
Unified Modeling Language (Diagram Sequence/ Use Case / Class)
PPTX
Diagramme d'activité (un cas particulier du diagramme d'états)
PPTX
Unified Modeling Langage Course : Different diagrams and Exemples
PPTX
Object Oriented Programming course ,Python
Les Sous-Requetes, les cas d'utilisation en sql
Le cloud computing, cloud notions de bases
Cloud_Computing Fondamentals Concept de Base
Unified Modeling Language (Diagram Sequence/ Use Case / Class)
Diagramme d'activité (un cas particulier du diagramme d'états)
Unified Modeling Langage Course : Different diagrams and Exemples
Object Oriented Programming course ,Python
Publicité

Dernier (11)

PPTX
mon_expose_de_geophysique_disposotif_de_wener.pptx
PDF
Regles sur la gestion de l’Eclairage public
PPT
Icc courant de court circuit explication
PPTX
mon_expose_de_geophysique_dispositif_de_schlumberger.pptx
PPT
Présentation de l’Analyse et Concepti SI
PDF
ENSEIGNEMENT/APPRENTISSAGE ET COMPETENCE
PDF
UX DESIGN presentation canva plan et slides
PDF
Proposition de contenu pouvant résoudre les problèmes détectés à partir des é...
PDF
Arouna Toure - Senior Ingénieur Logiciel Et Chef De Produit
PPTX
Chapitre7-java------------------ Exception.pptx
PDF
famille ................................
mon_expose_de_geophysique_disposotif_de_wener.pptx
Regles sur la gestion de l’Eclairage public
Icc courant de court circuit explication
mon_expose_de_geophysique_dispositif_de_schlumberger.pptx
Présentation de l’Analyse et Concepti SI
ENSEIGNEMENT/APPRENTISSAGE ET COMPETENCE
UX DESIGN presentation canva plan et slides
Proposition de contenu pouvant résoudre les problèmes détectés à partir des é...
Arouna Toure - Senior Ingénieur Logiciel Et Chef De Produit
Chapitre7-java------------------ Exception.pptx
famille ................................

SequenceDiagram : A dynamic Diagram (Unified Modeling Language)

  • 1. Diagramme de Séquence Conception Orientée Objet (UML) – Chapitre 4 Prof : Mme.ONZY
  • 2. Plan 1. Système: boite noire vs boite blanche  Analyse vs Conception 2. Eléments de base  Objets, Ligne de vie, Message  Stéréotypes, MVC 3. Fragments composés  alt, opt, loop, par, ref  Fragments emboités Chapitre 4 Diagramme de Séquence Plan 1
  • 3. Diagramme de Séquence Un diagramme de séquence est un type de diagramme UML d'interaction. Il décrit comment et dans quel ordre plusieurs objets fonctionnent ensemble. Il représente la séquence de messages entre les objets au cours d'une interaction. En bref, Un diagramme de séquence se compose d’un groupe d'objets, représentés par des lignes de vie, et les messages que ces objets échangent lors de l'interaction. 2
  • 4. 1. Système : boite noire vs boite blanche 3 Chapitre 4 Diagramme de Séquence 1. Système: boite noire vs boite blanche Le diagramme de séquence modélise l’aspect dynamique du système. Il s’agit d’une séquence d’interaction d’un point de vue temporel entre le système et les acteurs. Nous avons déjà vu le diagramme de séquence système. Son rôle était de décrire graphiquement un scénario d’un cas d’utilisation. Cas d’Utilisation : est décrit (documenté) par Diagramme de séquence système Diagramme de séquence Le système est une boite noire  On ne s’intéresse pas aux composants du système  Le système est modélisé comme étant une seule entité Le système est une boite blanche  On s’intéresse à chaque composant du système intervenant dans la réalisation du CU  Le système est modélisé comme étant un ensemble d’entités Analyse Conception
  • 5. Niveau de détail 4 Chapitre 4 Diagramme de Séquence 1. Système: boite noire vs boite blanche Système: Message Réponse au message :Acteur Objet1: :Acteur Objet2: Objet3: Message Réponse au message Objets du système (Boite blanche) Boite noire Diagramme de séquence Diagramme de séquence (Niveau Analyse) (Niveau Conception)
  • 6. 2. Eléments de base 5 Chapitre 4 Diagramme de Séquence 2. Eléments de base Système: Message Réponse au message :Acteur Objet : une entité se trouvant aux limites du système  Le diagramme de séquence permet de faire apparaitre:  Les intervenants dans l’interaction (objets du système ou acteurs)  La description de l’interaction (messages)  Les interactions entre les intervenants Objet : une entité appartenant au système Ligne de vie : période de temps pendant laquelle l’objet existe Interaction : message envoyé entre deux objets
  • 7. Objets  Les objets sont identifiés par l’intermédiaire des cas d’utilisation ou par le diagramme de classe.  Les objets sont représentés comme suit : Le Nom de l’objet ou du Rôle est souligné pour indiquer qu’il s’agit d’une instance  Ils représentent :  Soit des acteurs  Soit des concepts abstraits  Soit des objets d’implantation pour les interactions informatique  L’utilisation des stéréotypes est un mécanisme d’extensibilité d’UML. Ils permettent de créer de nouveaux éléments dérivés de ceux existants mais qui sont adaptés à des usages spécialisés dans des domaines particuliers. 6 Chapitre 4 Diagramme de Séquence 2. Eléments de base :Rôle Nom:Classe :Système
  • 8. Objets : Stéréotypes 7 Chapitre 4 Diagramme de Séquence 2. Eléments de base  Dans le cas des applications informatiques, Il existe des stéréotypes d’objets qui permettent de séparer les préoccupations de l’IHM, l’application et les données.  Ces stéréotypes sont issues de l’architecture MVC (Model-View-Controller) Contrôleur Modèle Demande Données Récupérer les informations dans une source de données (e.g. SGBD) : traités par le contrôleur S’occupe de la présentation (affichage des variables) Contrôle l’exécution de l’application « Entity » Vue « Boundary » « Control »
  • 9. Exemple 1.0 8 Chapitre 4 Diagramme de Séquence 2. Eléments de base  Saisie non valide du login et mot de passe au niveau de l’interface graphique de connexion.  Login et mot de passe valides mais introuvables dans la table des clients.  La page de connexion est remplacée par la page d’accueil. :client :Connexion :Clients :Gestion Auth 1. Saisir login et mdp 4. Rechercher (login, mdp) 2.Vérifier la saisie 3. Lire (login, mdp) 5. Réponse (accès) 6. Message d’accueil 7. Charger page d’accueil Séquence nominale d’actions pour réaliser l’authentification dans un site Web  Certaines interactions ne sont pas représentés ou mal représentés :
  • 10. Élémentsdebase Jean :Acteu r objet1 :Classe 1 objet2 :Classe 2 opération1() opération2(args ) retour 2 retour 1 instanced'acteur instanced'uneclasse dudiagrammedeclasses valeurrenvoyée exécution appel d'une opération lignedevie 1 0
  • 11. Ligne de vie  La ligne de vie est représentée par une ligne verticale pointillée en dessous de l’objet.  La dimension verticale représente l’écoulement du temps.  La période d’activité d’un objet est représentée par une bande rectangulaire superposée à la ligne de vie de l’objet. Un objet peut être actif plusieurs fois au cours de son existence.  Lors de la création d’un nouvel objet, un message <<créer>> pointe sur le symbole de l’objet.  Lors de la destruction d’un objet, sa ligne de vie doit se terminer par une croix (X). 9 Chapitre 4 Diagramme de Séquence 2. Eléments de base Écoulement du temps Nom:Classe Ligne de vie Période d’activation de l’objet OBJ1: OBJ2: <<create>> Objet créé dynamiquement OBJ1: OBJ2: <<destroy>> Mort de l’objet
  • 12. Messages  Les messages sont représentés sous forme de flèches.  Ils sont étiquetés par le nom de l’opération ou du signal invoqué.  L’ordre d’envoi d’un message est déterminé par sa position sur la ligne de vie; le temps s’écoule « de haut en bas ». 10 Chapitre 4 Diagramme de Séquence 2. Eléments de base OBJ1: OBJ2: OBJ3: 1. Un message 2. Un autre message OBJ4: 4. Un dernier message 5. <<destroy>> 3. <<create>> Message de création Message de Objet destinataire du message 1 et expéditeur du message 2 Objet expéditeur du message 1 destruction
  • 13. Création et destruction d'objet :PageW eb nouvSession :Sessi on nouvSessio n Session() destroy() appel du constructeur dela classe retourobligatoire del'instancecréé e destruction del'objet (pasnécessairement à lasuited'un message) exécution du constructeur
  • 14. Messages : types  « Destroy » et « Create » sont deux stéréotypes de messages.  Il existe différents types de messages :  Message synchrone Représenté par une flèche pleine ou complète et signifie que l’objet expéditeur envoie le message et reste bloqué tant que le destinataire n’a pas fin de traiter le message reçu.  Message asynchrone Représenté par une flèche vide ou incomplète et signifie que l’objet expéditeur envoie le message et ne reste pas bloqué pendant le traitement du message par le destinataire.  Message réflexif L’objet s’envoie un message à lui-même. L’expéditeur est lui-même le destinataire.  Message de retour Représenté en pointillés. Le récepteur d’un message synchrone rend la main à l’émetteur du message en lui envoyant 11 un message de retour Chapitre 4 Diagramme de Séquence 2. Eléments de base
  • 17. Exemple 1.1 Version améliorée de l’exemple 1.0 12 Chapitre 4 Diagramme de Séquence 2. Eléments de base :client :Connexion :Clients :Gestion Auth 1. Saisir login et mdp 3. Lire (login, mdp) 4. Rechercher (login, mdp) 2. Vérifier la saisie 5. Réponse (accès) 8. Message d’accueil 6. « destroy » 7. « create » :Accueil Message synchrone : l’expéditeur est bloqué jusqu’à ce qu’il obtient une réponse Réponse à un message synchrone Messages asynchrones
  • 18. 3. Fragments composés  Les fragments composés représentent les expressions spécifiques dans la séquence.  Les fragments composés doivent couvrir au moins une ligne de vie à tout moment, afin d'avoir une signification.  Il est représenté par un rectangle dont le coin supérieur gauche contient un pentagone.  Dans le pentagone figure le type du fragment : appelé opérateur d’interaction.  La signification du fragment composé dépend fortement de l'opérateur d'interaction utilisé. 13 Chapitre 4 Diagramme de Séquence 3. Fragments composés Fragment composé Opérandes Opérateur OBJ:
  • 19. Le fragment « alt » 14 Chapitre 4 Diagramme de Séquence 3. Fragments composés  L’opérateur alt désigne un choix ou une alternative: équivalent à SI … ALORS … SINON …  L’utilisation de l’opérateur else permet d’indiquer que la branche est exécutée si la condition du alt est fausse.  Une seule des deux branches sera réalisée dans un scénario donné. OBJ1: alt OBJ2: [else] [solde < 0] condition Condition inversée (solde >=0) Accepter ( ) Refuser ( )
  • 20. Alternative a :Ascenseur p :Portes [demandé= courant]ouvrir() c:Cabine estvérifiée sinon [demandé≠ courant]déplacer(étage) si la condition Principe:Condition àl'envoi d'un mess age Notation : ● Deuxdiagrammes condition
  • 21. Alternative a :Ascenseur p :Portes ouvrir() déplacer(étag e) c:Cabine Principe:Condition àl'envoid'un mess age Notation : ● ● Deuxdiagrammes Blocd'alternativea lt alt [démandé= courant] [demandé ≠ courant] 2 1
  • 22. Les Fragments Composés Les Opérateurs De Choix et de boucle : • D’option « opt » • D’alternative « alt » • De boucle « loop » • D’interruption « break » De l’envoi en parallèle de messages • Opérateur Parallèle « par » Contrôlant l’envoi de messages • D’omission « ignore » • D’affirmation « assert » Chapitre 4 Diagramme de Séquence 3. Fragments composés 14
  • 23. Le fragment « opt » 15 Chapitre 4 Diagramme de Séquence 3. Fragments composés  L’opérateur opt désigne un choix de comportement où:  Soit l’opérande seule s’exécute  Soit rien ne s’exécute  Il est équivalent à SI … ALORS …  il est équivalent à un « alt » sans [else] OBJ1: opt OBJ2: [erreur] condition Afficher commentaire( )
  • 24. Le fragment « loop » 16 Chapitre 4 Diagramme de Séquence 3. Fragments composés  L’opérateur loop est utilisé pour décrire un ensemble d’interaction qui s’exécute en boucle.  La condition spécifiée entre crochets indique la condition pour rester dans la boucle. Si la condition n’est plus satisfaite, alors la boucle est quittée.  On peut spécifier le nombre de répétition exacte ou l’intervalle de répétition de l’exécution de la boucle entre parenthèses. Condition OBJ1: loop OBJ2: Lire (fichier) OBJ1: loop(10) [taille <60] OBJ2: Lire (fichier) OBJ1: Loop (2 , 5) OBJ2: Lire (fichier) La boucle s’exécute min 2 d’exécution fois et max 5 fois
  • 25. Boucle Principe:Répéterunenchaînementdemessa ges Notation : ● Note cat:Catalogu e livre:Livre premierAuteur( ) Pour chaque livredu catalogu e opérationrépétée pour touslesobjets 2 5 mentionnés auteur
  • 27. Le fragment « par » 17 Chapitre 4 Diagramme de Séquence 3. Fragments composés par  L’opérateur par est utilisé pour représenter des interactions qui se réalisent en parallèle.  Un fragments combiné de type parallel, ou par, possède au moins deux sous-fragments exécutés simultanément. La concurrence est logique et n’est pas nécessairement physique : les exécutions concurrentes peuvent s’entrelacer sur un même chemin d’exécution dans la pratique. OBJ1: OBJ2: Calcul montant () Update (qté) Montant de la commande calculé et mise à jour Qté commandée mise à jour
  • 28. Le fragment « ref » 18 Chapitre 4 Diagramme de Séquence 3. Fragments composés  L’opérateur ref est utilisé pour indiquer une référence vers un autre diagramme de séquence existant. Il peut être considéré comme un pointeur ou un raccourci vers un autre diagramme de séquence.  Son rôle est de factoriser des parties de comportement utilisés dans plusieurs scénarios. OBJ1: OBJ2: ref S’authentifier Lire (fichier)
  • 29. Référenceàun autrediagramme b :Banque c:Compte cl: Client ref vérification du solde prélèvementagiosnotifiéau cli ent ref Référence à un diagrammedécritailleurs 2 9
  • 30. Fragments emboités 19 Chapitre 4 Diagramme de Séquence 3. Fragments composés Site E-book: loop Chercher dans catalogue :client Résultat de la recherche opt opt Consulter description du livre Ajouter au panier S’authentifier ref Tant que le client est sur la page de consultation du catalogue Il peut choisir de consulter la description d’un livre S’il choisit d’ajouter le livre au panier, alors il doit commencer par s’authentifier pour se connecter à son compte
  • 31. Exemple 1.2 20 Chapitre 4 Diagramme de Séquence 3. Fragments composés :client :Connexion :Clients :Gestion Auth 1. Saisir login et mdp 4. Lire (login, mdp) 5. Rechercher (login, mdp) 2. Vérifier la saisie 6. Réponse (accès) 10. Message d’accueil 9. « create » 8. « destroy » :Accueil alt 3. Message d’ erreur de saisie loop [Non valide] [accès = refusé] [ Else] 7. Message d’erreur
  • 32. Exercice 1 : Retrait d’argent Un scénario du cas d'utilisation « retrait d'espèces » contient les éléments suivants : 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 d’un montant donné ; 4. Le système « guichet » interroge le système central pour s'assurer que le compte est suffisamment approvisionné (Assez d’argent) 5. Le système central effectue le débit du compte ; 6. En retour, le système notifie au guichetier qu'il peut délivrer le montant demandé. Donner le diagramme de séquences associé à cette description textuelle Chapitre 4 Diagramme de Séquence
  • 34. Exercice 3 Un candidat suit l’état d’une demande de licence et le système affiche les informations relatives à la licence. La procédure est la suivante: 1. Le candidat demande à suivre le statut d’une demande de licence. 2. Le système affiche le formulaire de connexion 3. Le candidat saisit les informations de connexion 4. Le candidat soumet les informations de connexion 5. Le système valide le candidat 6. Le système affiche le formulaire de saisie du numéro de suivi 7. Le candidat saisit le numéro de suivi 8. Le candidat soumet le numéro de suivi 9. Le système récupère les informations relatives à la licence 10. Le système affiche les informations relatives à la licence
  • 35. Exercice 4 On souhaite développer une application permettant au Directeur des Ressources Humaines (DRH) la gestion des affectations des Freelancers aux différentes missions. Afin d’ajouter une affectation, le directeur RH doit consulter la liste des missions pour en choisir une. Il consulte ensuite la liste des Freelancers et choisit celui qui possède les compétences nécessaires pour cette mission. Le système vérifie la disponibilité du Freelancer sélectionné à travers son planning. S’il est disponible, une mise à jour du planning du Freelancer est effectuée et une affectation avec la date de début et la date de fin de la mission est créée. En cas de chevauchement, un message d'erreur est affiché. Réaliser le diagramme de séquences objets relatif au cas d'utilisation "Ajouter Affectation".
  • 36. Exercice 1 : On souhaite gérer les différents objets qui concourent à l’activité d’un magasin de vente de fleurs. · Le client demande au vendeur des renseignements des renseignements sur les compositions florales · Le vendeur lui fournit toutes les informations nécessaires · Le client commande alors la composition de son choix et le vendeur émet le bon de fabrication qu’il transmet à son ouvrier fleuriste. · Le vendeur édite ensuite la facture correspondante. · L’ouvrier fleuriste crée la composition puis archive le bon de fabrication · Il remet alors la composition au vendeur · La facture est remise au client pour règlement une fois le bouquet réalisé · Une fois la facture réglée, le client récupère sa composition et quitte le magasin. Modéliser cette situation à l’aide d’un diagramme de séquence Chapitre 4 Diagramme de Séquence
  • 37. Exercice 5 Une société désire informatiser son système d’information pour la gestion des réservations de places de parking. Le système peut être utilisé par les employés auxquels s’adressent les clients pour toute réservation de places de parking. Lors de la réservation d’une place de parking, l’employé indique au système le numéro du client. Il demande ensuite au système de lui fournir le numéro d’une place disponible. Si le système trouve une place disponible, il la bloque pour ce client et renvoie son numéro à l’employé. S’il n’y a pas de places disponibles, le système affiche un message à l’employé en indiquant que le parking est complet. L’employé peut s’il le souhaite imprimer la réservation du client. Elaborer le diagramme de séquences système « Réserver place de parking »