SlideShare une entreprise Scribd logo
1  sur  38
megaplanet
UML :UML :
Diagrammes de ClassesDiagrammes de Classes
Concepts de baseConcepts de base
Objets, ClassesObjets, Classes
Lien, Association, CardinalitéLien, Association, Cardinalité
GénéralisationGénéralisation
megaplanet
2
Concepts de baseConcepts de base
ClasseClasse
attributattribut
méthodeméthode
AssociationAssociation
rôlerôle
cardinalitécardinalité
o1
o2
o1
o2
o3
o4
o5
o1
o2
o3
ObjetObjet LienLien
M1
M0
GénéralizationGénéralization
héritagehéritage
sous typagesous typage
megaplanet
3
Concepts de baseConcepts de base
UML est basé sur différents concepts de base :UML est basé sur différents concepts de base :
Objet, ClasseObjet, Classe
Lien, AssociationLien, Association
HéritageHéritage
ContrainteContrainte
UML propose des notations et des diagrammesUML propose des notations et des diagrammes
Diagramme de classes (description au niveau modèlisation, cas général)Diagramme de classes (description au niveau modèlisation, cas général)
Diagramme d’objets (description au niveau instance, exemples)Diagramme d’objets (description au niveau instance, exemples)
megaplanet
Objets et Classes
4
megaplanet
5
Compte
Notation pour les classesNotation pour les classes
numero : entier
solde : entier
decouvertMax : entier
consulterLeSolde() : entier
crediter( somme : entier)
debiter( somme : entier)
Nom de la classe
Attributs
nom
type
Opérations
nom
paramètre
type du résultat
Contraintes{ inv: solde > decouvertMax }
megaplanet
6
Compte
ParaphrasageParaphrasage
numero : entier
solde : entier
decouvertMax : entier
consulterLeSolde() : entier
crediter( somme : entier)
debiter( somme : entier)
{ inv: solde > découvertMax }
Le concept de compte est pertinent.
Le numéro d'un compte est un entier.
Le solde d'un compte est un entier.
Le découvert max d'un compte est un entier.
Pour un compte donné il est possible de:
- consulter le solde
- créditer avec une somme
- débiter avec une somme.
megaplanet
7
Notations alternativesNotations alternatives
Compte
numero : entier
solde : reel
decouvertMax : entier
consulterSolde() : entier
crediter( somme : entier)
debiter( somme )
Compte
numero
solde
...
crediter()
debiter()
...
Compte
numero
solde
...
Compte
crediter()
debiter()
...
Compte
Notes de style :
les noms de classes commencent par une majuscule
les noms d ’attributs et de méthodes commencent par une minuscule
Compte
M1
megaplanet
8
Notations pour les objetsNotations pour les objets
leCompteDePaul : Compte
numero = 6688FA89K888
solde = 5000
decouvertMax = -100
leCompteDePaul
: Compte
leCompteDePaul : Compte
Convention :
• les noms d ’objets commencent par une minuscule et sont soulignés
M0
megaplanet
9
ParaphrasageParaphrasage
leCompteDePaul : Compte
numero = 6688FA89K888
solde = 5000
découvertMax = -100
leCompteDePaul
: Compte
leCompteDePaul : Compte
Le compte de paul est un objet.
un compte
Le compte de paul est un compte.
Le compte de paul est un compte.
Le numéro du compte de paul est 6688FA89K888.
Le solde du compte de paul est 5000.
Le découvert max du compte de paul est -100.
megaplanet
10
Classe vs. ObjetsClasse vs. Objets
Compte
numéro
solde : réel
découvertMax : entier
consulterSolde() : entier
créditer( somme : entier)
débiter( somme )
Une classe spécifie la structure et le
comportement d'un ensemble d'objets
de même nature
Diagramme
de classesLa structure d'une classe est constanteLa structure d'une classe est constante
leCompteDePaul : Compte
numéro = 6688FA89K888
solde = 5000
découvertMax = -100
leCompteDeMarie:Compte
numéro = 2275 UH73826
solde = 10000
découvertMax = -1000
:Compte
numéro = 1200 YE73626
solde = 150
découvertMax = 10
Diagramme
d ’objets
DesDes objetsobjets peuvent êtrepeuvent être
ajoutés ou détruits pendantajoutés ou détruits pendant
l ’exécutionl ’exécution
La valeur des attributs desLa valeur des attributs des
objets peut changerobjets peut changer
M0
M1
megaplanet
Liens et Associations
11
megaplanet
12
Liens (entre objets)Liens (entre objets)
c1 : Compte
c2 : Compte
paul : Client
pierre : Client
marie : Client c3 : Compte
APourCompte
APourCompte
APourCompte
Un lien indique une connexion entre deux objets
Note de style :
• les noms des liens sont des formes verbales et commencent par une majuscule
• indique le sens de la lecture (ex: « paul APourCompte c1 »)
megaplanet
13
ParaphrasageParaphrasage
c1 : Compte
c2 : Compte
paul : Client
pierre : Client
marie : Client c3 : Compte
APourCompte
APourCompte
APourCompte
paul a pour compte c1
pierre a pour compte c2 et c3
marie a pour compte aucun compte
paul, pierre et marie sont des clients c1, c2 et c3 sont des comptes
megaplanet
14
Contrainte sur les liensContrainte sur les liens
Au maximum un lienAu maximum un lien d'un type donnéd'un type donné entre deux objets donnésentre deux objets donnés
marie : Personnejoseph : Personne
APourEpouse
jose : Personne
EstEnfantDe
madeleine : Personne
EstEnfantDe
EstGardePar
OK
megaplanet
15
Contrainte sur les liensContrainte sur les liens
Au maximum un lienAu maximum un lien d'un type donnéd'un type donné entre deux objets donnés*entre deux objets donnés*
marie : Personnejoseph : Personne
APourEpouse
APourEpouse
(*) Contrainte importante pour compendre les « classes associatives »
Contrainte pouvant être relachée via {nonunique} en UML 2.0
 voir plus loin les concepts avancés
