© Éditions Eyrolles
33
chapitre n° 1
Le niveau conceptuel : face à face Merise/UML
Avec UML, l’extrémité d’une association peut être enrichie d’un rôle, qui décrit la façon dont la
classe perçoit l’autre classe (ou les autres classes pour les associations n-aires) via l’association.
Un rôle est généralement désigné par une forme nominale ou verbale. Le rôle est placé à une
extrémité du lien d’association, il se distingue ainsi du nom de l’association situé au centre du lien.
Il est particulièrement intéressant de nommer les rôles ou de nommer les associations lorsque
plusieurs associations relient deux mêmes classes. En général, il n’y a pas de corrélation entre
les objets qui participent aux différentes associations entre deux mêmes classes. Chaque lien
exprime un état de fait distinct.
Le rôle est indispensable pour les associations réflexives (étudiées plus loin dans ce chapitre).
Il est à noter que le concept de rôle existait aussi avec Merise/2. Nous verrons au chapitre 4
que cette notion est prise en compte par les outils du marché. Le rôle s’affiche à chaque extrémité du lien d’association.
De même que pour les noms d’associations, on ne retrouve pas toujours le nom des rôles au
niveau du code SQL2, mais on peut les retrouver dans du code SQL3 par l’intermédiaire des
noms de références ou de collections.
Dans l’exemple 1-18, le professeur perçoit les UV comme une certaine responsabilité et une
UV perçoit un professeur comme son responsable.
Bien qu’il soit possible d’utiliser conjointement les associations nommées et les rôles, il semble
préférable d’opter pour l’une ou l’autre de ces deux techniques au sein d’un même diagramme
de classes. Les développeurs objet préfèrent souvent le rôle à l’association nommée. Beaucoup
d’outils rendent le rôle obligatoire.
Associations plusieurs-à-plusieurs
On utilise une association plusieurs-à-plusieurs entre deux entités (classes) si une occurrence
(objet) d’une entité (classe) peut être en rapport avec plusieurs occurrences (objets) de l’autre
entité (classe) et inversement.
Figure 1-18 Rôles avec UML
responsable
responsabilité
*
Professeur
...
...
UV
1
Précédent

- 41/316

Suivant