diagramme de séquence UML

AmirSouissi1 27,110 views 20 slides May 02, 2017
Slide 1
Slide 1 of 20
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20

About This Presentation

uml langage de modélisation
diagramme de séquence
interaction message objet synchrone asynchrone réflexif
fragments combinés loop opt alt


Slide Content

Diagramme de
Séquence
Conception Orientée Objet (UML) –Chapitre4
Amir Souissi
©2017
1
Institut Supérieur des Etudes Technologiques (ISET-Tunisie)
Niveau: 2
ème
année Licence Appliquée
Spécialité: DSI, RSI

Mr Amir
Souissi
© 2017
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
2
Chapitre 4
Diagramme de Séquence
Plan

Mr Amir
Souissi
© 2017
1. Système : boite noire vs boite blanche
Lediagrammedeséquencemodélisel’aspectdynamiquedusystème.
Ils’agitd’uneséquenced’interactiond’unpointdevuetemporelentrele
systèmeetlesacteurs.
Nousavonsdéjàvulediagrammedeséquencesystème.Sonrôleétaitdedécrire
graphiquementunscénariod’uncasd’utilisation.
3
Chapitre
4
Diagramme de Séquence
1. Système: boite noire
vs boite blanche
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
Onnes’intéressepasauxcomposants
dusystème
Lesystèmeestmodélisécommeétant
uneseuleentité
Le système est une boite blanche
Ons’intéresseàchaquecomposantdu
systèmeintervenantdanslaréalisation
duCU
Lesystèmeestmodélisécommeétant
unensembled’entités
Analyse Conception

Mr Amir
Souissi
© 2017
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
(Niveau Analyse)
Diagramme de
séquence
(Niveau Conception)

Mr Amir
Souissi
© 2017
2. Eléments de base
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
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
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

Mr Amir
Souissi
© 2017
Objets
Les objetssont 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’utilisationdesstéréotypesestunmécanismed’extensibilitéd’UML.Ilspermettentde
créerdenouveauxélémentsdérivésdeceuxexistantsmaisquisontadaptésàdesusages
spécialisésdansdesdomainesparticuliers.
6
Chapitre
4
Diagramme de Séquence
2. Eléments de base
:Rôle
Nom:Classe
:Système

Mr Amir
Souissi
© 2017
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
Vue
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»«Boundary» «Control»

Mr Amir
Souissi
© 2017
Exemple 1.0
8
Chapitre
4
Diagramme de Séquence
2. Eléments de base
Séquence nominale d’actions pour réaliser l’authentificationdans un site Web
Certaines interactions ne sont pas représentés ou mal représentés :
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
3. Lire (login, mdp)
4. Rechercher (login, mdp)
2. Vérifier
la saisie
5. Réponse (accès)
6. Message d’accueil
7. Charger page d’accueil

Mr Amir
Souissi
© 2017
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

Mr Amir
Souissi
© 2017
Messages
Les messagessont représentés sous forme de flèches.
Ils sont étiquetéspar 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
4. Un dernier message
OBJ4:
5. <<destroy>>
3. <<create>>
Message de
création
Message de
destruction
Objet destinataire du
message 1 et expéditeur
du message 2
Objet
expéditeur du
message 1

Mr Amir
Souissi
© 2017
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 deretour
Représenté en pointillés.
Le récepteur d’un message synchrone rend la main à l’émetteur du message en lui envoyant
un message de retour
11
Chapitre
4
Diagramme de Séquence
2. Eléments de base

Mr Amir
Souissi
© 2017
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
7. «create»
6. «destroy»
:Accueil
Message synchrone :
l’expéditeur est
bloqué jusqu’à ce
qu’il obtient une
réponse
Réponse à un
message synchrone
Messages
asynchrones

Mr Amir
Souissi
© 2017
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 rectangledont 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:

Mr Amir
Souissi
© 2017
Le fragment «alt»
14
Chapitre
4
Diagramme de Séquence
3. Fragments composés
L’opérateur altdésigne un choixou une alternative: équivalent à SI … ALORS … SINON …
L’utilisation de l’opérateur elsepermet d’indiquer que la branche est exécutée si la condition du
altest 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 ( )

Mr Amir
Souissi
© 2017
Le fragment «opt»
15
Chapitre
4
Diagramme de Séquence
3. Fragments composés
L’opérateur optdésigne un choixde 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( )

Mr Amir
Souissi
© 2017
Le fragment «loop»
16
Chapitre
4
Diagramme de Séquence
3. Fragments composés
L’opérateur loopest 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
d’exécution
OBJ1:
loop
OBJ2:
Lire (fichier)
[taille <60]
OBJ1:
loop(10)
OBJ2:
Lire (fichier)
OBJ1:
Loop
(2 , 5)
OBJ2:
Lire (fichier)
La boucle s’exécute min 2
fois et max 5 fois

Mr Amir
Souissi
© 2017
Le fragment «par»
17
Chapitre
4
Diagramme de Séquence
3. Fragments composés
L’opérateur parest utilisé pour représenter des interactions qui se réalisent en
parallèle.
Unfragmentscombinédetypeparallel,oupar,possèdeaumoinsdeuxsous-fragments
exécutéssimultanément.Laconcurrenceestlogiqueetn’estpasnécessairement
physique:lesexécutionsconcurrentespeuvents’entrelacersurunmêmechemin
d’exécutiondanslapratique.
OBJ1:
par
OBJ2:
Calcul montant ()
Update (qté)
Montant de la
commande calculé
et mise à jour
Qtécommandée
mise à jour

Mr Amir
Souissi
© 2017
Le fragment «ref»
18
Chapitre
4
Diagramme de Séquence
3. Fragments composés
L’opérateur refest 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 factoriserdes parties de comportement utilisés dans plusieurs scénarios.
OBJ1: OBJ2:
S’authentifier
ref
Lire (fichier)

Mr Amir
Souissi
© 2017
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

Mr Amir
Souissi
© 2017
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
loop
3. Message d’ erreur de saisie
[Non
valide]
[accès = refusé]
[ Else]
7. Message d’erreur