megaplanet
UML :UML :
Diagrammes de ClassesDiagrammes de Classes
Concepts de baseConcepts de base
Objets, ClassesObjets, C...
megaplanet
2
Concepts de baseConcepts de base
ClasseClasse
attributattribut
méthodeméthode
AssociationAssociation
rôlerôle...
megaplanet
3
Concepts de baseConcepts de base
UML est basé sur différents concepts de base :UML est basé sur différents co...
megaplanet
Objets et Classes
4
megaplanet
5
Compte
Notation pour les classesNotation pour les classes
numero : entier
solde : entier
decouvertMax : entie...
megaplanet
6
Compte
ParaphrasageParaphrasage
numero : entier
solde : entier
decouvertMax : entier
consulterLeSolde() : ent...
megaplanet
7
Notations alternativesNotations alternatives
Compte
numero : entier
solde : reel
decouvertMax : entier
consul...
megaplanet
8
Notations pour les objetsNotations pour les objets
leCompteDePaul : Compte
numero = 6688FA89K888
solde = 5000...
megaplanet
9
ParaphrasageParaphrasage
leCompteDePaul : Compte
numero = 6688FA89K888
solde = 5000
découvertMax = -100
leCom...
megaplanet
10
Classe vs. ObjetsClasse vs. Objets
Compte
numéro
solde : réel
découvertMax : entier
consulterSolde() : entie...
megaplanet
Liens et Associations
11
megaplanet
12
Liens (entre objets)Liens (entre objets)
c1 : Compte
c2 : Compte
paul : Client
pierre : Client
marie : Clien...
megaplanet
13
ParaphrasageParaphrasage
c1 : Compte
c2 : Compte
paul : Client
pierre : Client
marie : Client c3 : Compte
AP...
megaplanet
14
Contrainte sur les liensContrainte sur les liens
Au maximum un lienAu maximum un lien d'un type donnéd'un ty...
megaplanet
15
Contrainte sur les liensContrainte sur les liens
Au maximum un lienAu maximum un lien d'un type donnéd'un ty...
megaplanet
16
RôlesRôles
c1 : Comptepierre : Client
APourCompte
titulaire compte
Chacun des deux objets joue un rôle diffè...
megaplanet
Liens et Associations
17
megaplanet
18
Associations (entre classes)Associations (entre classes)
c1 : Compte
c2 : Compte
paul : Client
pierre : Clie...
megaplanet
ParaphrasageParaphrasage
Client Compte
APourCompte
comptestitulaire
(1) Un client a pour compte des comptes.
(2...
megaplanet
20
Association vs. LiensAssociation vs. Liens
UnUn lienlien lie deuxlie deux objetsobjets
UneUne associationass...
megaplanet
21
Nommer les associationsNommer les associations
Compte Banque
Compte Banque
EstGéréPar
banqueGérantecomptesGé...
megaplanet
23
Utiliser les rôles pour «naviguer»Utiliser les rôles pour «naviguer»
Client Compte
APourCompte
titulaire com...
megaplanet
24
Utiliser les rôles pour «naviguer»Utiliser les rôles pour «naviguer»
Client Compte
APourCompte
titulaire com...
megaplanet
25
CardinalitésCardinalités
Nombre d’objets pouvant être liés à un objet source (min..max)Nombre d’objets pouva...
megaplanet
Notation SimplifiéeNotation Simplifiée
* équivalent àéquivalent à 0..*
3 équivalent à 3équivalent à 3..3
Client...
megaplanet
27
ParaphrasageParaphrasage
Client Compte
1..1
0..*
titulaire
comptes
(1a) Un client quelconque peut ne pas avo...
megaplanet
28
CardinalitésCardinalités  TerminologieTerminologie
c1 : Compte
c2 : Compte
paul : Client
pierre : Client
m...
megaplanet
29
Associations "reflexives"Associations "reflexives"
parents
enfants
EstParentDe
Personne
2
*
Une association ...
megaplanet
30
ConformitéConformité
Diagrammes d'instances / Diagrammes de classesDiagrammes d'instances / Diagrammes de cl...
megaplanet
31
parents
enfants
EstParentDe
Personne
2
*
parents
paul marie
jean noelle
fred
parentsparents parents
myria
pa...
megaplanet
32
parents
enfants
EstParentDe
Personne
2
*
parents
paul marie
jean noelle
fred
parentsparents parents
myria
pa...
megaplanet
33
Diagrammes de classes vs. d’objetsDiagrammes de classes vs. d’objets
Un diagramme de classesUn diagramme de ...
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 ...
megaplanet
36
HéritageHéritage
Compte
solde
crediter()
debiter()
CompteEpargne
tauxInteret
ajouterInterets ()
Les sous-cla...
megaplanet
37
Héritage et redéfinitionsHéritage et redéfinitions
Compte
solde
créditer(
)
débiter()
CompteEpargne
créditer...
megaplanet
3
Sous TypageSous Typage
Tout objet d’une sous-classe
appartient également à la
super-classe
Compte
Epargne
ce1...
megaplanet
39
Synthèse des concepts de baseSynthèse des concepts de base
ClasseClasse
attributattribut
méthodeméthode
Asso...
Prochain SlideShare
Chargement dans…5
×

Uml: Diagrammes de classes -- Concepts De Base 41

991 vues

Publié le

Introduction aux modèles de classes d'UML. Uniquement les concepts de bases sont présentés:
- classes et objets
- associations et liens
- héritages
Les autres concepts ne sont pas fondamendaux. Ils sont présentés dans un autre jeu de transparents.

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
991
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
53
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Uml: Diagrammes de classes -- Concepts De Base 41

  1. 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. 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. 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)
  4. 4. megaplanet Objets et Classes 4
  5. 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. 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. 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. 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. 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. 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
  11. 11. megaplanet Liens et Associations 11
  12. 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. 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. 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. 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. 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
  17. 17. megaplanet Liens et Associations 17
  18. 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. 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. 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. 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. 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. 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. 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. 25. megaplanet Notation SimplifiéeNotation Simplifiée * équivalent àéquivalent à 0..* 3 équivalent à 3équivalent à 3..3 Client Compte 1 APourCompte * titulaire comptes
  26. 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. 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. 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. 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. 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. 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. 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>
  33. 33. megaplanet GénéralisationGénéralisation 34
  34. 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. 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. 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. 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. 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

×