Sunteți pe pagina 1din 62

Universit My Ismail-FS Dpartement de Math Info

Licence Professionnelle dInformatique LPI

AU 2011/2012

UML (Diagramme de classes)


Unified Modeling Language

Diagramme de Classes/ UML2

LPI

A. Oubelkacem

Sommaire

Introduction Objectifs Diagramme de classes Classe (Nom, attribut, opration) Visibilit et porte des constituants dune classe Association (Nom, rles) Association rflexive Navigabilit dune association Contraintes sur association Qualificateur dune association Classe associative Types dassociation (Agrgation, composition, gnralisation / spcialisation) Classe et opration abstraites
LPI A. Oubelkacem
2

Diagramme de Classes/ UML2

Diagramme de classes

Apport en grande partie de la mthode OMT (Rumbaugh) Sapparente un diagramme entit-association (MERISE). Il prsente les diffrents objets (classes) du systme ainsi que les liens entre ces objets (associations) Diagramme le plus important dans une modlisation objet

Diagramme de Classes/ UML2

LPI

A. Oubelkacem

Diagramme de classes
Objectifs Dterminer les donnes qui seront manipules par le systme Ces donnes sont organises en classes Donner la structure statique de ces donnes Ce diagramme permet de dcrire la structure interne de chacune des classes Reprsenter les relations statiques existant entre les diffrentes donnes du systme La navigation parmi les classes est rendue possible par lexistence dassociations qui les unissent

Faire abstraction des aspects temporels et dynamiques de la modlisation. Seul laspect statique compte, la dynamique est prise en charge par dautres modles
Diagramme de Classes/ UML2 LPI A. Oubelkacem
4

Diagramme de classes (Dfinition)

Le diagramme de classes est un diagramme entits-associations dcrivant les diffrentes classes, leur structure et les associations statiques les unissant
Le diagramme de classes est un diagramme structurel ne prsentant que les classes et pas les instances de classe Il permet de dcrire la structure interne des classes en terme dattributs et doprations Il permet de reprsenter les associations statiques entre les classes, mais ne dcrit pas comment les liens effectifs entre les instances sont effectus
LPI A. Oubelkacem
5

Diagramme de Classes/ UML2

Diagramme de classes
Exemple

Client

1 *

possde

0..1

CompteCourant

1 souscrit 0..1

achte * Actions

Plan Epargne Actions

Diagramme de Classes/ UML2

LPI

A. Oubelkacem

Classe (Dfinition)

Une classe est une abstraction de choses du monde rel possdant des caractristiques et des comportements communs

La classe est la fabrique, le moule, partir du quel on fabrique les instances (les objets) Seules les caractristiques pertinentes pour le problme tudi entrent dans la composition de la classe

Diagramme de Classes/ UML2

LPI

A. Oubelkacem

Classe

Abstraction

Abstraction

Chien
age pedigree courir() aboyer() Diagramme de Classes/ UML2 LPI

Personne
age nationalit se promener() crier() A. Oubelkacem
8

Classe (Notation)
Une classe est reprsente par un rectangle dcoup en 3 parties Sont prsents :
le nom de la classe la liste de ses attributs la liste de ses oprations

Notation

<< Strotype >> Nom paquetage :: Nom classe Attributs Oprations

Diagramme de Classes/ UML2

LPI

A. Oubelkacem

Nom de la classe

Le nom de la classe peut tre prcd dun strotype qualifiant le type de la classe Le nom de la classe est prfix par un nom de paquetage si la classe est externe au paquetage courant Le nom dune classe abstraite est donn en Italique
LPI

<< Scurit >> login :: Code secret N Code

<< Mtier >> Compte

Crditer() Dbiter()

<< Mtier >> Compte chque N de compte

Diagramme de Classes/ UML2

A. Oubelkacem 10

