Section 2 : Modélisation du point de vue
statique
2.1. Diagramme de
classes
2.1.1. Définition et formalisme
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.
Le diagramme de classe est une collection
d'éléments de modélisation statiques (classes, paquetages,
...), qui montre la structure d'un modèle. Il fait abstraction des
aspects dynamiques et temporels.
Formalisme de la classe
Une classe est représentée par un rectangle
divisé en trois compartiments reprenant respectivement le nom de la
classe, les attributs et les opérations associés à la
classe.
De par le formalisme d'une classe, nous pouvons définir
les concepts ci-après :
? Nom d'une classe : celui-ci doit évoquer le concept
décrit par la classe.
? Attributs : les attributs définissent des
informations qu'une classe ou un objet doivent connaitre. Ils
représentent les données encapsulées dans les objets de
cette classe. Chacune de ces informations est définie par un nom, un
type de données, une visibilité et peut être
initialisé.20
? Méthode ou opération : dans une classe, une
méthode doit être unique. Comme les attributs de classe, il est
possible de déclarer des méthodes de classe. Une méthode
ne peut manipuler que des attributs de classe et ses propres
paramètres.
20 Laurent AUDIBERT, Op.Cit, P38
~ 83 ~
2.1.2. Relations entre classes
2.1.2.1. Généralisation et
Héritage
La généralisation décrit une relation
entre une classe générale et une classe
spécialisée. La classe spécialisée est
intégralement cohérente avec la classe de base, mais comporte des
informations supplémentaires (attributs, opérations,
associations).
Dans le langage UML, ainsi que dans la plupart des langages
objet, cette relation de généralisation se traduit par le concept
d'héritage. On parle également de relation d'héritage.
Ainsi, l'héritage permet la classification des objets.
Le symbole utilisé pour la relation d'héritage
ou de généralisation est une flèche avec un trait plein
dont la pointe est un triangle fermé désignant le cas le plus
général.
2.1.2.2. Association
Une association est une relation entre deux classes
(association binaire) ou plus (n-aire), qui décrit les connexions
structurelles entre leurs instances.
Une association binaire est matérialisée par un
trait plein entre les classes associées. Elle peut être
ornée d'un nom, avec éventuellement une précision du sens
de lecture. Quand les deux extrémités de l'association pointent
vers la même classe, l'association est dite réflexive.
Une association n-aire lie plus de deux classes. 2.1.2.3.
Multiplicité ou cardinalité
La multiplicité associée à une
terminaison d'association, d'agrégation ou de composition déclare
le nombre d'objets susceptibles d'occuper la position définie par la
terminaison d'association. Voici quelques exemples de multiplicité :
? Exactement un : 1 ou 1..1
~ 84 ~
? Plusieurs : * ou Ø..* ? Au moins un : 1..* ? De un
à six : 1..6
Dans une association binaire, la multiplicité sur la
terminaison cible contraint le nombre d'objets de la classe cible pouvant
être associés à un seul objet donné de la classe
source.
Dans une association n-aire, la multiplicité
apparaissant sur le lien de chaque classe s'applique sur une instance de
chacune des classes, à l'exclusion de la classe-association et de la
classe considérée.
2.1.2.4. Classe-association
Une classe-association possède les
propriétés des associations et des classes : elle se connecte
à deux ou plusieurs classes et possède également des
attributs et des opérations.
Une classe-association est caractérisée par un
trait discontinu entre la classe et l'association qu'elle représente.
2.1.2.5. Agrégation et composition
Une agrégation est une association qui
représente une relation d'inclusion structurelle ou comportementale d'un
élément dans un ensemble. Graphiquement, on ajoute
un losange vide ( ) du côté de l'agrégat.
Contrairement à une association simple, l'agrégation est
transitive.
La composition, également appelée
agrégation composite, décrit une contenance structurelle entre
instances. Ainsi, la destruction de l'objet composite implique la destruction
de ses composants. Une instance de la partie appartient toujours à au
plus une instance de l'élément composite. Graphiquement, on
ajoute un losange plein ( ) du côté de l'agrégat.
Figure III.1.5 : Diagramme de classes
~ 85 ~
|