© Éditions Eyrolles
45
chapitre n° 1
Le niveau conceptuel : face à face Merise/UML
La propriété de navigation est vérifiée dans la grande majorité des associations. La réduction
de la portée d’une association sera réalisée en phase d’implémentation (par programmation).
Il n’y a pas de sens à définir une association précisant la navigation des deux côtés simultanément.
Il existe un débat au sein de la communauté UML pour savoir s’il faut préciser le rôle et la
multiplicité du côté du lien non navigable. Bien qu’ils n’aient pas de sens, les renseigner peut
aider la compréhension générale. Dans l’exemple, on aurait pu inscrire le rôle fans et la
multiplicité 0..* (un professeur peut être le préféré d’aucun ou de plusieurs étudiants,
sachant qu’il ne pourra jamais connaître leur identité).
Contraintes
Les contraintes permettent d’améliorer la sémantique d’un schéma conceptuel.
●
Merise/2 distingue les contraintes intra-association (qui s’appliquent au sein de l’ensemble des occurrences d’une association), dont fait partie la CIF, et les contraintes interassociations (qui s’appliquent entre des occurrences de plusieurs associations partageant
des entités).
●
La spécification de UML 2 ne propose pas beaucoup de contraintes, le chapitre 4 décrit les
possibilités actuelles des outils en la matière. En contrepartie, UML permet de définir tout
type de contrainte en langage naturel (graphiquement, il s’agira d’un texte encadré d’accolades s’appliquant au niveau d’un attribut, d’un rôle, ou entre associations nommées). Les
contraintes qui s’appliquent entre plusieurs éléments doivent être précisées à l’aide d’une
ligne pointillée (exemple 1-40) éventuellement assortie d’une note (exemple 1-41).
Nous étudions les contraintes de partition (P), d’exclusivité (X), de totalité (T), d’inclusion (I) et
de simultanéité (S). Nous verrons qu’il est possible d’appliquer les contraintes P, X et T aux entités,
classes ou associations, alors que les contraintes I et S seront dédiées aux associations.
Considérons chaque contrainte sur l’ensemble des pilotes qui partent soit en mission sanitaire,
soit en mission d’entraînement. Un pilote est caractérisé par un numéro, un nom et un grade.
Une mission sanitaire est désignée par un code et un nom d’organisme, une mission d’entraînement
par un numéro, une date et une région concernée.
Contrainte de partition
Selon la contrainte de partition, toutes les occurrences d’une entité (ou classe) participent à
l’une des deux associations, mais pas aux deux, ni à aucune des deux.
L’union des pilotes en mission sanitaire et en opération d’entraînement donne la totalité du
contingent des pilotes (aucun n’est au repos ni ne mène de front des missions des deux types).
Précédent

- 53/316

Suivant