SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
UML
Cours 5
Diagrammes de séquence
Polytech Paris-Sud
Formation initiale 3e
année
Spécialité Informatique
Année 2016-2017
Delphine Longuet
delphine.longuet@lri.fr
http://www.lri.fr/~longuet/Enseignements/16-17/Et3-UML
D. Longuet - UML 2
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
En conception : Décrire la réalisation des cas d'utilisation sur le système
décrit par le diagramme de classes
●
Point de vue interne sur le fonctionnement du système
●
Description au niveau de l'instance (état du système à un instant)
●
Description de scénarios particuliers
●
Représentation des échanges de messages
●
Entre les acteurs et le système, entre les objets du système
●
De façon chronologique
D. Longuet - UML 3
Diagrammes de séquence (conception)
Éléments du diagramme de séquence
●
Acteurs
●
Objets (instances)
●
Messages (cas d'utilisation, appels d’opération)
Principes de base : Représentation graphique de la chronologie des
échanges de messages avec le système ou au sein du système
●
« Vie » de chaque entité représentée verticalement
●
Échanges de messages représentés horizontalement
D. Longuet - UML 4
Utilisation en phase de conception
Acteur
Utiliser
Diagramme de cas d'utilisation Diagramme de classes du système
Système
Objectif : Description de la réalisation d'un cas d'utilisation sur le
système décrit par le diagramme de classes
Problème : Communication entre les acteurs et le système vu comme
un ensemble d'objets
Classe1 Classe3
Classe2
D. Longuet - UML 5
Utilisation en phase de conception
Acteur
Utiliser
Diagramme de cas d'utilisation Diagramme de classes du système
Système
Communication entre acteurs et système via une interface (texte, web,
physique...)
interface
Classe1 Classe3
Classe2
Acteur
Classe1 Classe3
Classe2
D. Longuet - UML 6
Utilisation en phase de conception
Acteur
Utiliser
Classe1 Classe3
Diagramme de cas d'utilisation Diagramme de classes du système
Système
Acteur
Interface
Communication entre acteurs et système via une interface (texte, web,
physique...)
Solution : Création de classes de contrôle et de classes d'interface qui :
●
gèrent les interactions avec les acteurs
●
encapsulent le résultat des opérations
Classe2
Classe1 Classe3
Classe2
Contrôle
Écran
Clavier
classe de contrôle
classes
d'interface
D. Longuet - UML 7
Diagramme de séquence du cas d'utilisation Utiliser
Utilisation en phase de conception
: Acteur : Interface obj1 : Classe1
obj2 : Classe2
saisir()
opération(args) Classe2()
obj2
retour
détruire()
Acteur
Utiliser
Diagramme de cas d'utilisation Diagramme de classes
Système
affichage
: Contrôle
Classe1 Classe3
Classe2
: Clavier : Écran
saisir()
affichage
affichage
affichage
D. Longuet - UML 8
Éléments de base
Jean : Acteur objet1 : Classe1 objet2 : Classe2
opération1()
opération2(args)
retour2
retour1
instance d'acteur
instance d'une classe
du diagramme de classes
valeur renvoyée
exécution
appel d'une
opération
ligne de vie
D. Longuet - UML 9
Types de messages
Message synchrone : Émetteur bloqué en attente du retour
Message asynchrone : Émetteur non bloqué, continue son exécution
vérifierSolde(compte)
soldeOK
exécution
bloquée
allumer()
processus évoluant
en parallèle
flèche pleine
flèche ouverte
pas nécessairement
de retour
: GAB : Banque
: Ascenseur : Voyant
D. Longuet - UML 10
Création et destruction d'objet
: PageWeb
nouvSession : Session
nouvSession
Session()
destroy()
appel du constructeur
de la classe
retour obligatoire
de l'instance créée
destruction de l'objet
(pas nécessairement
à la suite d'un message)
exécution du
constructeur
D. Longuet - UML 11
Message réflexif
: Catalogue livres : Ensemble
chercher(auteur)
listeLivresAuteurTriée
trier()
appel d'une
opération interne
D. Longuet - UML 12
Alternative
a : Ascenseur p : Portes
[demandé = courant] ouvrir()
[demandé ≠ courant] déplacer(étage)
c : Cabine
si la condition
est vérifiée
sinon
Principe : Condition à l'envoi d'un message
Notation :
●
Deux diagrammes
condition
D. Longuet - UML 13
Alternative
a : Ascenseur p : Portes
ouvrir()
déplacer(étage)
c : Cabine
Principe : Condition à l'envoi d'un message
Notation :
●
Deux diagrammes
●
Bloc d'alternative alt
alt
[démandé =
courant]
[demandé ≠
courant]
D. Longuet - UML 14
Boucle
Principe : Répéter un enchaînement de messages
Notation :
●
Note
cat : Catalogue livre : Livre
premierAuteur()
Pour chaque
livre du catalogue opération répétée
pour tous les objets
mentionnés
auteur
D. Longuet - UML 15
Boucle
Principe : Répéter un enchaînement de messages
Notation :
●
Note
●
Bloc de boucle loop
cat : Catalogue livre : Livre
premierAuteur()
loop(livre in cat)
objets sur lesquels
répéter la boucle
auteur
D. Longuet - UML 16
Référence à un autre diagramme
b : Banque c : Compte cl : Client
vérification du solde
ref
prélèvement agios notifié au client
ref
référence à un
diagramme décrit ailleurs
D. Longuet - UML 17
Exemple - Analyse
Client
nom : string
naissance : Date
Compte
numéro : int
devise : Devise
solde : float
Virement
montant : float
date : Date
1..*
1
1 1
0..* 0..*
Effectuer un
virement personnel
Système de gestion bancaire
Employé
Employé SGB
effectuerVirementP(id,noC1,noC2,mnt)
true
Cas d'utilisation
Effectuer un
virement personnel
(niveau analyse)
D. Longuet - UML 18
Exemple - Conception
Effectuer un
virement personnel
Système de gestion bancaire
Employé
: Employé : SGB
effectuerVirementP(id,noC1,noC2,mnt)
true
chercher client
ref
créer virement
ref
c : Client
chercher comptes
ref
v : Virement
effectuer virement
ref
Client
nom : string
naissance : Date
Compte
numéro : int
devise : Devise
solde : float
Virement
montant : float
date : Date
1..*
1
1 1
0..* 0..*
Réalisation du
cas d'utilisation
Effectuer un
virement personnel
(niveau conception)
D. Longuet - UML 19
Exemple - Conception
: Employé : SGB
effectuerVirementP(id,noC1,noC2,mnt)
true
chercherClient(id)
client
client : Client
compte(noC1)
c1
compte(noC2)
c2
Virement(c1,c2,mnt)
virement
virement : Virement
effectuer()
true
c1 : Compte
retirer(mnt)
true
c2 : Compte
déposer(mnt)
true
D. Longuet - UML 20
Exemple - Conception
Client
nom : string
naissance : Date
Compte
numéro : int
devise : Devise
solde : float
déposer(mnt : float) : bool
retirer(mnt : float) : bool
Virement
montant : float
date : Date
effectuer() : bool
1..*
1
0..* 0..*
compte(no : int) : Compte
Diagramme de classes complété avec les classes techniques et les
opérations nécessaires
1 1
SGB
effectuerVirementP() : bool
chercherClient(id : int) : Client
*
1 1
*
D. Longuet - UML 21
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
Messages au sein du système
●
Opérations du diagramme de classes
●
Si message de objA : ClasseA vers objB : ClasseB, alors
opération du message dans ClasseB

Contenu connexe

Tendances

C1 - Langage C - ISIMA - Première partie
C1 - Langage C - ISIMA - Première partieC1 - Langage C - ISIMA - Première partie
C1 - Langage C - ISIMA - Première partieLoic Yon
 
C# et .NET : Enigmes et puzzles
C# et .NET : Enigmes  et puzzlesC# et .NET : Enigmes  et puzzles
C# et .NET : Enigmes et puzzlesMicrosoft
 
Vbisigk
VbisigkVbisigk
VbisigkISIG
 
Développement de plug in sous eclipse
Développement de plug in sous eclipseDéveloppement de plug in sous eclipse
Développement de plug in sous eclipseISIG
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objetsAziz Darouichi
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielleECAM Brussels Engineering School
 
Cours langage c
Cours langage cCours langage c
Cours langage ccoursuniv
 
Corrigés exercices langage C
Corrigés exercices langage CCorrigés exercices langage C
Corrigés exercices langage Ccoursuniv
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfacesAziz Darouichi
 
Cours de C++ / Tronc commun deuxième année ISIMA
Cours de C++ / Tronc commun deuxième année ISIMACours de C++ / Tronc commun deuxième année ISIMA
Cours de C++ / Tronc commun deuxième année ISIMALoic Yon
 
Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019Aziz Darouichi
 
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018Loic Yon
 
C++ Metaprogramming : multidimensional typelist
C++ Metaprogramming : multidimensional typelistC++ Metaprogramming : multidimensional typelist
C++ Metaprogramming : multidimensional typelistVincent Agnus
 
Les fondamentaux du langage C
Les fondamentaux du langage CLes fondamentaux du langage C
Les fondamentaux du langage CAbdoulaye Dieng
 

Tendances (20)

Composition, agrégation et immuabilité
Composition, agrégation et immuabilitéComposition, agrégation et immuabilité
Composition, agrégation et immuabilité
 
C1 - Langage C - ISIMA - Première partie
C1 - Langage C - ISIMA - Première partieC1 - Langage C - ISIMA - Première partie
C1 - Langage C - ISIMA - Première partie
 
C# et .NET : Enigmes et puzzles
C# et .NET : Enigmes  et puzzlesC# et .NET : Enigmes  et puzzles
C# et .NET : Enigmes et puzzles
 
Vbisigk
VbisigkVbisigk
Vbisigk
 
Développement de plug in sous eclipse
Développement de plug in sous eclipseDéveloppement de plug in sous eclipse
Développement de plug in sous eclipse
 
De Java à .NET
De Java à .NETDe Java à .NET
De Java à .NET
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objets
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielle
 
Cours langage c
Cours langage cCours langage c
Cours langage c
 
Corrigés exercices langage C
Corrigés exercices langage CCorrigés exercices langage C
Corrigés exercices langage C
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfaces
 
Csharp2014
Csharp2014Csharp2014
Csharp2014
 
Cours de C++ / Tronc commun deuxième année ISIMA
Cours de C++ / Tronc commun deuxième année ISIMACours de C++ / Tronc commun deuxième année ISIMA
Cours de C++ / Tronc commun deuxième année ISIMA
 
Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019
 
Python avancé : Classe et objet
Python avancé : Classe et objetPython avancé : Classe et objet
Python avancé : Classe et objet
 
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
 
Chap2fonctionscpp
Chap2fonctionscppChap2fonctionscpp
Chap2fonctionscpp
 
C++ Metaprogramming : multidimensional typelist
C++ Metaprogramming : multidimensional typelistC++ Metaprogramming : multidimensional typelist
C++ Metaprogramming : multidimensional typelist
 
Les fondamentaux du langage C
Les fondamentaux du langage CLes fondamentaux du langage C
Les fondamentaux du langage C
 
Polymorphisme, interface et classe abstraite
Polymorphisme, interface et classe abstraitePolymorphisme, interface et classe abstraite
Polymorphisme, interface et classe abstraite
 

Similaire à Et3 5 diagsequence

Unified Modeling Language for analyse system
Unified Modeling Language for analyse systemUnified Modeling Language for analyse system
Unified Modeling Language for analyse systemHichamAtatri1
 
agileapplicationrequirementmythorreality
agileapplicationrequirementmythorrealityagileapplicationrequirementmythorreality
agileapplicationrequirementmythorrealityTen Systems
 
UML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouriUML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouriMansouri Khalifa
 
Uml: Diagrammes de classes -- Concepts De Base 41
Uml: Diagrammes de classes -- Concepts De Base 41Uml: Diagrammes de classes -- Concepts De Base 41
Uml: Diagrammes de classes -- Concepts De Base 41megaplanet20
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage PythonAziz Darouichi
 
FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptxLamissGhoul1
 
U M L Analyse Et Conception Objet
U M L Analyse Et Conception ObjetU M L Analyse Et Conception Objet
U M L Analyse Et Conception ObjetAmine Chkr
 
Chapitre4_ConceptionDynamique (1).pptx
Chapitre4_ConceptionDynamique (1).pptxChapitre4_ConceptionDynamique (1).pptx
Chapitre4_ConceptionDynamique (1).pptxfatmaezzahranouioui
 
Chapitre4_ACSI_diag_Seq_diaggrame_de_sequence.pdf
Chapitre4_ACSI_diag_Seq_diaggrame_de_sequence.pdfChapitre4_ACSI_diag_Seq_diaggrame_de_sequence.pdf
Chapitre4_ACSI_diag_Seq_diaggrame_de_sequence.pdfRimaAlaya
 
Formation python
Formation pythonFormation python
Formation pythonj_lipaz
 
Les bases de la programmation en JAVA
Les bases de la programmation  en JAVA   Les bases de la programmation  en JAVA
Les bases de la programmation en JAVA Asmaa BENGUEDDACH
 

Similaire à Et3 5 diagsequence (20)

Unified Modeling Language for analyse system
Unified Modeling Language for analyse systemUnified Modeling Language for analyse system
Unified Modeling Language for analyse system
 
agileapplicationrequirementmythorreality
agileapplicationrequirementmythorrealityagileapplicationrequirementmythorreality
agileapplicationrequirementmythorreality
 
Initiation r
Initiation rInitiation r
Initiation r
 
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interactionCM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
 
UML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouriUML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouri
 
Uml: Diagrammes de classes -- Concepts De Base 41
Uml: Diagrammes de classes -- Concepts De Base 41Uml: Diagrammes de classes -- Concepts De Base 41
Uml: Diagrammes de classes -- Concepts De Base 41
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
 
FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptx
 
U M L Analyse Et Conception Objet
U M L Analyse Et Conception ObjetU M L Analyse Et Conception Objet
U M L Analyse Et Conception Objet
 
Uml
UmlUml
Uml
 
Chapitre4_ConceptionDynamique (1).pptx
Chapitre4_ConceptionDynamique (1).pptxChapitre4_ConceptionDynamique (1).pptx
Chapitre4_ConceptionDynamique (1).pptx
 
Chapitre4_ACSI_diag_Seq_diaggrame_de_sequence.pdf
Chapitre4_ACSI_diag_Seq_diaggrame_de_sequence.pdfChapitre4_ACSI_diag_Seq_diaggrame_de_sequence.pdf
Chapitre4_ACSI_diag_Seq_diaggrame_de_sequence.pdf
 
Chap1_Entrees_Sorties.pptx
Chap1_Entrees_Sorties.pptxChap1_Entrees_Sorties.pptx
Chap1_Entrees_Sorties.pptx
 
Formation python
Formation pythonFormation python
Formation python
 
UML
UMLUML
UML
 
UML
UMLUML
UML
 
Les bases de la programmation en JAVA
Les bases de la programmation  en JAVA   Les bases de la programmation  en JAVA
Les bases de la programmation en JAVA
 
PresentationMéthodologie SCRUM-2021.pptx
PresentationMéthodologie SCRUM-2021.pptxPresentationMéthodologie SCRUM-2021.pptx
PresentationMéthodologie SCRUM-2021.pptx
 
Développement informatique : Programmation graphique
Développement informatique : Programmation graphiqueDéveloppement informatique : Programmation graphique
Développement informatique : Programmation graphique
 

Et3 5 diagsequence

  • 1. UML Cours 5 Diagrammes de séquence Polytech Paris-Sud Formation initiale 3e année Spécialité Informatique Année 2016-2017 Delphine Longuet delphine.longuet@lri.fr http://www.lri.fr/~longuet/Enseignements/16-17/Et3-UML
  • 2. D. Longuet - UML 2 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 En conception : Décrire la réalisation des cas d'utilisation sur le système décrit par le diagramme de classes ● Point de vue interne sur le fonctionnement du système ● Description au niveau de l'instance (état du système à un instant) ● Description de scénarios particuliers ● Représentation des échanges de messages ● Entre les acteurs et le système, entre les objets du système ● De façon chronologique
  • 3. D. Longuet - UML 3 Diagrammes de séquence (conception) Éléments du diagramme de séquence ● Acteurs ● Objets (instances) ● Messages (cas d'utilisation, appels d’opération) Principes de base : Représentation graphique de la chronologie des échanges de messages avec le système ou au sein du système ● « Vie » de chaque entité représentée verticalement ● Échanges de messages représentés horizontalement
  • 4. D. Longuet - UML 4 Utilisation en phase de conception Acteur Utiliser Diagramme de cas d'utilisation Diagramme de classes du système Système Objectif : Description de la réalisation d'un cas d'utilisation sur le système décrit par le diagramme de classes Problème : Communication entre les acteurs et le système vu comme un ensemble d'objets Classe1 Classe3 Classe2
  • 5. D. Longuet - UML 5 Utilisation en phase de conception Acteur Utiliser Diagramme de cas d'utilisation Diagramme de classes du système Système Communication entre acteurs et système via une interface (texte, web, physique...) interface Classe1 Classe3 Classe2 Acteur Classe1 Classe3 Classe2
  • 6. D. Longuet - UML 6 Utilisation en phase de conception Acteur Utiliser Classe1 Classe3 Diagramme de cas d'utilisation Diagramme de classes du système Système Acteur Interface Communication entre acteurs et système via une interface (texte, web, physique...) Solution : Création de classes de contrôle et de classes d'interface qui : ● gèrent les interactions avec les acteurs ● encapsulent le résultat des opérations Classe2 Classe1 Classe3 Classe2 Contrôle Écran Clavier classe de contrôle classes d'interface
  • 7. D. Longuet - UML 7 Diagramme de séquence du cas d'utilisation Utiliser Utilisation en phase de conception : Acteur : Interface obj1 : Classe1 obj2 : Classe2 saisir() opération(args) Classe2() obj2 retour détruire() Acteur Utiliser Diagramme de cas d'utilisation Diagramme de classes Système affichage : Contrôle Classe1 Classe3 Classe2 : Clavier : Écran saisir() affichage affichage affichage
  • 8. D. Longuet - UML 8 Éléments de base Jean : Acteur objet1 : Classe1 objet2 : Classe2 opération1() opération2(args) retour2 retour1 instance d'acteur instance d'une classe du diagramme de classes valeur renvoyée exécution appel d'une opération ligne de vie
  • 9. D. Longuet - UML 9 Types de messages Message synchrone : Émetteur bloqué en attente du retour Message asynchrone : Émetteur non bloqué, continue son exécution vérifierSolde(compte) soldeOK exécution bloquée allumer() processus évoluant en parallèle flèche pleine flèche ouverte pas nécessairement de retour : GAB : Banque : Ascenseur : Voyant
  • 10. D. Longuet - UML 10 Création et destruction d'objet : PageWeb nouvSession : Session nouvSession Session() destroy() appel du constructeur de la classe retour obligatoire de l'instance créée destruction de l'objet (pas nécessairement à la suite d'un message) exécution du constructeur
  • 11. D. Longuet - UML 11 Message réflexif : Catalogue livres : Ensemble chercher(auteur) listeLivresAuteurTriée trier() appel d'une opération interne
  • 12. D. Longuet - UML 12 Alternative a : Ascenseur p : Portes [demandé = courant] ouvrir() [demandé ≠ courant] déplacer(étage) c : Cabine si la condition est vérifiée sinon Principe : Condition à l'envoi d'un message Notation : ● Deux diagrammes condition
  • 13. D. Longuet - UML 13 Alternative a : Ascenseur p : Portes ouvrir() déplacer(étage) c : Cabine Principe : Condition à l'envoi d'un message Notation : ● Deux diagrammes ● Bloc d'alternative alt alt [démandé = courant] [demandé ≠ courant]
  • 14. D. Longuet - UML 14 Boucle Principe : Répéter un enchaînement de messages Notation : ● Note cat : Catalogue livre : Livre premierAuteur() Pour chaque livre du catalogue opération répétée pour tous les objets mentionnés auteur
  • 15. D. Longuet - UML 15 Boucle Principe : Répéter un enchaînement de messages Notation : ● Note ● Bloc de boucle loop cat : Catalogue livre : Livre premierAuteur() loop(livre in cat) objets sur lesquels répéter la boucle auteur
  • 16. D. Longuet - UML 16 Référence à un autre diagramme b : Banque c : Compte cl : Client vérification du solde ref prélèvement agios notifié au client ref référence à un diagramme décrit ailleurs
  • 17. D. Longuet - UML 17 Exemple - Analyse Client nom : string naissance : Date Compte numéro : int devise : Devise solde : float Virement montant : float date : Date 1..* 1 1 1 0..* 0..* Effectuer un virement personnel Système de gestion bancaire Employé Employé SGB effectuerVirementP(id,noC1,noC2,mnt) true Cas d'utilisation Effectuer un virement personnel (niveau analyse)
  • 18. D. Longuet - UML 18 Exemple - Conception Effectuer un virement personnel Système de gestion bancaire Employé : Employé : SGB effectuerVirementP(id,noC1,noC2,mnt) true chercher client ref créer virement ref c : Client chercher comptes ref v : Virement effectuer virement ref Client nom : string naissance : Date Compte numéro : int devise : Devise solde : float Virement montant : float date : Date 1..* 1 1 1 0..* 0..* Réalisation du cas d'utilisation Effectuer un virement personnel (niveau conception)
  • 19. D. Longuet - UML 19 Exemple - Conception : Employé : SGB effectuerVirementP(id,noC1,noC2,mnt) true chercherClient(id) client client : Client compte(noC1) c1 compte(noC2) c2 Virement(c1,c2,mnt) virement virement : Virement effectuer() true c1 : Compte retirer(mnt) true c2 : Compte déposer(mnt) true
  • 20. D. Longuet - UML 20 Exemple - Conception Client nom : string naissance : Date Compte numéro : int devise : Devise solde : float déposer(mnt : float) : bool retirer(mnt : float) : bool Virement montant : float date : Date effectuer() : bool 1..* 1 0..* 0..* compte(no : int) : Compte Diagramme de classes complété avec les classes techniques et les opérations nécessaires 1 1 SGB effectuerVirementP() : bool chercherClient(id : int) : Client * 1 1 *
  • 21. D. Longuet - UML 21 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 Messages au sein du système ● Opérations du diagramme de classes ● Si message de objA : ClasseA vers objB : ClasseB, alors opération du message dans ClasseB