I.5. Diagramme de classe 1.5.1. Définition
Le diagramme de classe permet de représenter l'ensemble
des informations finalisées qui sont gérées par le
domaine. Ces informations sont structurées, c'est-à-dire qu'elles
ont regroupées dans des classes. Le diagramme met en évidence
d'éventuelles relations entre ces classe34.
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 partition
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.
Il s'agit d'une vue statique car on ne tient pas compte du
facteur temporel dans le comportement du système. 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. Chaque langage de Programmation
Orienté Objets donne un moyen spécifique d'implémenter le
paradigme objet (pointeurs ou pas, héritage multiple ou pas, etc.), mais
le diagramme de classes permet de modéliser les classes du
système et leurs relations indépendamment d'un langage de
programmation particulier.
1.5.2. Concept d'objet
Un objet est un concept, une abstraction ou une chose qui a un
sens dans le contexte du système à modéliser. Chaque objet
à une identité et peut être distingué des autres
sans considérer à priori les valeurs de ses
propriétés35.
34 ROQUES P. et VALLEE F., UML 2 en action de
l'analyse des besoins à la conception, Edition EYROLLES, 2005
35 MUSANGU LUKA, Analyse et conception des
applications objets avec Le Processus Unifié, Kinshasa, Editions de
l'Université Protestante au Congo, Juillet 2017
58
a. Un objet : est une instance de classe. La
classe représente l'abstraction de ses objets, au niveau de
l'implémentation, au cours de l'exécution d'une programmation,
l'identification d'un objet correspond à une adresse mémoire.
b. Une classe : une classe décrit un
groupe d'objets ayant les mêmes propriétés (attributs), un
même comportement (opérations), et une sémantique commune
(domaine de définition)
Formalisme général :
Une classe se représente à l'aide d'un rectangle
comportant plusieurs compartiments. Les trois compartiments de base sont :
· La désignation de la classe ;
· La description des attributs ;
· La description des opérations.

Figure 25 : Attribut
Nom de Classe : le nom de la classe peut
être par un « stéréotype » ou d'autres
précisions.
Attribut : un attribut est une
propriété élémentaire d'une classe pour chaque
objet d'une classe, l'attribut prend une valeur (sauf cas d'attributs multi
values). La description complète des attributs d'une classe comporte les
caractérise suivant :
· Nom d'attribut : nom unique de sa classe ;
· Multiplicité : la multiplicité indique
le nombre minimum et le nombre maximum de la valeur possible de l'attribut pour
une instance de la classe ;
· Type : type de l'attribut (Integer, string...) ;
· Valeur initiale : la valeur par défaut à
la création de l'attribut (facultative)
Opération : 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.
Caractéristiques
· Visibilité Nom d'opération
(paramètres)
· Visibilité : se reporter aux
explications données plus loin sur ce point.
· Nom d'opération : utiliser un
verbe représentant l'action à réaliser.
59
· Paramètres : liste de
paramètres (chaque paramètre peut être décrit, en
plus de son nom, par son type et sa valeur par défaut). L'absence de
paramètre est indiquée par ().
· Type résultat : type de
(s) valeur(s) retourné(s) dépendant des types disponibles dans le
langage d'implémentation. Par défaut, une opération ne
retourne pas de valeur.
|