Je travaille sur un modèle d'analyse dans UML, et je suis un peu bloqué lorsque je tente de représenter une contrainte sur un couple d'attributs dans un diagramme de classes. Dans la classe suivante:comment modéliser des attributs mutuellement exclusifs dans UML?
+-----------+
| SomeClass |
+-----------+
| isFoo |
| isBar |
| isBaz |
| isQuux |
+-----------+
tous les attributs indiqués sont les types booléens, et les deux derniers, isBaz
et isQuux
, sont mutuellement exclusifs. Comment est-ce que je l'indique? Je préfère ne pas utiliser une note ad hoc - plus d'encombrement. Tout ce que je peux trouver sur les contraintes dans UML semble les appliquer aux associations , pas aux attributs. Je pouvais briser les attributs dans une classe à associée, mais ils sont simples types booléennes, donc quelque chose comme cela semble être surpuissant:
+-----------+
| SomeClass |
+-----------+ 0..1 isBaz 1 +-------------------+
| isFoo |------------------| ThereCanBeOnlyOne |
| isBar | | +-------------------+
| | |{NAND} | isBaz |
| |------------------| isQuux |
+-----------+ isQuux +-------------------+
Quelle est la « bonne » façon de modéliser les attributs mutuellement exclusifs dans UML?
merci, grande précision. Oui, dans mon modèle, isBaz et isQuux sont vraiment 'Operating Operating' et 'Major Operating Expense' L'objet parent, un Contract, peut être classé comme l'un, l'autre, ou aucun (les deux faux), mais pas les deux. – Val