Attribut de la classe (Dfinition et notation) Un attribut est une caractristique intrinsque partage par tous les objets dune classe
Lattribut possde un nom unique dans la classe On peut associer lattribut le type des valeurs quil peut prendre On peut donner une valeur initiale lattribut

Notation
<< Strotype >> Nom paquetage :: Nom classe
nomAttribut1 : typeAttribut1 = valeurInitiale1 nomAttributN : typeAttributN = valeurInitialeN

Diagramme de Classe/ UML2

LPI

A. Oubelkacem

11

Attribut de la classe
Recommandations pour trouver les attributs

Les 3 rgles dor de lattribut : Eliminer les attributs caractrisant une autre classe ex : lattribut nom client dans la classe compteBancaire Se mfier des attributs multi-valus, ils cachent souvent euxmmes une classe ex : lattribut enfants dans la classe Personne Se mfier des attributs structurs, ils cachent souvent euxmmes une classe ex : lattribut Adresse dans une classe Personne

Diagramme de Classes/ UML2

LPI

A. Oubelkacem 12

Opration de la classe (Dfinition et notation) Une opration est un service que propose une classe sur son interface
Lopration possde un nom pas forcment unique dans la classe On peut associer lopration ses arguments On peut associer lopration son type de retour

Notation << Strotype >>

Nom paquetage :: Nom classe

nomOpration1 (nomArg1 : TypeArg1 = valeurParDfaut1, ...) : typeRetour1 nomOprationN (nomArgN : TypeArgN = valeurParDfautN, ...) : typeRetourN

Diagramme de Classes/ UML2

LPI

A. Oubelkacem

13

Opration de la classe
Recommandations pour trouver les oprations

Ne donner les informations sur les arguments et le type de retour quen phase de Conception Lorsquune classe possde de trs nombreuses oprations se poser la question du dcoupage de la classe

Diagramme de Classes/ UML2

LPI

A. Oubelkacem

14

Exemple de classe

Compte
numero solde effectuerVirement() Accesseurs getSolde() setSolde() getNumero() setNumero()
Diagramme de Classes/ UML2 LPI A. Oubelkacem

15

Visibilit et Porte des constituants de la classe


La visibilit prcise la manire dont un nom peut tre vu et utilis par les autres (public, protg, priv) La porte prcise dans quel contexte un nom prend sa signification (instance ou classe) Par dfaut, la visibilit est publique et la porte est dinstance
LPI

Notation
Nom Classe +Attribut public #Attribut protg -Attribut priv Attribut de classe /Attribut driv +Opration publique() #Opration protge() -Opration prive() Opration de classe()
A. Oubelkacem
16

Diagramme de Classes/ UML2

Association (Dfinition)

Une association est une abstraction de liens qui peuvent exister entre les instances de plusieurs classes
Dans le monde rel, les objets sont lis physiquement ou fonctionnellement les uns avec les autres Ces liens entre objets se traduisent au niveau des classes par des associations Une association traduit donc une relation structurelle statique entre deux ou plusieurs classes
LPI A. Oubelkacem

Diagramme de Classes/ UML2

17

Association

Abstraction

Abstraction

Chien
ge race courir() aboyer() Diagramme de Classes/ UML2 LPI
Abstraction

Personne
ge nationalit se promener() crier() A. Oubelkacem 18

Association (Notation)
Une association est reprsente au moyen dun trait orient reliant chacune des classes concernes Il est possible de nommer lassociation et de prciser les rles tenus par chaque classe

Notation Client
achte

Voiture

Personne

salari employeur

Socit

Diagramme de Classes/ UML2

LPI

A. Oubelkacem 19

Nom de lassociation
Le nom de lassociation est en gnral une forme verbale active ou passive qui dcrit globalement le lien

Notation

Le nom de lassociation est facultatif

Client
Le nom doit apparatre sur lassociation, mais ne doit pas tre rattach lune des extrmit

achte

Voiture

Diagramme de Classes/ UML2

LPI

A. Oubelkacem

