Académique Documents
Professionnel Documents
Culture Documents
UML - 2 - Diagramme de Classe
UML - 2 - Diagramme de Classe
Roberton C. Philistin
robertonphilistin@yahoo.fr
37-67-63-45
1
Diagramme de classe
Schéma utilisé en génie logiciel pour
présenter les classes et les interfaces des
systèmes ainsi que les différentes relations
entre celles-ci.
2
Diagramme de classe
Ce diagramme fait partie de la partie
sructurelle (statique) d'UML
il fait abstraction des aspects
temporels et dynamiques.
3
Diagramme de classe
• Le diagramme de classes est considéré
comme le plus important de la
modélisation orientée objet,
• il est le seul obligatoire lors d'une telle
modélisation.
4
Diagramme de classe
• Alors que le diagramme de cas
d'utilisation montre un système du point
de vue des acteurs,
• le diagramme de classes en montre la
structure interne.
• Il permet de fournir une représentation
abstraite des objets du système qui vont
interagir pour réaliser les cas d'utilisation.
5
Diagramme de classe
• Le diagramme de classes modélise les
concepts du domaine d'application ainsi
que les concepts internes créés de toutes
pièces dans le cadre de l'implémentation
d'une application.
6
Diagramme de classe
• Chaque langage de Programmation orienté
objet donne un moyen spécifique d'implémenter
le paradigme objet (pointeurs ou pas, héritage
multiple ou pas, etc.),
• Le diagramme de classes permet de modéliser
les classes du système et leurs relations
indépendamment d'un langage de
programmation particulier.
7
Diagramme de classe
Une classe est un ensemble de fonctions
(méthodes) et de données (attributs) qui
sont liées ensemble par un champ
sémantique.
Les classes sont utilisées dans la
programmation orientée objet.
8
Diagramme de classe
Elles sont finalement instanciées pour créer des
objets
Une classe est un moule à objet : elle décrit les
caractéristiques des objets,
Les objets contiennent leurs valeurs propres
pour chacune de ces caractéristiques lorsqu'ils
sont instanciés.
9
Diagramme de classe
Les classes peuvent être liées entre elles grâce
au mécanisme d'héritage qui permet de mettre
en évidence des relations de parenté.
D'autres relations sont possibles entre des
classes, chacune de ces relations est
représentée par un symbole spécifique dans le
diagramme de classes.
10
Schéma d'une classe
12
Schéma d'une classe
Première partie : le nom de la classe
Il est écrit dans le rectangle du haut.
Le nom des classes abstraites est écrit en
italique.
13
Classes abstraites
14
Schéma d'une classe
Première partie : le nom de la classe
Il est écrit dans le rectangle du haut.
Les classes template ont, dans leur angle
supérieur droit, un rectangle dont la bordure est
en pointillé et qui contient les types des
paramètres
15
Schéma d'une classe
Seconde partie : les attributs
La syntaxe d'un attribut est la suivante :
Visibilité nomAttribut [multiplicité] : typeAttribut =
Initialisation
16
Schéma d'une classe
Visibilité
La notion de visibilité indique qui peut avoir
accès à l'attribut.
Elle ne peut prendre que 3 valeurs possibles :
Caractère Rôle Mot clé Description
17
Manières de montrer les attributs en UML
18
Manières de montrer les attributs en UML
JeuxDeDé Dé
de1 : De Valeurface: int
de2 : De getValeurFace() int
jouer() lancer()
19
Manières de montrer les attributs en UML
Register Sale
using the attribute
text notation to ...
currentSale : Sale
indicate Register has
a reference to one ... ...
Sale instance
Register Sale
OBSERVE: this style
visually emphasizes 1
... ...
the connection
currentSale
between these classes ... ...
Register Sale
thorough and
unambiguous, but some 1
currentSale : Sale ...
people dislike the
currentSale
possible redundancy ... ...
20
Relations entre classes
• Association : connexion sémantique entre
deux classes (relation logique),
• Représentée par un simple trait
21
Relations entre classes
• héritage : principe de
division par généralisation et
Animal
spécialisation, représenté
par un trait reliant les deux
classes et dont l'origine
(classe mère) se distingue
Carnivore
de l'autre l'extrémité (classe
fille) par un triangle
22
Relations entre classes
• héritage : généralisation/spécialisation
23
Relations entre classes
Agrégation : c'est une association (tout/partie,
composé/composant) avec relation de
subordination, représentée par un trait reliant les
deux classes et dont l'origine se distingue de
l'autre l'extrémité (la classe subordonnée) par un
losange
Voiture Pièce
24
Relations entre classes
Composition (agrégation composite) :
agrégation avec cycle de vie dépendant (on dit
que la classe qui représente la partie est détruite
lorsque la classe mère disparaît)
Maison Pièce
25
Relations entre classes
Agrégation et Composition (agrégation
composite)
26
Multiplicité
• multiplicité : sert à compter le nombre
minimum et maximum de possibilités que
chaque classe contient dans la relation liant 2
ou plusieurs classes.
27
Multiplicité
n : exactement "n" (n, entier naturel > 0)
exemples : "1", "7"
n..m : de "n" à "m" (entiers naturels ou
variables, m > n)
exemples : "0..1", "3..n", "1..31"
* : plusieurs (équivalent à "0..n" et "0..*")
n..* : "n" ou plus (n, entier naturel ou variable)
exemples : "0..*", "5..*"
28