joseph a pour epouse marie
joseph a pour epouse marie
megaplanet
16
RôlesRôles
c1 : Comptepierre : Client
APourCompte
titulaire compte
Chacun des deux objets joue un rôle diffèrent dans le lien
Note de style :
choisir un groupe nominal pour désigner un rôle
si un nom de rôle est omis, le nom de la classe fait office de nom
(1) pierre a pour compte c1
(2) c1 joue le role de compte pour pierre
(3) pierre joue le role de titulaire pour c1
(2.b) le [un des] compte[s] de pierre est c1
(3.b) le [un des] titulaire[s] de c1 est pierre
megaplanet
Liens et Associations
17
megaplanet
18
Associations (entre classes)Associations (entre classes)
c1 : Compte
c2 : Compte
paul : Client
pierre : Client
marie : Client c3 : Compte
APourCompte>
APourCompte>
APourCompte>
Client Compte
APourCompte
Une association décrit un ensemble de liens de même "sémantique"
comptestitulaire
Diagramme
d ’objets
(exemplaires)
Diagramme
de classes
(modèlisation)
M0
M1
megaplanet
ParaphrasageParaphrasage
Client Compte
APourCompte
comptestitulaire
(1) Un client a pour compte des comptes.
(2) Les comptes d'un client sont tous des comptes
(3) Le titulaire d'un compte est un client
megaplanet
20
Association vs. LiensAssociation vs. Liens
UnUn lienlien lie deuxlie deux objetsobjets
UneUne associationassociation lie deuxlie deux classesclasses
UnUn lienlien est une instance d’est une instance d’associationassociation
UneUne associationassociation décrit un ensemble dedécrit un ensemble de liensliens
DesDes liensliens peuvent être ajoutés ou détruits pendant l ’exécution,peuvent être ajoutés ou détruits pendant l ’exécution,
(ce n ’est pas le cas des associations)(ce n ’est pas le cas des associations)
Le terme "relation" ne pasLe terme "relation" ne pas partie du vocabulaire UMLdu vocabulaire UML
c1: Compte
c2: Compte
paul : Client
pierre :Client
marie : Client c3: Compte
A PourCompte>
A PourCompte>
APourCo
mpte>
Client Compte
APourCompte>
liens
association
classe
objets
M1
M0
megaplanet
21
Nommer les associationsNommer les associations
Compte Banque
Compte Banque
EstGéréPar
banqueGérantecomptesGéré
s
Compte Banque
comptesGérés
Compte Banque
banqueGérante
Compte Banque
Gère
Différentes façons de
nommer une association
mais une seule idée
 cohérence obligatoire!
