© Éditions Eyrolles
39
chapitre n° 1
Le niveau conceptuel : face à face Merise/UML
principaux outils anglo-saxons (comme Rational Rose) ne les géraient pas (le chapitre 4 fait le
point sur cet aspect des choses). Seul Rumbaugh [RUM95] avec OMT abordait explicitement
cet aspect (en le limitant aux ternaires et en niant quasiment les dimensions supérieures). Il y
est dit : « La notation symbole de multiplicité (celle d’OMT) fonctionne bien quand il s’agit
d’associations binaires… Cependant cette notation est ambiguë pour les associations n-aires
(n > 2). La meilleure approche est de préciser les clés candidates. Une clé candidate est un
ensemble minimum d’attributs qui identifie uniquement un objet… ». Ce dernier conseillait
de promouvoir l’association ternaire comme une classe. Si UML avait poursuivi cette voie :
●
il ne devrait pas y avoir de multiplicité notée sur les ternaires !
●
on devrait introduire la notion d’identifiant ou de clé candidate sur les associations !
●
l’interprétation se ferait ensuite au niveau logique !
Notation UML
On lit désormais dans la spécification (Unified Modeling Language : Superstructure - version
2.0 - formal/05-07-04) que la lecture des multiplicités doit se faire selon le mode de lecture du
formalisme de Chen (exemple de la figure 1-25).
« For n-ary associations, the lower multiplicity of an end is typically 0. The lower multiplicity
for an end of an n-ary association of 1 (or more) implies that one link (or more) must exist for
every possible combination of values for the other ends ».
On apprend dans cette même spécification que toute association binaire pourrait être représentée
à l’aide du symbole losange.
« Any association may be drawn as a diamond (larger than a terminator on a line) with a solid
line for each association end connecting the diamond to the classifier that is the end’s type. An
association with more than two ends can only be drawn this way ».
Cette notation n’est pas très utilisée en pratique (seul l’outil Together de Borland l’a adoptée).
De plus, ce formalisme peut porter à confusion car il ressemble au symbole de l’agrégation
partagée.
Une association n-aire sans contrainte se représente avec UML soit par un losange (symbole de
l’association) qui connecte les n classes et une classe-association, soit par une classe stéréotypée reliée aux n classes.
Une association n-aire avec contrainte se représente plus facilement avec UML par une ou
plusieurs classes-associations reliant les n classes.
Association en losange
Le diagramme de classes 1-26 modélise l’association Installation précédente à l’aide du
symbole de l’association n-aire. La contrainte d’unicité apparaît explicitement (multiplicité 1
du côté Serveur).
39
chapitre n° 1
Le niveau conceptuel : face à face Merise/UML
principaux outils anglo-saxons (comme Rational Rose) ne les géraient pas (le chapitre 4 fait le
point sur cet aspect des choses). Seul Rumbaugh [RUM95] avec OMT abordait explicitement
cet aspect (en le limitant aux ternaires et en niant quasiment les dimensions supérieures). Il y
est dit : « La notation symbole de multiplicité (celle d’OMT) fonctionne bien quand il s’agit
d’associations binaires… Cependant cette notation est ambiguë pour les associations n-aires
(n > 2). La meilleure approche est de préciser les clés candidates. Une clé candidate est un
ensemble minimum d’attributs qui identifie uniquement un objet… ». Ce dernier conseillait
de promouvoir l’association ternaire comme une classe. Si UML avait poursuivi cette voie :
●
il ne devrait pas y avoir de multiplicité notée sur les ternaires !
●
on devrait introduire la notion d’identifiant ou de clé candidate sur les associations !
●
l’interprétation se ferait ensuite au niveau logique !
Notation UML
On lit désormais dans la spécification (Unified Modeling Language : Superstructure - version
2.0 - formal/05-07-04) que la lecture des multiplicités doit se faire selon le mode de lecture du
formalisme de Chen (exemple de la figure 1-25).
« For n-ary associations, the lower multiplicity of an end is typically 0. The lower multiplicity
for an end of an n-ary association of 1 (or more) implies that one link (or more) must exist for
every possible combination of values for the other ends ».
On apprend dans cette même spécification que toute association binaire pourrait être représentée
à l’aide du symbole losange.
« Any association may be drawn as a diamond (larger than a terminator on a line) with a solid
line for each association end connecting the diamond to the classifier that is the end’s type. An
association with more than two ends can only be drawn this way ».
Cette notation n’est pas très utilisée en pratique (seul l’outil Together de Borland l’a adoptée).
De plus, ce formalisme peut porter à confusion car il ressemble au symbole de l’agrégation
partagée.
Une association n-aire sans contrainte se représente avec UML soit par un losange (symbole de
l’association) qui connecte les n classes et une classe-association, soit par une classe stéréotypée reliée aux n classes.
Une association n-aire avec contrainte se représente plus facilement avec UML par une ou
plusieurs classes-associations reliant les n classes.
Association en losange
Le diagramme de classes 1-26 modélise l’association Installation précédente à l’aide du
symbole de l’association n-aire. La contrainte d’unicité apparaît explicitement (multiplicité 1
du côté Serveur).
