UML 2 pour les bases de données
80
© Éditions Eyrolles
Non-couverture : héritage exclusif
La figure 1-84 illustre le cas B : il existe des postes n’étant ni client, ni serveur (l’union des clients
et des serveurs ne compose plus le parc informatique : certains postes en sont exclus).
Merise/2 note cet héritage par le symbole X dans l’exemple 1-82.
Plusieurs notations UML sont possibles : la plus simple et la plus courante consiste à n’utiliser
aucune contrainte (cas par défaut), une autre solution met en œuvre la contrainte prédéfinie
{incomplete,disjoint}, enfin les adeptes des règles OCL devront utiliser :
●
R1 et R2 précédemment définies ;
●
R3 modifiée (qui relâche la contrainte spécifiant qu’un poste est soit client, soit serveur) de
la manière suivante.
context Poste
inv R3 : (Poste.allInstances.noserie->isUnique(c | c.noserie)
Non-disjonction
Couverture : héritage de totalité
La figure 1-85 illustre le cas C : il existe des postes de travail considérés à la fois comme client et
serveur. L’union des clients, des serveurs et des clients-serveurs compose le parc informatique
dans sa totalité.
Merise/2 note cet héritage le symbole T dans l’exemple 1-82.
Le plus simple diagramme UML consiste à utiliser la contrainte prédéfinie {incomplete,overlapping}. Pour les adeptes du langage OCL, seule la règle R3 doit être
Figure 1-84 Héritage exclusif (cas B)
client
serveur
Clients
Serveurs
Postes
Précédent

- 88/316

Suivant