megaplanet
23
Utiliser les rôles pour «naviguer»Utiliser les rôles pour «naviguer»
Client Compte
APourCompte
titulaire comptes
= {c1}
= {c2,c3}
= { }
= paul
= pierre
= pierre
Nommer en priorité les rôles
c1 : Compte
c2 : Compte
paul : Client
pierre : Client
marie : Client c3 : Compte
APourCompte>
APourCompte>
APourCompte>
titulaire
titulaire
comptes
comptes
comptes
titulaire
paul.comptes
pierre.comptes
marie.comptes
c1.titulaire
c2.titulaire
c3.titulaire
M0
M1
megaplanet
24
Utiliser les rôles pour «naviguer»Utiliser les rôles pour «naviguer»
Client Compte
APourCompte
titulaire comptes
= {c1}
= {c2,c3}
= { }
= paul
= pierre
= pierre
Nommer en priorité les rôles
c1 : Compte
c2 : Compte
paul : Client
pierre : Client
marie : Client c3 : Compte
APourCompte>
APourCompte>
APourCompte>
titulaire
titulaire
comptes
comptes
comptes
titulaire
paul.comptes
pierre.comptes
marie.comptes
c1.titulaire
c2.titulaire
c3.titulaire
M0
M1
megaplanet
25
CardinalitésCardinalités
Nombre d’objets pouvant être liés à un objet source (min..max)Nombre d’objets pouvant être liés à un objet source (min..max)
Client Compte
1..1 APourCompte 0..*
titulaire comptes
c1 : Compte
c2 : Compte
paul : Client
pierre : Client
marie : Client c3 : Compte
APourCompte>
APourCompte>
APourCompte>
M0
M1
megaplanet
Notation SimplifiéeNotation Simplifiée
* équivalent àéquivalent à 0..*
3 équivalent à 3équivalent à 3..3
Client Compte
1 APourCompte *
titulaire comptes
megaplanet
27
ParaphrasageParaphrasage
Client Compte
1..1
0..*
titulaire
comptes
(1a) Un client quelconque peut ne pas avoir de compte.
(1b) Un client quelconque peut avoir plusieurs comptes.
(1c) Tous les comptes d'un client sont des comptes.
(1a) (1b)
(1c)
(2a)(1b)
(2a) Un compte quelconque à toujours un et un seul titulaire.
(2b) L'unique titulaire d'un compte est un client
(1a) Un client quelconque peut ne pas avoir de compte.
(1b) Un client quelconque peut avoir plusieurs comptes.
(1c) Tous les comptes d'un client sont des comptes.
megaplanet
28
CardinalitésCardinalités  TerminologieTerminologie
c1 : Compte
c2 : Compte
paul : Client
pierre : Client
marie : Client c3 : Compte
EstTitulairePrincipalDe>
EstTitulairePrincipalDe>
EstTitutlairePrincipalDe>
M0
M1
Terminologie et cardinalités sont intimement liéesTerminologie et cardinalités sont intimement liées
megaplanet
29
Associations "reflexives"Associations "reflexives"
parents
enfants
EstParentDe
Personne
2
*
Une association peut relierUne association peut relier
des "objets" d'une même classedes "objets" d'une même classe
N'implique pas forcémentN'implique pas forcément
des liens "reflexifs"des liens "reflexifs"
parents
paul marie
jean noelle
fred
parentsparents parents
myria
parentsparents
sylvia
parents
parents
attention: ce diagramme d'objets n'est pas conforme au diagramme de classe
M0
M1
megaplanet
30
ConformitéConformité
Diagrammes d'instances / Diagrammes de classesDiagrammes d'instances / Diagrammes de classes
parents
enfants
EstParentDe
Personne
2
*
parents
paul marie
jean noelle
fred
parentsparents parents
myria
parentsparents
sylvia
parents
parents
0..0..
ATTENTION:
ce diagramme d'objet
n'est pas conforme
au diagramme de classes
M0
M1
megaplanet
31
parents
enfants
EstParentDe
Personne
2
*
parents
paul marie
jean noelle
fred
parentsparents parents
myria
parentsparents
sylvia
parents
parents
0..0..
ATTENTION:
ce diagramme d'objet
est conforme
au diagramme de classes
ConformitéConformité
Diagrammes de classes / Système modéliséDiagrammes de classes / Système modélisé
mais n'est pas correct
à la réalité (pas
réaliste)
ATTENTION:
ce diagramme de classes
n'est pas un bon modèle
du système modélisé
M0
M1
megaplanet
32
parents
enfants
EstParentDe
Personne
2
*
parents
paul marie
jean noelle
fred
parentsparents parents
myria
parentsparents
sylvia
parents
parents
parents
0..0..
ContraintesContraintes
La relation EstParentDe
est acyclique.
M0
M1
megaplanet
33
Diagrammes de classes vs. d’objetsDiagrammes de classes vs. d’objets
Un diagramme de classesUn diagramme de classes
défini l’ensemble de tous les états possiblesdéfini l’ensemble de tous les états possibles
les contraintes doivent toujours être vérifiéesles contraintes doivent toujours être vérifiées
Un diagramme d’objetsUn diagramme d’objets
décrit un état possible à un instant t, un cas particulierdécrit un état possible à un instant t, un cas particulier
doit être conforme au modèle de classesdoit être conforme au modèle de classes
Les diagrammes d’objets peuvent être utilisés pourLes diagrammes d’objets peuvent être utilisés pour
expliquer un diagramme de classe (donner un exemple)expliquer un diagramme de classe (donner un exemple)
valider un diagramme de classe (le "tester")valider un diagramme de classe (le "tester")
Client
1..4 0.
.*
titulaires
Consortium
Compte
numéro
solde
...
*
1
0
.
.
*
1
0.
.*
1.
.*
signataire1
0.
.*
CarteBleue
Code
retraitM ax
Distributeur
1
.
.
*
EstAcceptéPar>
1
..
*
Banque
numéro
nom
c1:
Compt
e
c2:
Comp
te
paul :
Client
pierre
:
Client
marie
:
Client
c3:
Compt
e
t
i
t
u
l
a
i
r
e
s
t
i
t
u
l
a
i
r
e
s
:
Carte
Bleue
t
i
t
u
l
a
i
r
e
s
t
i
t
u
l
a
i
r
e
s
s
i
g
n
a
t
a
i
r
e
:
Carte
Bleue
sophi
e :
Client
:
B
a
n
q
u
e
:
B
a
n
q
u
e
s
i
g
n
a
t
a
i
r
e
:
Cons
ortium
:
Distrib
uteur
EstAc
cepté
Par>
EstAc
cepté
Par>
c1:
Compt
e
c2:
Comp
te
paul :
Client
pierre
:
Client
marie
:
Client
c3:
Compt
e
t
i
t
u
l
a
i
r
e
s
t
i
t
u
l
a
i
r
e
s
:
Carte
Bleue
t
i
t
u
l
a
i
r
e
s
t
i
t
u
l
a
i
r
e
s
s
i
g
n
a
t
a
i
r
e
:
Carte
Bleue
sophi
e :
Client
:
B
a
n
q
u
e
:
B
a
n
q
u
e
s
i
g
n
a
t
a
i
r
e
:
Cons
ortium
:
Distrib
uteur
EstA c
cepté
Par>
EstAc
cepté
Par>
megaplanet
GénéralisationGénéralisation
34
megaplanet
35
GénéralisationGénéralisation  SpécialisationSpécialisation
Une classe peut être la généralisation d’une ou plusieurs autres classes.
Ces classes sont alors des spécialisations de cette classe.
"Super classe"
"Sous classes"
Personne
FemmeHomme
Compte
Compte
Epargne
Cas général
Cas spécifique
Deux points de vue liés (en UML) :
• héritage
• sous-typage
megaplanet
36
HéritageHéritage
Compte
solde
crediter()
debiter()
CompteEpargne
tauxInteret
ajouterInterets ()
Les sous-classes « héritent » des propriétés des super-classes
(attributs, méthodes, associations, contraintes)
Banque*
CompteEpargne
solde
tauxInteret
crediter()
debiter()
ajouterInterets ()
*
{inv: solde > -5000 et
tauxInteret < 100}
Banque
{inv: solde > -5000}
{inv: tauxInteret < 100}
megaplanet
37
Héritage et redéfinitionsHéritage et redéfinitions
Compte
solde
créditer(
)
débiter()
CompteEpargne
créditer()
débiter()
ajouterIntérêts ()
PEL
créditer()
débiter()
ajouterIntérêts ()
PEC
débiter()
PET
débiter()
Une opération peut être
"redéfinie" dans les sous-classes
Permet d'associer des méthodes
spécifiques à chaque sous classe
pour réaliser une même opération
megaplanet
3
Sous TypageSous Typage
Tout objet d’une sous-classe
appartient également à la
super-classe
Compte
Epargne
ce1
Compte
Compte CompteEpargne
ce2
ce3
c3
c4
c18
c1
c2
M1
M0
Un compte epargne est un compte.
megaplanet
39
Synthèse des concepts de baseSynthèse des concepts de base
ClasseClasse
attributattribut
méthodeméthode
AssociationAssociation
rôlerôle
cardinalitécardinalité
o1
o2
o1
o2
o3
o4
o5
o1
o2
o3
ObjetObjet LienLien
M1
M0
GénéralizationGénéralization
héritagehéritage
sous typagesous typage