20

Nom de lassociation
Exemple: des postes de travail sont connects un rseau local. Chaque poste est reli un segment caractris par un indicatif IP, un nom et une longueur de cble. Le verbe connecter induit une association entre les entits Poste_travail et Segment.

entit classe

Diagramme de Classes/ UML2

LPI

A. Oubelkacem 21

Nom de lassociation
Terminologie

Le diagramme de classe:

connecter

Connexion()
Diagramme de Classes/ UML2 LPI A. Oubelkacem 22

Rles de lassociation
Le rle permet de dcrire, laide dun nom, comment une classe peroit une autre classe au travers de lassociation Un rle doit figurer lextrmit de lassociation quil qualifie Les rles sont facultatifs Lassociation peut faire figurer les deux, un seul ou aucun des rles
Diagramme de Classes/ UML2 LPI A. Oubelkacem 23

Notation

Personne salari
employeur

Socit

Nom et rles de la classe (Recommandations)

Lutilisation du nom et des rles dune association nest pas exclusif Cependant, les conjointement deux notations sont rarement utilises

Lusage du nom et des rles nest pas obligatoire, mais il savre indispensable si deux objets sont relis par plusieurs associations ou si une association est rflexive

Diagramme de Classes/ UML2

LPI

A. Oubelkacem

24

Association rflexive
Une association peut mettre en jeux deux classes distinctes Mais, elle peut aussi apparatre sur une seule et mme classe Dans ce cas prcis, lassociation est dite rflexive

Client

achte

Voiture

Exemple dassociation classique

Vit en couple avec

Personne

Exemple dassociation rflexive

Diagramme de Classes/ UML2

LPI

A. Oubelkacem 25

Association rflexive Association rflexive de un plusieurs Pour des postes de travail, certains lments sont serveurs et dautres sont clients. La relation entre les postes clients et serveurs est rflexive, car elle porte sur la mme classe : Poste_travail. Un poste client est reli un seul serveur

Un poste serveur relie zro ou plusieurs postes


Diagramme de Classes/ UML2 LPI A. Oubelkacem 26

Association rflexive Association rflexive de plusieurs un plusieurs


Considrons lexemple que laccs certaines units de valeurs (UV) est conditionn par des pr requis. Les UV elles-mmes pr requises constituent ventuellement un pr requis pour la prparation dune ou de plusieurs autres UV. Ainsi, pour passer lUV BD objet relationnelle, il faut avoir les UV BD relationnelle et SQL. Par ailleurs, laccs aux UV JDBC et Oracle 8 suppose lobtention de lUV BD objet relationnelle.

Diagramme de Classes/ UML2

LPI

A. Oubelkacem 27

Navigabilit de lassociation
La navigabilit dune association permet de dfinir dans quel sens lassociation peut tre parcourue La navigabilit dune association est modlise par une flche sur lextrmit pouvant tre atteinte par navigation La navigabilit peut tre bidirectionnelle Labsence de flche sur les deux extrmits signifie que lassociation est bidirectionnelle
LPI

Notation
Personne
a vu

Film

Chaque personne a accs aux films qu'elle a dj vus, mais partir d'un film, on interdit de retrouver la liste des personnes l'ayant vu

Client

achte

Voiture

Lassociation peut tre parcourue dans les deux sens

Diagramme de Classes/ UML2

A. Oubelkacem

28

Navigabilit de lassociation Par dfaut, une association UML est navigable dans les deux sens. UML 2 permet dexprimer dans un diagramme que les instances dune classe ne connaissent pas les instances dune autre bien qutant relies entre elles dans le cadre de lassociation. Ex: Considrons lexemple dune association qui relie un tudiant son professeur prfr.

Diagramme de Classes/ UML2

LPI

A. Oubelkacem

29

Multiplicits de lassociation

