© Éditions Eyrolles
81
chapitre n° 1
Le niveau conceptuel : face à face Merise/UML
présente et modifiée (en relâchant la contrainte qu’un numéro de série est unique puisqu’un
poste peut être à la fois client et serveur par le fait du ou inclusif).
context Poste
inv R3 : (self.oclIsKindOf(Client) or self.oclIsKindOf(Serveur))
Dans les faits, la contrainte d’unicité du numéro de série sera toujours vérifiée au niveau de la
base de données. Nous verrons au chapitre 2 comment peuvent se traduire les associations
d’héritage.
Non-couverture : cas général
L’exemple 1-86 décrit le cas le plus général (les postes de travail peuvent être de toute nature).
Le schéma Merise/2 ne dispose d’aucune contrainte sur le graphe d’héritage.
Le diagramme UML consiste à utiliser la contrainte prédéfinie {incomplete,overlapping}.
Figure 1-85 Héritage de totalité (cas C)
Figure 1-86 Héritage sans contrainte (cas D)
Postes
Clients
Serveurs
C/S
client
serveur
clientserveur
client
serveur
clientserveur
Postes
Clients
Serveurs
C/S
Précédent

- 89/316

Suivant