UML Diagrammes de Classes - selsek.free.frselsek.free.fr/eloker/miage/cours...
-
Author
truongtuyen -
Category
Documents
-
view
249 -
download
0
Embed Size (px)
Transcript of UML Diagrammes de Classes - selsek.free.frselsek.free.fr/eloker/miage/cours...
-
Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006 daprs Jean-Marie Favre
UMLUMLDiagrammes de ClassesDiagrammes de Classes
Objet, Classe, Attribut, MthodeObjet, Classe, Attribut, MthodeLien, Association, CardinalitLien, Association, Cardinalit
Gnralisation, Composition,Gnralisation, Composition, Agrgation,Agrgation,Classe associative, Association qualifieClasse associative, Association qualifie
-
2 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Concepts de baseConcepts de base
UML est bas sur diffrents concepts de base :UML est bas sur diffrents concepts de base : Objet, ClasseObjet, Classe Lien, AssociationLien, Association ContrainteContrainte
UML propose des notations et des diagrammesUML propose des notations et des diagrammes Diagramme de classes (description au niveau modlisation, cas gnral)Diagramme de classes (description au niveau modlisation, cas gnral) Diagramme dDiagramme dobjets (description au niveau instance, exemples)objets (description au niveau instance, exemples)
-
3 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Compte
numro : entiersolde : reldcouvertMax : entierconsulterSolde() : entiercrditer( somme : entier)dbiter( somme : entier)
Nom de la classeAttributs
nomtype
Mthodesnomparamtretype du rsultat
Contraintes{ solde > dcouvertMax }
Gre les informations etoprations dun comptebancaire
PrcisionsResponsabilitExceptions
Notation pour les classesNotation pour les classes
-
4 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Notations simplifiesNotations simplifiespour les classespour les classes
Compte
numrosolde : reldcouvertMax : entier
consulterSolde() : entiercrditer( somme : entier)dbiter( somme )
Comptenumrosolde...crditer()dbiter()...
Comptenumrosolde...
Comptecrditer()dbiter()...
Compte
Conventions : les noms de classes commencent par une majuscule les noms dattributs et de mthodes commencent par une minuscule
-
5 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Notations pour les objetsNotations pour les objets
leCompteDePaul : Compte
numro = 6688solde = 5000dcouvertMax = -100
leCompteDePaul
: Compte
leCompteDePaul : Compte
Convention : les noms dobjets commencent par une minuscule et sont souligns
-
6 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
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
Conventions : les noms des liens sont des formes verbales et commencent par une majuscule > indique le sens de la lecture (ex: paul APourCompte c1 )
-
7 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
RlesRles
c1 : Comptepierre : ClientAPourCompte>
titulaire compte
Chacun des deux objets joue un rle diffrent dans le lien
Conventions : choisir un groupe nominal pour dsigner un rle si un nom de rle est omis, le nom de la classe fait office de nom
pierre assume le rle de titulaire pour le compte c1c1 assume le rle de compte pour pierre
-
8 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Associations (entre classes)Associations (entre classes)
c1 : Compte
c2 : Compte
paul : Client
pierre : Client
marie : Client c3 : Compte
APourCompte>
APourCompte>
APourCompte>
Diagrammedobjets
(instances)
Diagrammede classes
(modlisation)Client Compte
APourCompte>
Une association dcrit un ensemble de liens de mme smantique
-
9 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Liens vs. AssociationsLiens vs. Associations
Un lien lie deux objetsUn lien lie deux objets Une association lie deux classesUne association lie deux classes
Un lien est une instance dUn lien est une instance dassociationassociation Une association dcrit un ensemble de liensUne association dcrit un ensemble de liens
Des liens peuvent tre ajouts ou crs pendant lDes liens peuvent tre ajouts ou crs pendant lexcution,excution,(ce n(ce nest pas le cas des associations)est pas le cas des associations)
-
10 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Cardinalits dCardinalits dune associationune association
Prcise combien dPrcise combien dobjets peuvent tre lis un seul objet sourceobjets peuvent tre lis un seul objet source Cardinalit minimale et cardinalit maximale (Cardinalit minimale et cardinalit maximale (CCminmin....CCmaxmax))
Client Compte1
c1 : Compte
c2 : Compte
paul : Client
pierre : Client
marie : Client c3 : Compte
APourCompte>
APourCompte>
APourCompte>
APourCompte> 0..*
titulaire comptes
Un client a 0 ou plusieurs comptes Un compte a toujours 1 et 1 seul titulaire
-
11 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Client Compte1 APourCompte> 0..*
titulaire comptes
c1 : Compte
c2 : Compte
paul : Client
pierre : Client
marie : Client c3 : Compte
APourCompte>
APourCompte>
APourCompte>
paul.comptes = {c1}pierre.comptes = {c2,c3}marie.comptes = {}c1.titulaire = paulc2.titulaire = pierrec3.titulaire = pierre
Utiliser les rles pour accder aux objetsUtiliser les rles pour accder aux objets
-
12 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Contraintes entre associationsContraintes entre associations
ClientCompte
numrosolde...
1 0..*titulairePrincipal
co-titulaires0..* 0..*
titulaires1..* 0..*
(1) Un client ne peut pas tre la fois titulaireprincipal et co-titulaire dun mme compte.(2) Les titulaires dun compte sont le titulaireprincipal et les co-titulaires le cas chant
Les cardinalits ne permettent pas dexprimer toutes les contraintes...
dcrire les contraintesen langue naturelle(ou en OCL le langage decontrainte dUML)
-
13 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Diagramme de classesDiagramme de classes
Client1..4 0..*titulaires
Consortium
Comptenumrosolde...
1..*
0..1
1
Banquenumronom
Distributeur 0..*
1
0..*
1..*
signataire1
0..* CarteBleue
CoderetraitMax
1..*EstAcceptPar>
(1) Le signataire de la carte bleue associe un compte est lun des titulaires de ce compte.(2) Une carte bleue est accepte au moins dans tous les distributeurs appartenant auxconsortiums de la banque correspondant au compte associ la carte bleue.(3) Un virement est possible entre deux comptes distincts si les banques correspondantesappartiennent un mme consortium.
virementPossible
0..*
-
14 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Diagrammes dDiagrammes dobjetsobjets
c1 : Compte
c2 : Compte
paul : Client
pierre : Client
marie : Client c3 : Compte
titulaires
titulaires
: CarteBleue
titulaires
titulaires
signataire
: CarteBleue
sophie : Client
: Banque
: Banque
fred : Client c4 : Comptetitulaires
: Banque
signataire
: Consortium
: Consortium
: Distributeur
: CarteBleuesignataire
: Distributeur
EstAcceptPar>
EstAcceptPar>
EstAcceptPar>
-
15 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Diagrammes de classesDiagrammes de classes vs. dvs. dobjetsobjets
Un diagramme de classesUn diagramme de classes dfinit ldfinit lensemble de tous les tats possiblesensemble de tous les tats possibles les contraintes doivent toujours tre vrifiesles contraintes doivent toujours tre vrifies
Un diagramme dUn diagramme dobjetsobjets dcrit un tat possible un instant t, un cas particulierdcrit un tat possible un instant t, un cas particulier doit tre conforme au modle de classesdoit tre conforme au modle de classes
Les diagrammes dLes diagrammes dobjets peuvent tre utiliss pourobjets peuvent tre utiliss 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")
-
16 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Diagrammes de classesDiagrammes de classes vs. dvs. dobjetsobjets
Client1..4 0..*
titulaires
Consortium
Compte
numrosolde...
1..*
0..1
1
Banque
numronom
Distributeur0..*
1
0..*
1..*
signataire1
0..*CarteBleue
CoderetraitMax
1..*
EstAcceptPar>
virementPossible
0..*
titulaires
titulaires
:Banque
signataire
:Dist ributeur
:Compte:Compte
:Client:
Client
:Compte
titulaires
:
titulaires
::
Client
:Banque:Banque
:Client
: : :Consortium
:Consortium:
Dist ributeur
: :
>>
>
...:Compte:Compte
:Client:
Client
:Compte
titulaires
:
titulaires
::
Client
:Banque:Banque
:Client
: : :Consortium
:Consortium:
Dist ributeur
: :
>>
>
:Compte:Compte
:Client:
Client
:Compte
titulaires
:
titulaires
::
Client
:Banque:Banque
:Client
: : :Consortium
:Consortium:
Dist ributeur
: :
>>
>
t1 t2 t3
-
17 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Gnralisation / SpcialisationGnralisation / Spcialisation
Une classe peut tre la gnralisation dune ou plusieurs autresclasses. Ces classes sont alors des spcialisations de cette classe.
"Super classe"
"Sous classes"
Personne
FemmeHomme
Compte
CompteEpargne
-
18 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
HritageHritage
Compte
soldecrditer()dbiter()
CompteEpargne
tauxIntrtajouterIntrts ()
Les sous-classes hritent des proprits des super-classes(attributs, mthodes, associations, contraintes)
Banque*CompteEpargne
soldetauxIntrt
crditer()dbiter()calculIntrts ()
Banque*{solde > -5000}
{tauxIntrt < 100}
{solde > -5000 ettauxIntrt < 100}
-
19 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Vision ensemblisteVision ensembliste
Vision ensembliste :tout objet dune sous-classe appartient galement la super-classe=> inclusion des ensembles dobjets
Comptepargne
ce1
ce2
ce3
c2
c2
c1
c3Compte
Compte Comptepargne
-
20 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Synthse des concepts de baseSynthse des concepts de base
ClasseClasse attributattribut mthodemthode
AssociationAssociation rlerle cardinalitcardinalit
Objets Liens
Gnralisation
Inclusionensembliste
o1
o2
o1
o2
o3
o4
o5
o1
o2
o3
-
21 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
ExempleExemple
Personne Socit1..* 0..1
employs
directeur 0..1
*subordonns
(1) Le directeur de tout employ est employ dans la mme socit.(2) Dans toute socit il y a au moins une personne qui nest dirige parpersonne (le directeur de la socit).(3) Une personne ne peut pas tre directeur delle mme...
-
22 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
ExempleExemple
poux
0..1pouse
0..1
pre 0..1
parents 0..2
enfants *
paul pouse mariepoux
joe
pre mre
mre 0..1
Personnesexe enfants
parents
enfantsparents
-
Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006 daprs Jean-Marie Favre
Diagrammes de classesDiagrammes de classesconcepts additionnelsconcepts additionnels
Principe dPrincipe dconomie de moyensconomie de moyensConcepts utiliser bon escient, lorsque ncessaireConcepts utiliser bon escient, lorsque ncessaire
et uniquement lorsque ncessaire...et uniquement lorsque ncessaire...
Principe KISSPrincipe KISSKeep It Small and SimpleKeep It Small and Simple
-
24 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
RappelsRappels
UML est un ensemble de notationsUML est un ensemble de notationsDe nombreuses utilisations possiblesDe nombreuses utilisations possibles
Notation simple vs. complexeNotation simple vs. complexe Notation plus ou moins formelleNotation plus ou moins formelle Notation extensibleNotation extensible
-
25 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Savoir s'adapterSavoir s'adapter
S'adapterS'adapter au niveau d'abstractionau niveau d'abstraction au domaine d'applicationau domaine d'application ses collgues ses collgues aux outils utilissaux outils utiliss
pour crire des diagrammes UML,pour crire des diagrammes UML, pour gnrer du code, des schmas de bases de donnes, pour gnrer du code, des schmas de bases de donnes, etcetc.. ......
Savoir lire vs. savoir crireSavoir lire vs. savoir crireIngnierie vs. Ingnierie vs. Retro-ingnierieRetro-ingnierie
-
26 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
+ # - Visibilit des lments+ # - Visibilit des lments
Restreindre l'accsRestreindre l'accs aux lments d'un modleaux lments d'un modle Contrler et viter les dpendances entre paquetagesContrler et viter les dpendances entre paquetages
++ publicpublic visible universellementvisible universellement # protg# protg visible dans la classe et ses sous-classesvisible dans la classe et ses sous-classes -- privpriv visible dans la classe uniquementvisible dans la classe uniquement ~ paquetage~ paquetage visible dans le paquetagevisible dans le paquetage
A noterA noter N'a pas de sens dans un modle abstraitN'a pas de sens dans un modle abstrait Uniquement vue interne logiciel : conception.Uniquement vue interne logiciel : conception. N'utiliser que lorsque ncessaire.N'utiliser que lorsque ncessaire.
-
27 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Dclaration d'attributsDclaration d'attributs
[ [ visibilitvisibilit ] ] nomnom [ [card card ordreordre] [ ] [ :: typetype ] [ ] [ == valeur-initialevaleur-initiale ] [ ] [ {{ propritsproprits... ... }} ] ]Attributs spciauxAttributs spciaux
- de classe.- de classe. SoulignsSouligns nomnom- abstrait.- abstrait. ItaliqueItalique nom nom ou encore {abstract}ou encore {abstract}- driv.- driv. /nom/nom
Les attributs cardinalit multiple peuvent possder un ordre.Les attributs cardinalit multiple peuvent possder un ordre.Proprits : changeable, Proprits : changeable, addOnlyaddOnly, , frozenfrozenexemples:exemples: ageage - age : - age : Integer Integer = 0= 0 # age [0..1] : # age [0..1] : IntegerInteger # # numsecu numsecu : : Integer Integer {{frozenfrozen}} # # motsCls motsCls [*] : String {[*] : String {addOnlyaddOnly}}
Adapter le niveau de dtail au niveau d'abstractionAdapter le niveau de dtail au niveau d'abstraction
-
28 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Dclaration d'oprationsDclaration d'oprations
[ visibilit ] nom [ ( [ visibilit ] nom [ ( params params ) ] [ : ) ] [ : type_retourn type_retourn ] [ { proprits... } ]] [ { proprits... } ]params params := [ in | out| := [ in | out| inout inout ] nom [ : type] [ ] nom [ : type] [ =defaut =defaut ] [{proprits... } ]] [{proprits... } ]
Exemples :Exemples : getAgegetAge()() + + getAgegetAge() : () : IntegerInteger - - updateAgeupdateAge( in date : Date ) : ( in date : Date ) : BooleanBoolean + + getAgegetAge() : () : Integer Integer {{isQueryisQuery}}
Adapter le niveau de dtail au niveau d'abstractionAdapter le niveau de dtail au niveau d'abstraction
-
29 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
NavigationNavigation
Client Compte1
titulaire
Association unidirectionnelleOn ne peut naviguer que dans un sens
Ce dtail nest a priori utile que lors de la conceptionEn cas de doute, ne pas mettre de flche !!!
*
-
30 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
CompositionComposition
Voiture Roue
composition = cas particulier dassociation + contraintes dcrivant la notion de "composant"...
4Pneu
Jante
1
1
Notion intuitive de "composants" et de "composites"
-
31 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
CompositionComposition
Contraintes lies la composition :1. Un objet composant ne peut tre que dans un seul objetcomposite
2. Un objet composant nexiste pas sans son objet composite3. Si un objet composite est dtruit, ses composants aussi
Voiture Roue4
Pneu
Jante
1
1
-
32 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
CompositionComposition
Document ChapitreSection
Figure
1..* 1..*
0..*
Contraintes:1. Un objet composant ne peut tre que dans un seul objetcomposite
2. Un objet composant nexiste pas sans son objet composite3. Si un objet composite est dtruit, ses composants aussi
0..1
-
33 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
CompositionComposition
Document ChapitreSection
Figure
1..* 1..*1
0..*
1..*
: document
: chapitre
: chapitre
: section
: section
: figure
: figure
: section
Les composantsforment un arbre
-
34 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
CompositionComposition
Pointxy
Polygone 3..* Cerclerayon
1
-
35 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Autres notations pour laAutres notations pour laCompositionComposition
Voiture
Volant
Roue
1
4
Voiture
volant : Volantroue [4] : Rouesiges [*] : Sige
Sige*siges Voiture
Volant 1
Roue 4
siges : Sige
-
36 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Associations intra vs. inter compositesAssociations intra vs. inter composites
Voiture
Volant 1
Roue 4
Volant
Roue
*
0..1
0..1
*
Voiture
1
4
Constructeur
*1
Constructeur 1*
-
37 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
ExempleExemple
Polygone
Point3..*
11succ
*
*pointsLis
deplacer()supprimer()
deplacer()supprimer()
initial 1
-
38 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
AggregationAggregation
aggregation = cas particulier dassociation + contraintes dcrivant la notion d'appartenance... ?
Partage possiblePas de consensus sur la signification exacte de l'aggrgationUtiliser avec prcautions (ou ne pas utiliser...)
Pointxy
Figure **
-
39 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Classes associativesClasses associatives
Personne Socitemploy
* 0..2
Pour associer des attributs et/ou des mthodes aux associations => classes associatives
Emploisalaireaugmenter()
Le nom de la classe correspond au nom de lassociation
socit
-
40 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Classes associativesClasses associatives
Personne Socitemploy
* 0..2Emploi
salaireaugmenter()
s1pierre
employmarie
s1
employ
employ e2salaire = 2000
e1salaire = 10000
e3salaire = 16000
Le salaire est une information correspondant ni une personne, ni une socit,
mais un emploi (un couple personne-socit).
socit
-
41 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Classes associativesClasses associatives
p1Emploi>
s1
Pour une association donne, deux objets ne peuvent treconnects que par un seul lien correspondant cette association.
Emploi>
Cette contrainte reste vraie dans le cas o lassociation est dcrite partir dune classe associative.
p1 s1
: Emploisalaire = 10000
: Emploisalaire = 2000
-
42 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Classes associativesClasses associatives
Personne Socitemploy
* 0..2Emploi
salaire
Personne Socitemploy
1 1
0..2
socit
socitEmploisalaire
*
Ci-dessus, une personne peut avoir deux emplois, mais pas dans la mme socit
Ci-dessus, une personne peut avoir deux emplois dans la mme socit
e2p1
s1e1
p1
s1
e1
-
43 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Classes associativesClasses associatives
comptecompteCrdit
*
Virementmontant
*compteDbit
compte
compteCrdit1
Virementmontant
1compteDbit* *
Ou ?
-
44 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Classes associativesClasses associatives
Les classes associatives sont des associations mais aussi des classes.Elles ont donc les mmes proprits et peuvent par exemple trelies par des associations.
Personne Socitemploy
*Emploi
salaireaugmenter()
socit
responsable
subordonns
*
0..1
*
-
45 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Contraintes sur les associationsContraintes sur les associations
Contraintes prdfinies sur les associations. Par exemple : { frozen } : fix lors de la cration de lobjet, ne peut pas changer { ordered } : les lments de la collection sont ordonns { addOnly } : impossible de supprimer un lment
RelevDeCompte
LigneOpration*
{ordered,addOnly}
lignes
Il est possible de dfinir de nouvelles contraintes
-
46 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Synthse sur les associationsSynthse sur les associations
-
47 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
ExempleExemple
Noeud *
Graphe
*
Arc*
Poignes
2..*
succs
{ordered}preds
Polygone{frozen}
1 1
Points
{ordered,frozen}*
*0..1
-
48 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Associations qualifiesAssociations qualifies
Repertoire Fichiernom0..1
Un qualifieur est un attribut ou un ensemble d'attributs dont lavaleur sert dterminer l'ensemble des instances associes uneinstance via une association.
Les attributs du qualifieur sont des attributs de l'association.
-
49 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Associations vs.Associations vs.Associations qualifiesAssociations qualifies
Banque Personnencpt0..1*
Banque Personne* *
clients
Banque Personne* *
Client
Banque Personne* *
ncpt
ncpt
Clientncpt* *
-
50 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Cardinalit desCardinalit desAssociations QualifiesAssociations Qualifies
Banque Comptenc0..1
Banque Employetitre **
Echiquier Casenl : NumLignenc : NumCol 11
-
51 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
ExempleExemple
Association1901 Personnetitre:Titre1*
** membres
a1
Titre = enum {President, Tresorier, Secretaire }
#Tresorier
#President
#Secretaire joe
sylvia
ahmed
fredmembres
membres
-
52 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Hritage et redfinitionHritage et redfinition
Figure
surface()dplacer()
Cercle
surface()
Polygone
surface()
Une sous classe peut redfinir une proprit, condition toutefoisde rester compatible avec la dfinition originale
Carre
surface()
-
53 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Hritage multipleHritage multiple
Une classe peut hriter de plusieurs super-classes
Certains langages de programmation interdisent lhritage multiple
Chauffage Appareillectrique
Chauffage lectrique
PoelAMazout
Appareil
FourAMicroOndes
-
54 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Points lis lPoints lis lhritagehritageet la classificationet la classification
Les modles orients-objetsne font pas tous les mmes hypothses
Hritage simple vs. hritage multipleUne classe peut elle hriter de plusieurs classes ?
Classification simple vs. classification multipleUn objet peut-il tre simultanment instance de plusieurs classes?
Classification statique vs. classification dynamiqueUn objet peut-il changer de classe pendant lexcution ?
-
55 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
Points lis lPoints lis lhritagehritageet la classificationet la classification
Sauf si le contraire est indiqu explicitement,en UML les hypothses par dfaut sont :
Hritage multipleune classe peut hriter de plusieurs classes
Classification simpleun objet est instance dune seule classe
Classification statiqueun objet est cr partir dune classe donne et nen change pas
-
56 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
ExempleExemple
Femme Hommepouse poux0..1 0..1
Personne
mre pre0..1 0..1
* *
parents 0..2 enfants*
-
57 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006
ExempleExemple
Compte
soldecrditer()dbiter()
CompteEpargne
tauxIntrtajouterIntrts ()
Oprationdatemontant
Dbit Crdit{montant0}
*
1
1*
1
destinataire