Database Reference
In-Depth Information
Contraintes prédéinies
Le tableau suivant illustre, pour chaque cas d'héritage, la contrainte à mettre en œuvre dans
le formalisme Merise et la notation UML. Notez que l'absence de contrainte dans un graphe
d'héritage n'a pas la même signiication dans Merise/2 et dans UML. Le premier autorise
qu'une occurrence appartienne à plusieurs entités sous-types. UML considère que par défaut
un objet n'existe que dans une classe pour un niveau de hiérarchie donné.
Tableau 1-10 : Héritage : couverture et disjonction
Couverture
Non-couverture
Disjonction.(
cas A
)
...................Merise/2 :.Partition
(
XT
)
...................UML :.
{complete,disjoint}
.
(cas.B)
.......Merise/2.:.Exclusivité
(
X
)
.......UML.:.
{incomplete,disjoint} (
par.défaut)
Non-Disjonction.(
cas C
)
...................Merise/2 :.Totalité.(
T
)
...................UML :
{complete,overlapping}
(cas.D).
.......Merise/2.:.pas.de.contrainte.(par.défaut)
.......UML.:.
{incomplete,overlapping}
Le schéma suivant précise l'association d'héritage en indiquant qu'il n'existe pas de personnel
qui ne soit ni navigant ni commercial.
Figure 1-75
. Héritage avec la contrainte de partition
Contraintes avec OCL
La programmation OCL permet également de préciser ces types de contraintes, qu'il est pos-
sible de trouver ailleurs que dans un graphe d'héritage.