Diagramme de classes : La taxinomie
Intention du pattern Taxinomie
Il est souvent nécessaire de classer les objets : typologie des projets, des activités, classification des rôles ou des acteurs, nature de produits, catégorisation des clients, etc.
Les modèles s'alourdissent alors de propriétés particulières qui se trouvent être peu partageables et, finalement soumise à l'arbitraire.
Le mécanisme décrit ici est une "figure" générale (un pattern ) qui offre la possibilité d'associer dynamiquement des typologies à n'importe quelle classe du modèle.
Il est particulièrement pratique quand le modélisateur ne peut pas fixer a priori les typologies qui s'applique à un objet.
Explication du pattern Taxinomie
Une typologie - ou taxonomie - est une liste de dénominations : les taxons. Un taxon n'est rien d'autre qu'une expression qui prend son sens au sein d'une taxonomie.
L'association réflexive sur la classe Taxon permet de construire des arbres de classification.
Une taxonomie s'applique à un type d'objet. C'est la classe Description, ancêtre de toutes les classes M1 du modèle MeRSI, qui représente tous les objets imaginables. Un même objet peut entrer dans plusieurs classifications : d'où l'intervention du point de vue pour indiquer l'intention de la classification.
Pour un point de vue donné sous lequel on considère un objet, cet objet ne peut se voir attribué qu'un seul type. C'est ce qu'indique la classe associative Attribution, elle-même reliée à la classe Taxon avec une cardinalité 1..1.
Interprétation par rapport aux plans de représentation
On a exclu la possibilité de classifier les méta-classes du modèle. C'est pourquoi le pattern porte sur Description et non sur Représentation. La raison en est que la classification des méta-classes s'obtient plutôt par héritage et débouche sur le mécanisme de stéréotypage.
Cohérence
Néanmoins, le diagramme fait intervenir la méta-classe Class, du méta-modèle UML. C'est pour souligner la nécessité de contrôler la cohérence entre :