Contenu connexe

Tendances

Expo diagramme cas d'utilisation
Expo diagramme cas d'utilisationExpo diagramme cas d'utilisation
Expo diagramme cas d'utilisationaminooovich
 
diagramme des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisationAmir Souissi
 
Uml: Diagrammes de classes -- Concepts avances --- 27
Uml: Diagrammes de classes -- Concepts avances --- 27Uml: Diagrammes de classes -- Concepts avances --- 27
Uml: Diagrammes de classes -- Concepts avances --- 27megaplanet20
 
Design patterns french
Design patterns frenchDesign patterns french
Design patterns frenchmeriem sari
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriMansouri Khalifa
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classeAmir Souissi
 
Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesLilia Sfaxi
 
introduction à la modélisation objet
introduction à la modélisation objetintroduction à la modélisation objet
introduction à la modélisation objetAmir Souissi
 
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
 

Tendances (19)

Expo diagramme cas d'utilisation
Expo diagramme cas d'utilisationExpo diagramme cas d'utilisation
Expo diagramme cas d'utilisation
 
UML Diagrammes Dynamiques
UML Diagrammes DynamiquesUML Diagrammes Dynamiques
UML Diagrammes Dynamiques
 
De Java à .NET
De Java à .NETDe Java à .NET
De Java à .NET
 
diagramme des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisation
 
Uml: Diagrammes de classes -- Concepts avances --- 27
Uml: Diagrammes de classes -- Concepts avances --- 27Uml: Diagrammes de classes -- Concepts avances --- 27
Uml: Diagrammes de classes -- Concepts avances --- 27
 
Uml
UmlUml
Uml
 
Javascript
JavascriptJavascript
Javascript
 
Composition, agrégation et immuabilité
Composition, agrégation et immuabilitéComposition, agrégation et immuabilité
Composition, agrégation et immuabilité
 
Design patterns french
Design patterns frenchDesign patterns french
Design patterns french
 
Héritage et redéfinition de méthode
Héritage et redéfinition de méthodeHéritage et redéfinition de méthode
Héritage et redéfinition de méthode
 
7 diagramme de cas d'utilisation
7 diagramme de cas d'utilisation7 diagramme de cas d'utilisation
7 diagramme de cas d'utilisation
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classe
 
Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de Classes
 
introduction à la modélisation objet
introduction à la modélisation objetintroduction à la modélisation objet
introduction à la modélisation objet
 
Cours design pattern m youssfi partie 6 proxy
Cours design pattern m youssfi partie 6 proxyCours design pattern m youssfi partie 6 proxy
Cours design pattern m youssfi partie 6 proxy
 
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
 
UML Diagrammes Statiques
UML Diagrammes StatiquesUML Diagrammes Statiques
UML Diagrammes Statiques
 
Uml
UmlUml
Uml
 

En vedette

Jerry seinfeld y cómo crear hábitos
Jerry seinfeld y cómo crear hábitosJerry seinfeld y cómo crear hábitos
Jerry seinfeld y cómo crear hábitosDr Guillermo Cobos Z.
 
Programme Aci-Kairos.
Programme Aci-Kairos.Programme Aci-Kairos.
Programme Aci-Kairos.Biom Work
 
Comment la Méthamphétamine Enregistré Albuquerque - Breaking Bad Tourisme à A...
Comment la Méthamphétamine Enregistré Albuquerque - Breaking Bad Tourisme à A...Comment la Méthamphétamine Enregistré Albuquerque - Breaking Bad Tourisme à A...
Comment la Méthamphétamine Enregistré Albuquerque - Breaking Bad Tourisme à A...enchantinggover30
 
Go - Éloge de la vache
Go - Éloge de la vacheGo - Éloge de la vache
Go - Éloge de la vacheAlain Grosrey
 
Atelier premier degré Osui Casablanca
Atelier premier degré Osui CasablancaAtelier premier degré Osui Casablanca
Atelier premier degré Osui CasablancaClotilde Chauvin
 
Une thèse Phénoclim, par Daphné Asse
Une thèse Phénoclim, par Daphné AsseUne thèse Phénoclim, par Daphné Asse
Une thèse Phénoclim, par Daphné AsseCREA Mont-Blanc
 
Ateliers rédactionnels | CNED
Ateliers rédactionnels | CNEDAteliers rédactionnels | CNED
Ateliers rédactionnels | CNEDAlain Grosrey
 
Crée cd windows avec n lite
Crée cd windows avec n liteCrée cd windows avec n lite
Crée cd windows avec n liteFranck Lecluse
 
E-journal septembre - octobre 2014 !
E-journal septembre - octobre 2014 !E-journal septembre - octobre 2014 !
E-journal septembre - octobre 2014 !Ideotour Vietnam
 

En vedette (20)

Como ser feliz a pesar de los probs
Como ser feliz a pesar de los probsComo ser feliz a pesar de los probs
Como ser feliz a pesar de los probs
 
Propósitos para el 2014
Propósitos para el 2014Propósitos para el 2014
Propósitos para el 2014
 