La cardinalit dun ensemble est le nombre dlments de cet ensemble La multiplicit est la spcification des valeurs de cardinalit admissibles pour un ensemble La multiplicit est associe une extrmit de lassociation et indique combien dinstances de la classe considre peuvent tre lies une instance de lautre classe
LPI

Notation
Personne
1 ..* emploie 1

Socit

Une socit emploie de une plusieurs personnes Une personne est employe par une seule socit

Client
*

achte 0..*

Voiture

Un client achte zro plusieurs voitures Une voiture peut tre achete par un client au plus

Diagramme de Classes/ UML2

A. Oubelkacem

30

Multiplicits de lassociation
La multiplicit est une spcification respectant les conventions suivantes :
1 0..1 N M..N 0..* 1..* N..* : un et un seul (notation facultative) : zro ou un : exactement N (N: entier naturel) : de M N (deux entiers naturels) : de zro plusieurs : de un plusieurs : N ou plus (N: entier naturel)

Cardinalits/multiplicits

Diagramme de Classes/ UML2

LPI

A. Oubelkacem

31

EXEMPLES
ASSOCIATION UN UN

Exemple1: un tudiant est caractris par un numro INSEE et un nom. Chaque tudiant doit effectuer un seul stage en entreprise. Un stage est dsign par un numro, un thme et le nom du responsable ; il est suivi par un seul tudiant.

Est effectue par

Diagramme de Classes/ UML2

LPI

A. Oubelkacem

32

EXEMPLES
ASSOCIATION UN PLUSIEURS Exemple2: Dans cet exemple un professeur, caractris par un numro, un

nom et un grade, peut tre responsable de plusieurs units de valeurs (UV). Chaque UV, dsigne par un numro, un titre et une anne de cration, est place sous la responsabilit dun seul professeur. Il existe des professeurs qui ne sont responsables daucune UV. Lentit Professeur est dite pre car un professeur est en relation avec plusieurs UV fils .

Diagramme de Classes/ UML2

LPI

A. Oubelkacem

33

EXEMPLES
ASSOCIATION PLUSIEURS PLUSIEURS sans attribut

cet exemple, chaque tudiant met un ou plusieurs voeux concernant des stages. Un stage peut nintresser aucun tudiant ou, au contraire, en attirer plusieurs.

Exemple3: Dans

Diagramme de Classes/ UML2

LPI

A. Oubelkacem

34

Contraintes sur association

Dautres types de contraintes existent sur une association : Des contraintes prdfinies :
Les contraintes ensemblistes : {Sous-ensemble} Les contraintes dordonnancement : {Ordonn} Les contraintes dexclusion : {Ou - exclusif}

Des contraintes spcifiques au moyen du langage OCL (Object Constraint Language)

Diagramme de Classes/ UML2

LPI

A. Oubelkacem 35

Contraintes ensemblistes sur association


Ce type de contrainte permet de modliser le cas o un ensemble dassociations est inclus dans un autre ensemble dassociation

Notation
est nomin {Sous-ensemble}
*

Prix

Personne

est laurat

Les personnes laurates dun prix sont obligatoirement choisies parmi celles qui sont nomines pour ce prix

Diagramme de Classes/ UML2

LPI

A. Oubelkacem 36

Contraintes dordonnancement sur association


Ce type de contrainte permet de modliser le cas o pour une instance donne, lensemble des instances avec lesquelles elle est en relation doit tre ordonn

Notation
0..* est dans les points

{Ordonn}
0..6

Grand prix

Pilote

Lors dun grand prix au maximum 6 pilotes peuvent tre dans les points Ces 6 pilotes sont classs larrive

Diagramme de Classes/ UML2

LPI

A. Oubelkacem 37

Contraintes dexclusion sur association


Ce type de contrainte permet de modliser le cas o pour une instance donne dune classe, une seule association prise parmi plusieurs possibles, peut tre valide un instant donn

Notation
employ {Ou - exclusif} employeur
0..*

Socit

Personne

