diagramme de séquence UML
-
Upload
amir-souissi -
Category
Education
-
view
1.142 -
download
13
Transcript of diagramme de séquence UML
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
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
Ch
apitre 4
Diagram
me
de Séq
uen
ceP
lan
Mr Amir Souissi© 2017
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 lesystème et les acteurs.
Nous avons déjà vu le diagramme de séquence système. Son rôle était de décriregraphiquement un scénario d’un cas d’utilisation.
3
Ch
apitre
4D
iagramm
e d
e Séqu
ence
1. Systèm
e: b
oite n
oire
vs bo
ite blan
che
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éalisationdu CU
Le système est modélisé comme étantun ensemble d’entités
Analyse Conception
Mr Amir Souissi© 2017
Niveau de détail
4
Ch
apitre
4D
iagramm
e d
e Séqu
ence
1. Systèm
e: b
oite n
oire
vs bo
ite blan
cheSystème:
Message
Réponse au message
:ActeurObjet1:
:ActeurObjet2: 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
Ch
apitre
4D
iagramm
e d
e Séqu
ence
2. Elém
ents d
e base
Système:
Message
Réponse au message
:ActeurObjet : 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 : messageenvoyé entre deux
objets
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 decréer de nouveaux éléments dérivés de ceux existants mais qui sont adaptés à des usagesspécialisés dans des domaines particuliers.
6
Ch
apitre
4D
iagramm
e d
e Séqu
ence
2. Elé
men
ts de b
ase
:RôleNom:Classe:Système
Mr Amir Souissi© 2017
Objets : Stéréotypes
7
Ch
apitre
4D
iagramm
e d
e Séqu
ence
2. Elé
men
ts de b
ase
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ôleurModè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
Ch
apitre
4D
iagramm
e d
e Séqu
ence
2. Elé
men
ts de b
ase
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érifierla 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
Ch
apitre
4D
iagramm
e d
e Séqu
ence
2. Elé
men
ts de b
ase
Écou
lemen
t du
temp
s
Nom:ClasseLigne de vie
Période d’activationde l’objet
OBJ1:
OBJ2:<<create>>
Objet créé dynamiquement
OBJ1: OBJ2:
<<destroy>>Mort de l’objet
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
Ch
apitre
4D
iagramm
e d
e Séqu
ence
2. Elé
men
ts de b
ase
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 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
Ch
apitre
4D
iagramm
e d
e Séqu
ence
2. Elé
men
ts de b
ase
Mr Amir Souissi© 2017
Exemple 1.1
Version améliorée de l’exemple 1.0
12
Ch
apitre
4D
iagramm
e d
e Séqu
ence
2. Elé
men
ts de b
ase
: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 »
:AccueilMessage synchrone :
l’expéditeur est bloqué jusqu’à ce qu’il obtient une
réponseRé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 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
Ch
apitre
4D
iagramm
e d
e Séqu
ence
3. Fragm
ents co
mp
osé
s
Fragment composé
Opérandes
OpérateurOBJ:
Mr Amir Souissi© 2017
Le fragment « alt »
14
Ch
apitre
4D
iagramm
e d
e Séqu
ence
3. Fragm
ents co
mp
osé
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 ( )
Mr Amir Souissi© 2017
Le fragment « opt »
15
Ch
apitre
4D
iagramm
e d
e Séqu
ence
3. Fragm
ents co
mp
osé
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( )
Mr Amir Souissi© 2017
Le fragment « loop »
16
Ch
apitre
4D
iagramm
e d
e Séqu
ence
3. Fragm
ents co
mp
osé
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
Mr Amir Souissi© 2017
Le fragment « par »
17
Ch
apitre
4D
iagramm
e d
e Séqu
ence
3. Fragm
ents co
mp
osé
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-fragmentsexécutés simultanément. La concurrence est logique et n’est pas nécessairementphysique : les exécutions concurrentes peuvent s’entrelacer sur un même chemind’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
Mr Amir Souissi© 2017
Le fragment « ref »
18
Ch
apitre
4D
iagramm
e d
e Séqu
ence
3. Fragm
ents co
mp
osé
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’authentifierref
Lire (fichier)
Mr Amir Souissi© 2017
Fragments emboités
19
Ch
apitre
4D
iagramm
e d
e Séqu
ence
3. Fragm
ents co
mp
osé
s
Site E-book:
loop Chercher dans catalogue
:client
Résultat de la recherche
opt
opt
Consulter description du livre
Ajouter au panier
S’authentifierref
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
Ch
apitre
4D
iagramm
e d
e Séqu
ence
3. Fragm
ents co
mp
osé
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