UML Diagrammes de Classes - M1/uml/UML-ClassesObjets.pdf · PDF fileUML est basé...
date post
10-Sep-2018Category
Documents
view
240download
0
Embed Size (px)
Transcript of UML Diagrammes de Classes - M1/uml/UML-ClassesObjets.pdf · PDF fileUML est basé...
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