Une personne peut tre soit employe par une socit, soit employeur dune socit Mais une personne ne peut pas tre la fois employeur et employ

Diagramme de Classes/ UML2

LPI

A. Oubelkacem 38

Qualificateur dune association

Le qualificateur est un attribut ou un ensemble dattributs permettant de partitionner lensemble des instances dune classe qui sont en relation avec une instance donne Le qualificateur permet de restreindre la multiplicit de lassociation

Notation
Classe A
Qualificateur

Classe B

Qualificateur = attribut1, , attributN

Diagramme de Classes/ UML2

LPI

A. Oubelkacem

39

Qualificateur dassociation
Exemples

Universit

1..*
possde

Salle

Une universit possde de une plusieurs salle(s) Une salle appartient une et une seule universit

Universit

numro

0..1
possde

Salle

Une universit possde au plus une salle ayant ce numro Une salle appartient une et une seule universit

Diagramme de Classes/ UML2

LPI

A. Oubelkacem 40

Qualificateur dassociation
Exemples

Personne

0..*
possde

Compte bancaire

Une personne possde de zro plusieurs compte(s) bancaire(s) Un compte bancaire appartient une et une seule personne

possde

Personne

agence

0..1

Compte bancaire

Une personne possde au plus un compte bancaire par agence Un compte bancaire appartient une et une seule personne

Diagramme de Classes/ UML2

LPI

A. Oubelkacem 41

Classe associative
Une association peut tre matrialise par une classe dans une des circonstances suivantes : si lassociation est porteuse dattributs si lassociation se matrialise par un objet concret dans le monde rel si lassociation est de multiplicit M .. N Une classe associative est une classe part entire Elle est modlise par un lien en pointill allant de la classe vers lassociation concerne
Diagramme de Classes/ UML2

Notation

Classe A

Classe B

Classe associative

LPI

A. Oubelkacem

42

Classe associative
Exemples

Socit
nom numSiret adresse

1..* Emploi
fonction salaire

Personne
nom prenom age

Etudiant
nom prnom adresse

1..* Rsultat
note

1..*

Concours
nom cole date lieu

Diagramme de Classe/ UML2

LPI

A. Oubelkacem 43

Classe associative
Exemples

Exemple: Supposons quun dpartement achte des logiciels. Un logiciel peut tre achet par un ou plusieurs dpartement(s) diffrentes dates et diffrents prix. On prcise laide des cardinalits minimales que chaque dpartement a achet au moins un logiciel et que chaque logiciel a t achet par au moins un dpartement.

En plaant lattribut dateachat dans Dpartement ou dans Logiciel, nous exprimons deux choses diffrentes, savoir quun dpartement nachte des logiciels qu une seule date ou quun logiciel ne peut tre achet qu un seul moment de lanne. Ces deux remarques valent galement pour lattribut prix. Diagramme de Classes/ UML2 LPI A. Oubelkacem
44

Classe associative
Exemples

logiciels sont installs sur des serveurs linitiative de dpartements. On dsire savoir la date laquelle un dpartement a procd linstallation dun logiciel sur un serveur.
Association en losange

Exemple2: Dans cet exemple des

Le diagramme modlise lassociation laide du symbole de lassociation n-aire. La contrainte


dunicit apparat explicitement (multiplicit 1 du ct Serveur). Diagramme de Classes/ UML2 LPI A. Oubelkacem
45

Classe associative
Exemples

logiciels sont installs sur des serveurs sur linitiative de dpartements. On dsire savoir la date laquelle un dpartement a procd linstallation dun logiciel sur un serveur.
Association streotyp

Exemple2: Dans cet exemple des

Lexemple dcrit la mme association laide dune classe strotype <<Association ternaire>>. La contrainte dunicit napparat plus explicitement.
Diagramme de Classes/ UML2 LPI A. Oubelkacem 46

Les diffrents types dassociation