01 Entrada (Subir foto en Moodle)
01 Entrada (Subir foto en Moodle)01 Entrada (Subir foto en Moodle)
01 Entrada (Subir foto en Moodle)
 
10 mandamientos de la adm
10 mandamientos de la adm10 mandamientos de la adm
10 mandamientos de la adm
 
Programa
ProgramaPrograma
Programa
 
Taller
TallerTaller
Taller
 
Jerry seinfeld y cómo crear hábitos
Jerry seinfeld y cómo crear hábitosJerry seinfeld y cómo crear hábitos
Jerry seinfeld y cómo crear hábitos
 
Programme Aci-Kairos.
Programme Aci-Kairos.Programme Aci-Kairos.
Programme Aci-Kairos.
 
Pensar no es hacer
Pensar no es hacerPensar no es hacer
Pensar no es hacer
 
Comment la Méthamphétamine Enregistré Albuquerque - Breaking Bad Tourisme à A...
Comment la Méthamphétamine Enregistré Albuquerque - Breaking Bad Tourisme à A...Comment la Méthamphétamine Enregistré Albuquerque - Breaking Bad Tourisme à A...
Comment la Méthamphétamine Enregistré Albuquerque - Breaking Bad Tourisme à A...
 
Go - Éloge de la vache
Go - Éloge de la vacheGo - Éloge de la vache
Go - Éloge de la vache
 
Dossiers 0015
Dossiers 0015Dossiers 0015
Dossiers 0015
 
Dossiers 0005
Dossiers 0005Dossiers 0005
Dossiers 0005
 
Parábola de los impuestos
Parábola de los impuestosParábola de los impuestos
Parábola de los impuestos
 
Atelier premier degré Osui Casablanca
Atelier premier degré Osui CasablancaAtelier premier degré Osui Casablanca
Atelier premier degré Osui Casablanca
 
Une thèse Phénoclim, par Daphné Asse
Une thèse Phénoclim, par Daphné AsseUne thèse Phénoclim, par Daphné Asse
Une thèse Phénoclim, par Daphné Asse
 
Ateliers rédactionnels | CNED
Ateliers rédactionnels | CNEDAteliers rédactionnels | CNED
Ateliers rédactionnels | CNED
 
Crée cd windows avec n lite
Crée cd windows avec n liteCrée cd windows avec n lite
Crée cd windows avec n lite
 
E-journal septembre - octobre 2014 !
E-journal septembre - octobre 2014 !E-journal septembre - octobre 2014 !
E-journal septembre - octobre 2014 !
 
Images
ImagesImages
Images
 

Similaire à Uml: Diagrammes de classes -- Concepts De Base 41

programmation orienté objet c++
programmation orienté objet c++programmation orienté objet c++
programmation orienté objet c++coursuniv
 
dokumen.tips_diagramme-de-sequence-uml.pdf
dokumen.tips_diagramme-de-sequence-uml.pdfdokumen.tips_diagramme-de-sequence-uml.pdf
dokumen.tips_diagramme-de-sequence-uml.pdfviyipim509
 
Ebook matlab
Ebook matlabEbook matlab
Ebook matlabN NASRI
 
Chapitre II. METHODE D'ANALYSE P2 MCD .pptx
Chapitre II. METHODE D'ANALYSE P2 MCD .pptxChapitre II. METHODE D'ANALYSE P2 MCD .pptx
Chapitre II. METHODE D'ANALYSE P2 MCD .pptxanisanima1
 
Convention Algorithmique AS 2022-2023.pdf
Convention Algorithmique AS 2022-2023.pdfConvention Algorithmique AS 2022-2023.pdf
Convention Algorithmique AS 2022-2023.pdfLamissGhoul1
 
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
 
algorithme tronc commun lycée
algorithme tronc commun lycéealgorithme tronc commun lycée
algorithme tronc commun lycéeKayl Mido
 
Pont entre cet c++
Pont entre cet c++Pont entre cet c++
Pont entre cet c++maxcxi008
 

Similaire à Uml: Diagrammes de classes -- Concepts De Base 41 (20)

Diagramme de classes
Diagramme de classesDiagramme de classes
Diagramme de classes
 
UML
UMLUML
UML
 
UML
UMLUML
UML
 
Et3 5 diagsequence
Et3 5 diagsequenceEt3 5 diagsequence
Et3 5 diagsequence
 
556ef78d93c3b
556ef78d93c3b556ef78d93c3b
556ef78d93c3b
 
programmation orienté objet c++
programmation orienté objet c++programmation orienté objet c++
programmation orienté objet c++
 
Chapitre 3
Chapitre 3Chapitre 3
Chapitre 3
 
dokumen.tips_diagramme-de-sequence-uml.pdf
dokumen.tips_diagramme-de-sequence-uml.pdfdokumen.tips_diagramme-de-sequence-uml.pdf
dokumen.tips_diagramme-de-sequence-uml.pdf
 
Ebook matlab
Ebook matlabEbook matlab
Ebook matlab
 
Chapitre II. METHODE D'ANALYSE P2 MCD .pptx
Chapitre II. METHODE D'ANALYSE P2 MCD .pptxChapitre II. METHODE D'ANALYSE P2 MCD .pptx
Chapitre II. METHODE D'ANALYSE P2 MCD .pptx
 
Initiation r
Initiation rInitiation r
Initiation r
 
generation_code.pdf
generation_code.pdfgeneration_code.pdf
generation_code.pdf
 
Convention Algorithmique AS 2022-2023.pdf
Convention Algorithmique AS 2022-2023.pdfConvention Algorithmique AS 2022-2023.pdf
Convention Algorithmique AS 2022-2023.pdf
 
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
 
UML3
UML3UML3
UML3
 
algorithme tronc commun lycée
algorithme tronc commun lycéealgorithme tronc commun lycée
algorithme tronc commun lycée
 
