Académique Documents
Professionnel Documents
Culture Documents
Remarque
Pour ne pas alourdir le modle, on peut ne pas visualiser les attributs
et/ou les oprations 2
Concept de classe
Reprsentation graphique
les classes sont reprsentes par des rectangles contenant :
un compartiment pour le nom de la classe
un compartiment pour les attributs de la classe
un compartiment pour les oprations de la classe
3
Attributs
Un attribut doit (gnralement) avoir une valeur atomique
(dictionnaire de donnes)
un client a un nom, un prnom, une adresse, un code client,
Syntaxe
Visibilit nom_attribut:type[= valeur initiale]
O Visibilit est :
+ (publique, public) : visible par tous
- (prive, private) : visible seulement dans la classe
# (protge, protected) : visible seulement dans la classe et dans
les sous-classes de la classe.
4
Attributs
Lorsquun attribut peut tre driv ou calcul partir d'autres attributs,
il doit tre prcd de /.
Exemple
Rectangles
- Largeur : float = 10
- Longueur : float
- /Surface : float
Attribut de classe
Toutes les instances de la classe possde la mme valeur pour cet
attribut.
5
Les mthodes
un service offert par la classe
une fonction ou une transformation qui peut tre applique aux
objets dune classe.
permet de dcrire le comportement dun objet. Par exemple,
Embaucher , Licencier , Payer .
Syntaxe
Visibilit opration([arguments:type]):type de rsultat
Visibilit de lopration (-, +, #)
Nom de lopration
Liste des arguments avec leurs types
Le type du rsultat retourn
6
Les mthodes
Mthode de classe
Ne peut manipuler que des attributs de classe et ses
propres paramtres. Laccs une mthode de classe
ne ncessite pas lexistence dune instance de cette
classe.
Graphiquement, une mthode de classe est souligne.
Forme
8
Encapsulation
Traitement
} Partie dynamique, comportement
Partie visible, publique
Interface avec lextrieur
User
9
Les relations
Il existe plusieurs types de relations entre classes : association,
dpendance et gnralisation/spcialisation.
Association
Relation entre une, deux ou plusieurs classes.
Une association porte un nom (signification)
Elle est reprsente par une ligne.
Rle
Dcrit le rle dune classe dans une association
11
Les relations
Rle : dfinit les responsabilits.
Passager
Personne
0..4
femme
Pour une relation rflexive
(Indispensable )
0..1
mari 12
Les relations
Multiplicit ou cardinalit
La multiplicit dfinit le nombre dinstances d'une classe qui peut
tre mise en relation avec une seule instance de la classe associe.
La multiplicit est note sur le rle.
13
Les relations
Classes-association
Les attributs dune classe dpendent fonctionnellement de
lidentifiant de la classe.
Parfois, un attribut dpend fonctionnellement de 2 identifiants,
appartenant 2 classes diffrentes.
14
Les relations
Classes-association
Toute classe-association peut tre remplace par une classe
intermdiaire et qui sert de pivot pour une paire dassociation.
15
Associations
degr dune association = nombre de classes participantes
16
Navigabilit
Une association est par dfaut bidirectionnelle.
Commandes Clients
1..*
1
17
Navigabilit
Spcification : on doit tre en mesure de savoir le client qui a fait la
commande et non toutes les commandes dun client
Conception :
Commandes Clients
1..*
1
Agrgat Agrge
20
Agrgation
C'est une relation dans laquelle, les parties (les composants) sont
sparables de Lagrgat (le tout).
Exemple
La suppression dune quipe nimplique pas la suppression des
personnes qui la composent
21
Agrgation
Cas particulier : associations rflexives
On peut avoir des cas dagrgation rflexive ds que lon modlise des
relations hirarchiques ou des liens de parent par exemple.
22
Composition
La composition est un cas particulier dune agrgation dans laquelle
la vie des composants est lie celle de lagrgat (compos).
Si lagrgat est dtruit (ou dplac), ses composants le sont aussi.
23
Gnralisation / Spcialisation et hritage
24
Relation de dpendance
Relation smantique (non structurelle) entre deux lments
selon laquelle un changement apport l'un peut affecter la
smantique de l'autre.
25
Types de classes
Classe active
Une classe active initie et contrle le flux dactivits.
Graphiquement, une classe active est reprsente comme une classe
standard dont les lignes verticales du cadre sont doubles.
Nous trouvons deux types de strotypes <<processus>> ou <<
thread>>.
Les interfaces
26
Types de classes
La ralisation
Cette relation nest utilise que pour les interfaces.
Une ralisation est une relation entre une classe et une interface. Elle
montre que la classe ralise les oprations offertes par l'interface.
27
Types de classes
Les classes utilitaires
classe dont les attributs et les oprations sont visibles de tous et sont
static.
strotype <<utilitaire>>.
28
Les Contraintes
Dfinition
Expressions qui montrent des conditions smantiques ou une restriction
sur la proprit dun lment de modlisation.
Objectifs : imposer des rgles respecter lors du passage
limplmentation.
Les contraintes sont reprsentes entre accolades et peuvent tre
exprimes dans nimporte quel langage.
Langage naturel
La contrainte est reprsente entre { }
Mathmatique (exemple : {x = 1})
langage de programmation (exemple : {x == 1})
OCL : Object-Constraint Language
(p. ex. : Container : {self.size <= self.capacity}) 29
Contraintes sur les associations
Quelques Contraintes prdfinies :
{ordonn}
{sous ensemble}
{xor}
{addOnly}
{frozen}
30
contrainte {ordonn}
Indique que les objets seront ordonns chaque opration de cration,
modification, suppression, Personne Compte
1 0..*
{Ordonn}
Cela veut dire que les comptes dune personne sont ordonns
Contrainte {sous-ensemble}
Indique quune collection est incluse dans une autre
Ncessite la prsence dau moins deux relations
Ecole Parent dlve Personnes
1..*
{sous-ensemble}
Dlgu
1..*
Les personnes qui jouent le rle de dlgu font partie des personnes
31
qui jouent le rle de parents dlves
Contraintes
contrainte {xor}
Parmi un groupe dassociations, une seule est valide la fois.
PC Portable 1
{xor}
1 Secteur
32
Contraintes
La contrainte {addOnly}
Autorise lajout de nouveaux objets, mais pas leur suppression ni leur
mise jour.
Personne Liste
1..*
1
0..*
{addOnly}
Enfants
33
Contrainte {frozen}
Interdit lajout, la suppression ou la mise jour des
liens dun objet vers les objets de la classe associe,
aprs linitialisation du premier. Personne
{frozen} 0..*
enfant
2
parent
34
laboration dun diagramme de classes
Un diagramme de classes fait abstraction des aspects dynamiques et
temporels.
Pour un modle complexe, plusieurs diagrammes de classes
complmentaires doivent tre construits.
35
laboration dun diagramme de classes
Une dmarche couramment utilise :
Trouver les classes du domaine tudi. Cette tape empirique se fait
gnralement en collaboration avec un expert du domaine.
Trouver les associations entre les classes. Les associations correspondent souvent
des verbes, ou des phrases verbales.
37
laboration dun diagramme de classes
Exemple
Un client paie sa commande par carte de crdit
Il peut effectuer plusieurs commandes mais une commande n'est
effectue que par un seul client.
Une commande contient des produits.
Le client commande des produits pour une certaine quantit et pour
un certains prix (le prix varie suivant la quantit commande).
Un produit n'est fournit que par un fourni sseur ou aucun mais un
fournisseur peut fournir zro ou plusieurs produits.
38
laboration dun diagramme de classes
39
Diagramme dobjets
Reprsente les objets (instances de classes) et les liens
(instances de relations).
Peut tre utilis pour :
Illustrer le modle de classes en montrant un exemple qui
explique le modle.
Prciser certains aspects du systme
Exprimer une exception en modlisant des cas particuliers.
Etc.
Objectifs
Illustrer par un exemple concret un diagramme de classes.
Faciliter la validation dun diagramme de classes complexe en
prsentant une ou plusieurs instanciations de celui-ci.
Un diagramme dobjets peut servir de base un diagramme
dinteraction. 40
Diagramme dobjets
Reprsentation
Le nom dun objet est soulign.
Nom_objet : Classe
Nom_objet
:Classe
41
Exemple
Diagramme dobjets
Entreprise :Entreprise e1:Entreprise
0..2
2..*
:Personne p1:Personne p2:Personne p3:Personne p4:Personne
Personne
42
Diagramme dobjets
Instance d'association
Strotypes
instanceof : l'objet est une instance de la classe lie
Become :
copy 43
Diagramme dobjets
Dans un diagramme dobjets, les relations du diagramme
de classes deviennent des liens.
44
Diagramme dobjets
Une instance de classe-association ne peut tre associe qu une
instance de chacune des classes associes.
Exemple
45
Diagramme dobjets
Relation de dpendance dinstanciation
La relation de dpendance dinstanciation (strotype instanceof )
dcrit la relation entre un classeur et ses instances. Elle relie, en
particulier, les liens aux associations et les objets aux classes.
46
Diagramme dobjets
Utilit
Permet de prciser certains cas dutilisation particulirement
difficiles.
Utile lors de la phase de dbogage de lapplication.
47
Diagramme dobjets
Exemple
48
Diagramme dobjets
Dans un diagramme dobjets, les relations du diagramme de classes
deviennent des liens.
La relation de gnralisation ne possde pas dinstance, elle nest
donc jamais reprsente dans un diagramme dobjets.
Graphiquement, un lien se reprsente comme une relation, mais, sil
y a un nom, il est soulign, sans reprsenter les multiplicits.
conclusion
Pour reprsenter un contexte prcis, un diagramme de classes peut tre
instanci en un autre diagramme appel diagrammes d'objets.
49
Diagramme dobjets
Remarque
50
Diagramme dobjets
51
Diagramme dobjets
52