Il existe plusieurs types dassociation Lagrgation Forme spciale dassociation entre un tout et une partie La composition Forme spciale dagrgation o le cycle de vie de la partie est rgi par celui du tout Lhritage Forme spciale dassociation permettant de factoriser les caractristiques et comportement communs un ensemble de classes Lassociation simple Ce sont les associations qui ne se rclament daucune des catgories prcdemment cites

Diagramme de Classes/ UML2

LPI

A. Oubelkacem 47

Agrgation
Une agrgation est une association non symtrique dans laquelle lune des deux classes joue un rle prpondrant Une agrgation est une relation tout-partie entre un agrgat (le tout) et un composant (la partie) Lagrgation est reprsente par un losange blanc du ct de lagrgat Le composant peut appartenir simultanment plusieurs agrgats Le cycle de vie des composants nest pas tributaire de celui de lagrgat

Personne

tudie 1..* 0..*

Universit

Une personne peut tudier dans aucune plusieurs universits Une universit peut accueillir de une plusieurs personnes

Arrt
Diagramme de Classes/ UML2

1..*
LPI

Circuit Autobus 1
A. Oubelkacem
48

Agrgation

Exemple : lexistence dun copropritaire na de sens que si


limmeuble existe. Il ne sagit pas ici dune relation composite/composant. La suppression dun objet de type immeuble nentranera pas forcment la destruction de ses copropritaires (pour ceux qui sont copropritaires dans dautres immeubles).

Diagramme de Classes/ UML2

LPI

A. Oubelkacem 49

Composition
Une composition est une agrgation part entire La composition est reprsente par un losange noir du ct de lagrgat Le composant ne peut pas appartenir simultanment plusieurs agrgats (multiplicit 1 ou 0..1 ct agrgat) Le cycle de vie des composants est tributaire de celui de lagrgat Si la multiplicit est 0..1 ct agrgat, le composant peut ne pas tre associ lagrgat immdiatement, mais une fois lassociation effectu le composant vit et meurt avec lagrgat

Universit

possde

1..*

Salle

Une universit est compose de une plusieurs salles Une salle nappartient qu une et une seule universit

Voiture
Diagramme de Classes/ UML2

possde

Roue
A. Oubelkacem 50

LPI

Composition

Exemple: lexemple concerne la Modlisation d un ordinateur qui est compos dun cran, dun ou de plusieurs disques et de diffrents priphriques en utilisant une agrgation de composition. Les composants (objets des classes Ecran, Disque et Periphrique) et les composites (objets de la classe Ordinateur) sont ici considrs comme des pices relles. La destruction dun ordinateur entranera la destruction de ses composants.

Diagramme de Classes/ UML2

LPI

A. Oubelkacem

51

Composition : abus de langage !

Attention : on parle trs souvent de composition pour dsigner une simple association entre deux classes. Cela ce traduit par lexistence dun attribut qui rfrence une (des) instance(s) dune autre classe.

Personne

Compte

Une personne possde des comptes mais nest pas compose de comptes

Diagramme de Classes/ UML2

LPI

A. Oubelkacem 52

Gnralisation / Spcialisation
La gnralisation / spcialisation est une relation de classification entre une classe plus gnrale et une classe plus spcialise On lappelle aussi relation dhritage ou relation estune-sorte-de La gnralisation est reprsente au moyen dune flche pointant de la classe la plus spcialise vers la classe la plus gnrale

Notation
Super-classe
Spcialisation

Gnralisation

Sous-classe

Diagramme de Classes/ UML2

LPI

A. Oubelkacem

53

Gnralisation / Spcialisation
Exemple

Exemple :
La classe Compte est une gnralisation des sousclasses CompteASeuil et CompteRemunere . La classe CompteASeuil est une spcialisation de la classe Compte.

Compte
numro solde dbiter

CompteASeuil seuil

CompteRmunr taux

Diagramme de Classes/ UML2

LPI

