‘Modélisation 0.0 avec UML.
2UG-Olfa Mraihi
‘CHAPITRE Ill : Modélisation Logique Statiqu
Diagramme de Classes
4. Introduction
Le point de vue logique statique d'un systéme est modélisé par le diagramme de classes.
Le diagramme de classes est un diagramme statique. qui montre la structure logique du
systéme A travers le concept de classe et relations entre classes.
2. Classes
Une classe représente la description d'un ensemble d'objets qui ont la méme sémantique et
les mémes caractéristiques a savoir les mémes données, les mémes traitements et les
mémes liens avec d'autres objets.
des aperations)et des (relations avec
Une classe est donc caractérisée par des
dautres classes
Le nom dune classe commence par une majuscule. Une classe est modélisée
graphiquement par:
Exemples objet vs classe
2.4. Attribut
Les attributs représentent les données encapsulées dans une classe et décrivant les objets
de cette classe.
La forme la plus courte d'un attribut est son nom qui commence par une minuscule.
La forme la plus compléte d'un attribut est la suivante :
visibiité nomAttribut : type=valeur initiale
La visibilité peut étre peut étre publique elle est représentée par +. La visibilité peut étre
privée elle représentée par — . La visiblité peut étre protégée représentée par #
Le type peut étre simple tels que :
Le type peut étre complexe tels que :
La valeur initiale est facultative et & mettre uniquement quand Iattribut nécessite une valeur
par défaut.
Exemples d'attibuts...
Chaque objet dune classe posséde sa propre copie des atiributs de la classe. Les valeurs
des attriputs peuvent donc différer d'un objet a un autre. Cependant, il est parfois nécessaire
de définir un attribut dit statique appelé également attribut de classe quand sa valeur doit
@tre la méme pour tous les objets de Ia classe. Un attribut statique est représenté en
soulignant son nom.
Exemple attribut statique...
Scanned with CamScannerModélisation 0.0 avec UML
2UG-Olfa Mraihi
2.2. Opération
Les opérations représentent les traitements encapsulés dans une classe. Ces traitements
sont applicables aux objets d'une classe. L'implémentation d'une opération s'appelle
méthode,
La forme la plus courte d'une opération est son nom qui est un verbe suivi ou pas dun
ccomplément suivi obligatoirement de ()
La forme Ia plus compléte d'une opération est la suivante :
visibilité nomOperation (parameétres) : type de retour
La visibilté peut étre peut étre publique + privée ~ protégée #
Paramétre Une opération peut avoir zéro cu plusieurs paramétres séparés par des virgules.
Chaque parameétre peut étre décrit sous forme nomParamétre :type
Type de retour d'une opération peut étre simple ou complexe (voir exemples de types dans
type attributs). Si une opération ne retourne rien son type est void,
Exemples c'opérations..
Une opération est dite statique appelée également opération de classe quand l'effet de son
traitement s'applique de fagon identique a tous les objets de la classe. Une opération
statique est représentée en soulignant son nom.
Exemple opération statique.. :
3. Relations entre Classes
3.4. Association
Une association regroupe un ensemble de liens entre les objets des classes qui sont reliées
par cette association. La plupart des associations sont binaires.
Une association est modélisée graphiquement par : qui est un verbe.
Exemples d’associations
3.1.1 Cardinalité (Multiplicité) d'une association
La cardinalité indique combien d’objets de la classe considérée peuvent étre liés a un objet
de autre classe.
La cardinalité est a mettre sur chaque extrémité de l'association.
La cardinalité peut étre (Tot To." (notée aussi) 11." [nm [n ]
Exemples d'associations avec cardinalités...
3.1.2 Sens de Lecture des Cardinalités
Dans un diagramme de classes, l'association se lit dans le sens logique de lecture d'une
phrase contrairement 4
Exemples...
Scanned with CamScannerModélisation 0.0 avec Uy
211G-Olfa Mraihi
3.3 Association Réflexivg
rest une association qui ry
lie une Classe a ellema,
Exemples... le-méme.
3AA4ROle dans une Associatiy
n
On peut avoir besoin de mont
roresits
cer etn ean
association réflexive ou bien lorsqi an
east le rOle pour exprimer comment une classe voit
te plage (le ert iter les ambiguités lorsquily a une
Plusieurs associations relient deux classes.
3.1.5 Classe d’Association
Quand une association est porteuse
classe d'association.
Exemples...
3.1.6 Contraintes sur les associations
‘attributs et d'opérations, on la représente par une
Une contrainte est une restriction sémantique exprimée entre Q en langage naturel ou
formel. Le concepteur peut définir ces propres contraintes ou utiliser celles prédéfinies par
UML telles que {OR} {ANDHXOR} {NAND}, etc.
UML permet de rattacher des:contraintes a nvimporte quel élément de n'importe quel
diagramme (sur les associations, les autres types de relations, les attributs, etc.)
Exemple...
3.2, Généralisation/Spécialisation
3.2.4 Définition
ionfspétcalisaion pour relier une classe plus générale
On utilise la relation de généralisati ener
‘a une ou plusieurs autres classes plus spécialisées
appelée super classe ou classe mere
appelées sous classes ou classes files
les opérations et les relations de sa classe mére et
aii ibuts, I
Une classe file hérite les ater, des relations quilu sont spéciques,
Posséde des attributs ou des opération
Exemples...
tion Multiple
classe peut avoir Plus
3.2.2 Général
isieurs superclasses.
Uiiisée quand une sous
Exemple...
Scanned with CamScanner‘Modélisation 0,0 avec UML
2UG-Olfa Mrai
3.2.3 Contraintes sur les Généralisation/Spécialisation
| peut exister des contraintes surla relation de généralisation/spécialisation, UML offre 4
contraintes possibles a savoir :
~ {complete}
~ {incomplete}
= {disjoing}
~{chevauchement}
Exemples...
Remarque : par défaut si on ne met rien clest {complete} et (disjoint)
3.3. Agrégation
Une agrégation est une relation qui permet de montrer qu'une classe contient cad est :
Composé d'une ou plusieurs autres classes qui sont donc ces composants. Il existe deux
types d'agrégatio
agrégation faible: utiisée quand la destruction du composé niimplique pas
automatiquement la destruction de ses composants. On la représente par
sagrégation forte (composition) : utiisée quand la destruction du composé implique
‘automatiquement la destruction de ses composants. On la représente par
Exemples...
4. Diagramme de Classes
(Cesta représentation graphique des classes du systéme & modéliser, de leurs attbuts de
leurs opérations et des relations entre les classes association, généralisation/spécialisation,
agrégation).
+ Remarqutsde
- Exemple d'un diagramme de classes ...
Scanned with CamScanner