Contenu connexe
Similaire à dokumen.tips_diagramme-de-sequence-uml.pdf
Similaire à dokumen.tips_diagramme-de-sequence-uml.pdf (20)
dokumen.tips_diagramme-de-sequence-uml.pdf
- 1. Diagramme de
Séquence
Conception Orientée Objet (UML) – Chapitre 4
Amir Souissi
©2017
1
Institut Supérieur des Etudes Technologiques (ISET-Tunisie)
Niveau: 2ème année Licence Appliquée
Spécialité : DSI, RSI
- 2. 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
- 3. Mr Amir
Souissi
© 2017
1. Système: boite noirevs boiteblanche
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.
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
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. 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
- 6. Mr Amir
Souissi
© 2017
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
- 7. 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 »
- 8. Mr Amir
Souissi
© 2017
Exemple1.0
8
Chapitre
4
Diagramme
de
Séquence
2.
Eléments
de
base
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 :
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
- 9. Mr Amir
Souissi
© 2017
Lignede 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
- 10. Mr Amir
Souissi
© 2017
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
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
- 11. 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 de retour
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
- 12. Mr Amir
Souissi
© 2017
Exemple1.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
- 13. 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 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:
- 14. Mr Amir
Souissi
© 2017
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 ( )
- 15. Mr Amir
Souissi
© 2017
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( )
- 16. Mr Amir
Souissi
© 2017
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
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
- 17. Mr Amir
Souissi
© 2017
Le fragment « par»
17
Chapitre
4
Diagramme
de
Séquence
3.
Fragments
composés
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:
par
OBJ2:
Calcul montant ()
Update (qté)
Montant de la
commande calculé
et mise à jour
Qté commandée
mise à jour
- 18. Mr Amir
Souissi
© 2017
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:
S’authentifier
ref
Lire (fichier)
- 19. 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