Vous êtes sur la page 1sur 5

Cours programmation évènementielle Chapitre 2

Chapitre 2 : Représentation des associations entre les classes


L’association exprime une connexion sémantique bidirectionnelle entre les classes. Une
association est une abstraction des liens qui existent entre les objets instances des classes
associées.

I. Les décorations des associations :


1. Pour améliorer la lisibilité des diagrammes, il est possible de décorer l’association
d’une forme verbale, le sens de lecture est précisé par les signes < et >

Figure 1 - Clarification de la nature d'une association par une forme verbale

2. Il est possible de préciser le rôle des classes intervenant dans une association. Un nom
de rôle peut être spécifié à chaque extrémité d’une association.

Figure 2 - Clarification du rôle des associations par une forme nominale

L’exemple suivant montre 2 associations entre la classe université et la classe personne. Le


diagramme précise que certaines personnes jouent le rôle d’étudiant alors que d’autres
personnes jouent le rôle d’enseignant. La deuxième association porte également un nom de rôle
du côté de la classe université pour indiquer que l’université joue le rôle d’employeur pour ses
enseignants.

Remarque : Le nommage des rôles prend tout son intérêt lorsque plusieurs associations relient
2 mêmes classes.

3. Chaque extrémité d’une association peut porter une information de multiplicité qui
précise le nombre d’instances qui participe à la relation. La multiplicité apparaît dans
les diagrammes de classes à proximité de la classe concernée et du rôle de cette classe
s’il est spécifié.
1 Un et un seul
0 .. 1 Zéro ou un
M .. N De M à N (entiers naturels)
* De zéro à plusieurs
0 .. * De zéro à plusieurs
1 ..* De un à plusieurs
Figure 3 - Valeurs de multiplicité conventionnelles

Réalisé par : Bassem Boughzala (ISET RADES) Page 1/5


Cours programmation évènementielle Chapitre 2

Figure 4 - Représentation du nombre d'instances qui participent aux associations

Ce diagramme se lit de la manière suivante :

Une association donnée regroupe de nombreuses personnes, certaines jouent le rôle


d’étudiants, d’autres le rôle d’enseignant. Un étudiant donné appartient à une seule université,
un enseignant donné peut être en activité ou non.

II. L’agrégation :
Une association exprime une relation à couplage faible, les classes associées restent
indépendantes l’une de l’autre. L’agrégation est une forme particulière d’association qui
exprime un couplage plus fort entre classes. Une des classes joue un rôle plus important que
l’autre dans la relation. L’agrégation permet d’exprimer des relations de type maître et esclaves,
tout ou parties ou composé et composants.

Figure 5 - Exemple d'agrégation réflexive

L’exemple montre qu’une personne peut s’occuper de plusieurs enfants. La relation est
également réflexive, certaines personnes jouent le rôle de parent et d’autres jouent le rôle
d’enfant. Une agrégation se représente comme une association avec en plus un petit losange
placé du côté de l’agrégat.

Figure 6 - Agrégation non réflexive

III. La Composition :
Une composition est une forme d’agrégation avec un couplage plus important. Ce couplage de
composition indique que les composants ne sont pas partageables et que la destruction de
l’agrégat entraine la destruction des composants agrégés.
Les termes « conteneur » et « composite » sont parfois utilisés pour désigner l’agrégat dans
les relations de composition.
La valeur maximale de multiplicité du côté du conteneur ne doit pas excéder 1 puisque les
objets instances de la classe des composants doivent tous appartenir au même objet conteneur.
UML offre 2 possibilités pour la représentation de la composition :

Réalisé par : Bassem Boughzala (ISET RADES) Page 2/5


Cours programmation évènementielle Chapitre 2

- Utilisation d’un losange plein du côté de la classe composite.


- Utilisation d’une représentation emboitée (la classe composite englobe les classes
composants).

Figure 7 - Forme de composition réalisable par contenance physique

Exemple :

Figure 8 - La voiture est un tout qui contient un moteur

Chaque voiture possède un moteur qui ne peut être partagé entre plusieurs voitures. La
destruction de la voiture entraine la destruction du moteur.

IV. Les Hiérarchies de classes :

a. Généralisation :

Une super classe est une abstraction de ses sous classes. La flèche qui symbolise la
généralisation entre deux classes pointe vers la classe la plus générale.

Figure 9 - Exemple de hiérarchie de classes construite par généralisation

Réalisé par : Bassem Boughzala (ISET RADES) Page 3/5


Cours programmation évènementielle Chapitre 2

b. Spécialisation :

++++++

Figure 10 - Exemple d'extension par spécialisation

Règles :

Figure 11 - La généralisation ne porte ni nom particulier ni valeur de multiplicité

Réalisé par : Bassem Boughzala (ISET RADES) Page 4/5


Cours programmation évènementielle Chapitre 2

Figure 12 - La généralisation est une relation non réflexive

Figure 13 - La généralisation est une relation non symétrique

Figure 14 - La généralisation est une relation transitive

V. Le Polymorphisme :
Ce terme décrit la caractéristique d’un élément qui peut prendre plusieurs formes. Chaque sous-
classe hérite de la spécification des opérations de ses super classes, mais a la possibilité de
modifier localement le comportement de ces opérations. De ce point de vue, une opération
donnée est polymorphe puisque sa réalisation peut prendre plusieurs formes.

Réalisé par : Bassem Boughzala (ISET RADES) Page 5/5