III.3. DIAGRAMME DE CLASSE
III.3.1. Introduction
Le diagramme de classes est le point central dans un
développement orienté objet. En analyse, il a pour objectif de
décrire la structure des entités manipulées par les
utilisateurs. En conception, le diagramme de classes représente la
structure d'un code orienté20.
21Le 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.
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 ensemble pour réaliser
les cas d'utilisation. Il est important de noter qu'un même objet peut
très bien intervenir dans la réalisation de plusieurs cas
d'utilisation. Les cas d'utilisation ne réalisent donc pas une
partition1 des classes du diagramme de classes. Un diagramme de classes n'est
donc pas adapté (sauf cas particulier) pour détailler,
décomposer, ou illustrer la réalisation d'un cas d'utilisation
particulier.
III.3.2. Concepts22
? Une classe est la description formelle d'un
ensemble d'objets ayant une sémantique et des propriétés
communes.
? Un objet est une instance d'une classe.
C'est une entité discrète dotée d'une identité,
d'un état et d'un comportement que l'on peut invoquer. Les objets sont
des éléments individuels d'un système en cours
d'exécution.
? Les attributs définissent des
informations qu'une classe ou un objet doivent connaître. 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,
20 Pascal ROQUES, UML 2 par la pratique étude de cas et
exercices corrigés, ÉDITIONS EYROLLES, Septembre 2006, p 76 et/ou
81.
21 Jac MUNDA, Cours de conception du système
d'information, Inédit, ISC-Goma, 2011-2012, p. 15
22 Laurent AUDIBERT, UML 2.0, IUT, département
informatique, 1re année
45
une visibilité et peut être initialisé. Le
nom de l'attribut doit être unique dans la classe.
> Les propriétés
correspondent à des contraintes ou à des informations
complémentaires comme les exceptions, les prés conditions, les
post conditions ou encore l'indication qu'une méthode est abstraite
(mot-clef abstract), etc.
> Une opération est une fonction
applicable aux objets d'une classe. Une opération permet de
décrire le comportement d'un objet. Une méthode
est l'implémentation d'une opération.
> Un lien est une connexion physique ou
conceptuelle entre instances de classes donc entre objets.
> Une association décrit un groupe
de liens ayant une même structure et une même sémantique. Un
lien est une instance d'une association. Chaque association peut être
identifiée par son nom.
> La généralisation
décrit une relation entre une classe générale
(classe de base ou classe parent) et une classe spécialisée
(sous-classe). 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). Un objet
de la classe spécialisée peut être utilisé partout
où un objet de la classe de base est autorisé.
> Une association est une relation entre
deux classes (association binaire) ou plus (association n-aire), qui
décrit les connexions structurelle entre leurs instances.
> 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é :
o exactement un : 1 ou 1..1
o plusieurs : * ou 0..*
o au moins un : 1..*
o de un à six : 1..6
> 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.
46
? 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 (_)
? Une dépendance est une relation
unidirectionnelle exprimant une dépendance sémantique entre les
éléments du modèle. Elle est représentée par
un trait discontinu orienté. Elle indique que la modification de la
cible implique une modification de la source. La dépendance est souvent
stéréotypée pour mieux expliciter le lien
sémantique entre les éléments du modèle
47
|