diagramme de cas d'utilisation
diagramme de cas d'utilisationdiagramme de cas d'utilisation
diagramme de cas d'utilisation
 
Contraintes uml
Contraintes umlContraintes uml
Contraintes uml
 
Pont entre cet c++
Pont entre cet c++Pont entre cet c++
Pont entre cet c++
 
merise (1).pdf
merise (1).pdfmerise (1).pdf
merise (1).pdf
 

Dernier

Pharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour PharmaciePharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour PharmacieLoloshka
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxMartin M Flynn
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfRiDaHAziz
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 37
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre françaisTxaruka
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfRiDaHAziz
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film françaisTxaruka
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationpapediallo3
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Gabriel Gay-Para
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...NaimDoumissi
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 37
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film françaisTxaruka
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxJCAC
 

Dernier (20)

Pharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour PharmaciePharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour Pharmacie
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre français
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdf
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film français
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'information
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film français
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
 

Uml: Diagrammes de classes -- Concepts De Base 41

  • 1. megaplanet UML :UML : Diagrammes de ClassesDiagrammes de Classes Concepts de baseConcepts de base Objets, ClassesObjets, Classes Lien, Association, CardinalitéLien, Association, Cardinalité GénéralisationGénéralisation
  • 2. megaplanet 2 Concepts de baseConcepts de base ClasseClasse attributattribut méthodeméthode AssociationAssociation rôlerôle cardinalitécardinalité o1 o2 o1 o2 o3 o4 o5 o1 o2 o3 ObjetObjet LienLien M1 M0 GénéralizationGénéralization héritagehéritage sous typagesous typage
  • 3. megaplanet 3 Concepts de baseConcepts de base UML est basé sur différents concepts de base :UML est basé sur différents concepts de base : Objet, ClasseObjet, Classe Lien, AssociationLien, Association HéritageHéritage ContrainteContrainte UML propose des notations et des diagrammesUML propose des notations et des diagrammes Diagramme de classes (description au niveau modèlisation, cas général)Diagramme de classes (description au niveau modèlisation, cas général) Diagramme d’objets (description au niveau instance, exemples)Diagramme d’objets (description au niveau instance, exemples)
  • 5. megaplanet 5 Compte Notation pour les classesNotation pour les classes numero : entier solde : entier decouvertMax : entier consulterLeSolde() : entier crediter( somme : entier) debiter( somme : entier) Nom de la classe Attributs nom type Opérations nom paramètre type du résultat Contraintes{ inv: solde > decouvertMax }
  • 6. megaplanet 6 Compte ParaphrasageParaphrasage numero : entier solde : entier decouvertMax : entier consulterLeSolde() : entier crediter( somme : entier) debiter( somme : entier) { inv: solde > découvertMax } Le concept de compte est pertinent. Le numéro d'un compte est un entier. Le solde d'un compte est un entier. Le découvert max d'un compte est un entier. Pour un compte donné il est possible de: - consulter le solde - créditer avec une somme - débiter avec une somme.
  • 7. megaplanet 7 Notations alternativesNotations alternatives Compte numero : entier solde : reel decouvertMax : entier consulterSolde() : entier crediter( somme : entier) debiter( somme ) Compte numero solde ... crediter() debiter() ... Compte numero solde ... Compte crediter() debiter() ... Compte Notes de style : les noms de classes commencent par une majuscule les noms d ’attributs et de méthodes commencent par une minuscule Compte M1
  • 8. megaplanet 8 Notations pour les objetsNotations pour les objets leCompteDePaul : Compte numero = 6688FA89K888 solde = 5000 decouvertMax = -100 leCompteDePaul : Compte leCompteDePaul : Compte Convention : • les noms d ’objets commencent par une minuscule et sont soulignés M0
  • 9. megaplanet 9 ParaphrasageParaphrasage leCompteDePaul : Compte numero = 6688FA89K888 solde = 5000 découvertMax = -100 leCompteDePaul : Compte leCompteDePaul : Compte Le compte de paul est un objet. un compte Le compte de paul est un compte. Le compte de paul est un compte. Le numéro du compte de paul est 6688FA89K888. Le solde du compte de paul est 5000. Le découvert max du compte de paul est -100.
  • 10. megaplanet 10 Classe vs. ObjetsClasse vs. Objets Compte numéro solde : réel découvertMax : entier consulterSolde() : entier créditer( somme : entier) débiter( somme ) Une classe spécifie la structure et le comportement d'un ensemble d'objets de même nature Diagramme de classesLa structure d'une classe est constanteLa structure d'une classe est constante leCompteDePaul : Compte numéro = 6688FA89K888 solde = 5000 découvertMax = -100 leCompteDeMarie:Compte numéro = 2275 UH73826 solde = 10000 découvertMax = -1000 :Compte numéro = 1200 YE73626 solde = 150 découvertMax = 10 Diagramme d ’objets DesDes objetsobjets peuvent êtrepeuvent être ajoutés ou détruits pendantajoutés ou détruits pendant l ’exécutionl ’exécution La valeur des attributs desLa valeur des attributs des objets peut changerobjets peut changer M0 M1
  • 12. megaplanet 12 Liens (entre objets)Liens (entre objets) c1 : Compte c2 : Compte paul : Client pierre : Client marie : Client c3 : Compte APourCompte APourCompte APourCompte Un lien indique une connexion entre deux objets Note de style : • les noms des liens sont des formes verbales et commencent par une majuscule • indique le sens de la lecture (ex: « paul APourCompte c1 »)
  • 13. megaplanet 13 ParaphrasageParaphrasage c1 : Compte c2 : Compte paul : Client pierre : Client marie : Client c3 : Compte APourCompte APourCompte APourCompte paul a pour compte c1 pierre a pour compte c2 et c3 marie a pour compte aucun compte paul, pierre et marie sont des clients c1, c2 et c3 sont des comptes
  • 14. megaplanet 14 Contrainte sur les liensContrainte sur les liens Au maximum un lienAu maximum un lien d'un type donnéd'un type donné entre deux objets donnésentre deux objets donnés marie : Personnejoseph : Personne APourEpouse jose : Personne EstEnfantDe madeleine : Personne EstEnfantDe EstGardePar OK
  • 15. megaplanet 15 Contrainte sur les liensContrainte sur les liens Au maximum un lienAu maximum un lien d'un type donnéd'un type donné entre deux objets donnés*entre deux objets donnés* marie : Personnejoseph : Personne APourEpouse APourEpouse (*) Contrainte importante pour compendre les « classes associatives » Contrainte pouvant être relachée via {nonunique} en UML 2.0  voir plus loin les concepts avancés joseph a pour epouse marie joseph a pour epouse marie
  • 16. megaplanet 16 RôlesRôles c1 : Comptepierre : Client APourCompte titulaire compte Chacun des deux objets joue un rôle diffèrent dans le lien Note de style : choisir un groupe nominal pour désigner un rôle si un nom de rôle est omis, le nom de la classe fait office de nom (1) pierre a pour compte c1 (2) c1 joue le role de compte pour pierre (3) pierre joue le role de titulaire pour c1 (2.b) le [un des] compte[s] de pierre est c1 (3.b) le [un des] titulaire[s] de c1 est pierre
  • 18. megaplanet 18 Associations (entre classes)Associations (entre classes) c1 : Compte c2 : Compte paul : Client pierre : Client marie : Client c3 : Compte APourCompte> APourCompte> APourCompte> Client Compte APourCompte Une association décrit un ensemble de liens de même "sémantique" comptestitulaire Diagramme d ’objets (exemplaires) Diagramme de classes (modèlisation) M0 M1
  • 19. megaplanet ParaphrasageParaphrasage Client Compte APourCompte comptestitulaire (1) Un client a pour compte des comptes. (2) Les comptes d'un client sont tous des comptes (3) Le titulaire d'un compte est un client
  • 20. megaplanet 20 Association vs. LiensAssociation vs. Liens UnUn lienlien lie deuxlie deux objetsobjets UneUne associationassociation lie deuxlie deux classesclasses UnUn lienlien est une instance d’est une instance d’associationassociation UneUne associationassociation décrit un ensemble dedécrit un ensemble de liensliens DesDes liensliens peuvent être ajoutés ou détruits pendant l ’exécution,peuvent être ajoutés ou détruits pendant l ’exécution, (ce n ’est pas le cas des associations)(ce n ’est pas le cas des associations) Le terme "relation" ne pasLe terme "relation" ne pas partie du vocabulaire UMLdu vocabulaire UML c1: Compte c2: Compte paul : Client pierre :Client marie : Client c3: Compte A PourCompte> A PourCompte> APourCo mpte> Client Compte APourCompte> liens association classe objets M1 M0
  • 21. megaplanet 21 Nommer les associationsNommer les associations Compte Banque Compte Banque EstGéréPar banqueGérantecomptesGéré s Compte Banque comptesGérés Compte Banque banqueGérante Compte Banque Gère Différentes façons de nommer une association mais une seule idée  cohérence obligatoire!
  • 22. megaplanet 23 Utiliser les rôles pour «naviguer»Utiliser les rôles pour «naviguer» Client Compte APourCompte titulaire comptes = {c1} = {c2,c3} = { } = paul = pierre = pierre Nommer en priorité les rôles c1 : Compte c2 : Compte paul : Client pierre : Client marie : Client c3 : Compte APourCompte> APourCompte> APourCompte> titulaire titulaire comptes comptes comptes titulaire paul.comptes pierre.comptes marie.comptes c1.titulaire c2.titulaire c3.titulaire M0 M1
  • 23. megaplanet 24 Utiliser les rôles pour «naviguer»Utiliser les rôles pour «naviguer» Client Compte APourCompte titulaire comptes = {c1} = {c2,c3} = { } = paul = pierre = pierre Nommer en priorité les rôles c1 : Compte c2 : Compte paul : Client pierre : Client marie : Client c3 : Compte APourCompte> APourCompte> APourCompte> titulaire titulaire comptes comptes comptes titulaire paul.comptes pierre.comptes marie.comptes c1.titulaire c2.titulaire c3.titulaire M0 M1
  • 24. megaplanet 25 CardinalitésCardinalités Nombre d’objets pouvant être liés à un objet source (min..max)Nombre d’objets pouvant être liés à un objet source (min..max) Client Compte 1..1 APourCompte 0..* titulaire comptes c1 : Compte c2 : Compte paul : Client pierre : Client marie : Client c3 : Compte APourCompte> APourCompte> APourCompte> M0 M1
  • 25. megaplanet Notation SimplifiéeNotation Simplifiée * équivalent àéquivalent à 0..* 3 équivalent à 3équivalent à 3..3 Client Compte 1 APourCompte * titulaire comptes
  • 26. megaplanet 27 ParaphrasageParaphrasage Client Compte 1..1 0..* titulaire comptes (1a) Un client quelconque peut ne pas avoir de compte. (1b) Un client quelconque peut avoir plusieurs comptes. (1c) Tous les comptes d'un client sont des comptes. (1a) (1b) (1c) (2a)(1b) (2a) Un compte quelconque à toujours un et un seul titulaire. (2b) L'unique titulaire d'un compte est un client (1a) Un client quelconque peut ne pas avoir de compte. (1b) Un client quelconque peut avoir plusieurs comptes. (1c) Tous les comptes d'un client sont des comptes.
  • 27. megaplanet 28 CardinalitésCardinalités  TerminologieTerminologie c1 : Compte c2 : Compte paul : Client pierre : Client marie : Client c3 : Compte EstTitulairePrincipalDe> EstTitulairePrincipalDe> EstTitutlairePrincipalDe> M0 M1 Terminologie et cardinalités sont intimement liéesTerminologie et cardinalités sont intimement liées
  • 28. megaplanet 29 Associations "reflexives"Associations "reflexives" parents enfants EstParentDe Personne 2 * Une association peut relierUne association peut relier des "objets" d'une même classedes "objets" d'une même classe N'implique pas forcémentN'implique pas forcément des liens "reflexifs"des liens "reflexifs" parents paul marie jean noelle fred parentsparents parents myria parentsparents sylvia parents parents attention: ce diagramme d'objets n'est pas conforme au diagramme de classe M0 M1
  • 29. megaplanet 30 ConformitéConformité Diagrammes d'instances / Diagrammes de classesDiagrammes d'instances / Diagrammes de classes parents enfants EstParentDe Personne 2 * parents paul marie jean noelle fred parentsparents parents myria parentsparents sylvia parents parents 0..0.. ATTENTION: ce diagramme d'objet n'est pas conforme au diagramme de classes M0 M1
  • 30. megaplanet 31 parents enfants EstParentDe Personne 2 * parents paul marie jean noelle fred parentsparents parents myria parentsparents sylvia parents parents 0..0.. ATTENTION: ce diagramme d'objet est conforme au diagramme de classes ConformitéConformité Diagrammes de classes / Système modéliséDiagrammes de classes / Système modélisé mais n'est pas correct à la réalité (pas réaliste) ATTENTION: ce diagramme de classes n'est pas un bon modèle du système modélisé M0 M1
  • 31. megaplanet 32 parents enfants EstParentDe Personne 2 * parents paul marie jean noelle fred parentsparents parents myria parentsparents sylvia parents parents parents 0..0.. ContraintesContraintes La relation EstParentDe est acyclique. M0 M1
  • 32. megaplanet 33 Diagrammes de classes vs. d’objetsDiagrammes de classes vs. d’objets Un diagramme de classesUn diagramme de classes défini l’ensemble de tous les états possiblesdéfini l’ensemble de tous les états possibles les contraintes doivent toujours être vérifiéesles contraintes doivent toujours être vérifiées Un diagramme d’objetsUn diagramme d’objets décrit un état possible à un instant t, un cas particulierdécrit un état possible à un instant t, un cas particulier doit être conforme au modèle de classesdoit être conforme au modèle de classes Les diagrammes d’objets peuvent être utilisés pourLes diagrammes d’objets peuvent être utilisés pour expliquer un diagramme de classe (donner un exemple)expliquer un diagramme de classe (donner un exemple) valider un diagramme de classe (le "tester")valider un diagramme de classe (le "tester") Client 1..4 0. .* titulaires Consortium Compte numéro solde ... * 1 0 . . * 1 0. .* 1. .* signataire1 0. .* CarteBleue Code retraitM ax Distributeur 1 . . * EstAcceptéPar> 1 .. * Banque numéro nom c1: Compt e c2: Comp te paul : Client pierre : Client marie : Client c3: Compt e t i t u l a i r e s t i t u l a i r e s : Carte Bleue t i t u l a i r e s t i t u l a i r e s s i g n a t a i r e : Carte Bleue sophi e : Client : B a n q u e : B a n q u e s i g n a t a i r e : Cons ortium : Distrib uteur EstAc cepté Par> EstAc cepté Par> c1: Compt e c2: Comp te paul : Client pierre : Client marie : Client c3: Compt e t i t u l a i r e s t i t u l a i r e s : Carte Bleue t i t u l a i r e s t i t u l a i r e s s i g n a t a i r e : Carte Bleue sophi e : Client : B a n q u e : B a n q u e s i g n a t a i r e : Cons ortium : Distrib uteur EstA c cepté Par> EstAc cepté Par>
  • 34. megaplanet 35 GénéralisationGénéralisation  SpécialisationSpécialisation Une classe peut être la généralisation d’une ou plusieurs autres classes. Ces classes sont alors des spécialisations de cette classe. "Super classe" "Sous classes" Personne FemmeHomme Compte Compte Epargne Cas général Cas spécifique Deux points de vue liés (en UML) : • héritage • sous-typage
  • 35. megaplanet 36 HéritageHéritage Compte solde crediter() debiter() CompteEpargne tauxInteret ajouterInterets () Les sous-classes « héritent » des propriétés des super-classes (attributs, méthodes, associations, contraintes) Banque* CompteEpargne solde tauxInteret crediter() debiter() ajouterInterets () * {inv: solde > -5000 et tauxInteret < 100} Banque {inv: solde > -5000} {inv: tauxInteret < 100}
  • 36. megaplanet 37 Héritage et redéfinitionsHéritage et redéfinitions Compte solde créditer( ) débiter() CompteEpargne créditer() débiter() ajouterIntérêts () PEL créditer() débiter() ajouterIntérêts () PEC débiter() PET débiter() Une opération peut être "redéfinie" dans les sous-classes Permet d'associer des méthodes spécifiques à chaque sous classe pour réaliser une même opération
  • 37. megaplanet 3 Sous TypageSous Typage Tout objet d’une sous-classe appartient également à la super-classe Compte Epargne ce1 Compte Compte CompteEpargne ce2 ce3 c3 c4 c18 c1 c2 M1 M0 Un compte epargne est un compte.
  • 38. megaplanet 39 Synthèse des concepts de baseSynthèse des concepts de base ClasseClasse attributattribut méthodeméthode AssociationAssociation rôlerôle cardinalitécardinalité o1 o2 o1 o2 o3 o4 o5 o1 o2 o3 ObjetObjet LienLien M1 M0 GénéralizationGénéralization héritagehéritage sous typagesous typage