Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
UML
Cours 5
Diagrammes de séquence
Delphine Longuet
delphine.longuet@lri.fr
http://www.lri.fr/~longuet/Enseignements/16-17/Et3-UML
Diagrammes de séquence (conception)
Objectif : Représenter les communications avec et au sein du logiciel
●
Représentation temporelle des interactions entre les objets
●
Chronologie des messages échangés entre les objets et avec les
acteurs
D. Longuet - UML 3
Utilisation en phase de conception
Classe2
Utiliser
Acteur Système Classe1 Classe3
D. Longuet - UML 4
Utilisation en phase de conception
Classe2
Utiliser
Acteur Système Classe1 Classe3
interface Classe2
Acteur
Classe1 Classe3
D. Longuet - UML 5
Utilisation en phase de conception
Classe2
Utiliser
Acteur Système Classe1 Classe3
Interface Contrôle
Acteur
Écran Classe1 Classe3
Utiliser
Acteur Système Classe1 Classe3
saisir()
opération(args) Classe2()
obj2 : Classe2
obj2
retour
affichage
affichage
saisir()
détruire()
affichage
affichage
opération1()
appel d'une opération2(args)
opération
retour2
valeur renvoyée
D. Longuet - UML 8
Types de messages
Message synchrone : Émetteur bloqué en attente du retour
: GAB : Banque
exécution flèche pleine
vérifierSolde(compte)
bloquée
soldeOK
: Ascenseur : Voyant
flèche ouverte
allumer()
processus évoluant
pas nécessairement
en parallèle
de retour
D. Longuet - UML 9
Création et destruction d'objet
appel du constructeur
: PageWeb de la classe
Session()
nouvSession : Session
retour obligatoire
de l'instance créée exécution du
nouvSession
constructeur
destroy()
destruction de l'objet
(pas nécessairement
à la suite d'un message)
D. Longuet - UML 10
Message réflexif
trier()
listeLivresAuteurTriée
D. Longuet - UML 11
Alternative
Principe : Condition à l'envoi d'un message
Notation :
●
Deux diagrammes
condition
D. Longuet - UML 12
Alternative
Principe : Condition à l'envoi d'un message
Notation :
●
Deux diagrammes
●
Bloc d'alternative alt
alt ouvrir()
[démandé =
courant]
déplacer(étage)
[demandé ≠
courant]
D. Longuet - UML 13
Boucle
Principe : Répéter un enchaînement de messages
Notation :
●
Note
D. Longuet - UML 14
Boucle
Principe : Répéter un enchaînement de messages
Notation :
●
Note
●
Bloc de boucle loop
auteur
D. Longuet - UML 15
Référence à un autre diagramme
ref
vérification du solde
ref
prélèvement agios notifié au client
référence à un
diagramme décrit ailleurs
D. Longuet - UML 16
Exemple - Analyse
Client Compte
nom : string 1 1..* numéro : int
Effectuer un naissance : Date devise : Devise
virement personnel solde : float
Employé
1 1
Employé SGB
effectuerVirementP(id,noC1,noC2,mnt)
Cas d'utilisation
Effectuer un
virement personnel
(niveau analyse)
true
D. Longuet - UML 17
Exemple - Conception
Client Compte
nom : string 1 1..* numéro : int
Effectuer un naissance : Date devise : Devise
virement personnel solde : float
Employé
1 1
: Employé : SGB
Réalisation du effectuerVirementP(id,noC1,noC2,mnt)
D. Longuet - UML 18
Exemple - Conception
: Employé : SGB
effectuerVirementP(id,noC1,noC2,mnt)
chercherClient(id)
client
client : Client
compte(noC1)
c1
compte(noC2)
c2
Virement(c1,c2,mnt)
virement : Virement
virement
effectuer() c1 : Compte
retirer(mnt)
true
c2 : Compte
déposer(mnt)
true true
true
D. Longuet - UML 19
Exemple - Conception
Diagramme de classes complété avec les classes techniques et les
opérations nécessaires
Client Compte
nom : string 1 1..*
numéro : int
naissance : Date devise : Devise
compte(no : int) : Compte solde : float
* * déposer(mnt : float) : bool
retirer(mnt : float) : bool
1 1
1 1 0..* 0..*
SGB Virement
montant : float
effectuerVirementP() : bool
date : Date
chercherClient(id : int) : Client
effectuer() : bool
D. Longuet - UML 20
Quelques règles
Messages entre acteurs et interface
●
« Fausses » opérations liées au cas d'utilisation (même nom)
●
Arguments (saisis) et valeurs de retour (affichées) simples :
texte, nombre
D. Longuet - UML 21