A. Oubelkacem 54

Gnralisation / Spcialisation
Exemple dhritage
Compte courant Numro Solde Devise Ligne de crdit Dposer montant Retirer montant Calculer les intrts Obtenir titulaire Imprimer extrait hebdomadaire Compte d'pargne Numro Solde Devise Montant max de retrait mensuel Dposer montant Retirer montant Calculer les intrts Obtenir titulaire Imprimer extrait mensuel
Compte Numro Solde Devise Dposer montant Obtenir titulaire Retirer montant Calculer les intrts

Compte courant et Compte dpargne comme classes spares

Classes avec hritage


Ligne de crdit

Compte courant Imprimer extrait hebdomadaire

Compte d'pargne Montant max de retrait mensuel Imprimer extrait mensuel

Diagramme de Classes/ UML2

LPI

A. Oubelkacem 55

Classe et opration abstraites


Une classe abstraite est une classe pour laquelle il nest pas possible de crer dinstances directement Son nom est crit en italique Une opration abstraite dune classe A est une opration ne possdant pas dimplmentation dans A mais qui doit obligatoirement tre implmente dans les sous-classes de A Sa signature est crite en italique Toute classe contenant au moins une opration abstraite est abstraite
Diagramme de Classes/ UML2 LPI

Forme gomtrique Dessiner()

Rectangle Dessiner()

Rond Dessiner()

A. Oubelkacem

56

Discriminant sur relation dhritage


La spcialisation dune super-classe peut avoir lieu selon diffrents critres simultans Chacun de ces critres est reprsent par une chane de caractres et sappelle un discriminant Le discriminant est positionn ct de la sous-arborescence quil qualifie
Homme Personne

sexe

travail

Femme

Etudiant

Employ

57

Diagramme de Classes/ UML2

LPI

A. Oubelkacem

Contraintes sur gnralisation / spcialisation

Il est possible dexprimer deux types de contraintes prdfinies sur les sous-classes dune gnralisation: La contrainte de compltude Prcise ltat davancement de la classification propose par la gnralisation / spcialisation La contrainte de chevauchement Contrainte ensembliste sur les instances de la sous-classe vis--vis des instances de la super-classe

Diagramme de Classes/ UML2

LPI

A. Oubelkacem 58

Contrainte de compltude sur relation dhritage


La contrainte de compltude permet dindiquer si la gnralisation peut tre tendue ou non {complte} indique que lon ne peut plus ajouter de classe larborescence {incomplte} indique que larborescence peut tre complte ultrieurement

Personne

{complte}

Homme

Femme

Mammifre

{incomplte}

Chien Diagramme de Classes/ UML2 LPI

Chat

Loup A. Oubelkacem
59

Contrainte de chevauchement sur relation dhritage


La contrainte de chevauchement apporte des prcisions sur la nature des instances de la super-classe {disjoint} indique que lensemble des instances des sous-classes forment une partition de la super-classe {chevauchement} indique quil peut exister des instances qui soient la fois instance de deux sousclasses
Diagramme de Classes/ UML2 LPI

Personne

{disjoint}

Homme

Femme

Vhicule

{chevauchement}

Terrestre

Marin A. Oubelkacem
60

Diagramme de classes (Recommandations)

Toujours garder lesprit quun diagramme de classe propose une vision statique des donnes du problme Les associations dun diagramme de classes sont statiques, mais la cration des liens entre objets est dynamique Ne jamais hsiter donner les multiplicits

Diagramme de Classes/ UML2

LPI

A. Oubelkacem

61

Diagramme de classes (Recommandations)

Dans la mesure du possible, viter les discriminants dans les associations de type gnralisation / spcialisation viter lutilisation des contraintes de chevauchement dans les associations de type gnralisation / spcialisation Privilgier la dlgation lhritage

Diagramme de Classes/ UML2

LPI

A. Oubelkacem

62

S-ar putea să vă placă și