Mesdames, Messieurs bien le bonjour.
Je suis face à un petit questionnement concernant un diagramme de classe modélisant le fonctionnement de l’entreprise.
Tout d’abord petite mise en contexte. Ma mission est de modéliser l’ensemble du fonctionnement de l’entreprise pour un projet d’intégration d’ERP (Divalto) qui sera faite par un intégrateur.
Je travaille pour une industrie qui produit des tubes en plastique
Je me pose deux questions pour un choix de modélisation dans mon diagramme de classe, je m’exprime avec un exemple concret.
Nous somme en relation avec des « Société » qui peuvent être « Client » et/ou « Fournisseur » et/ou « Transporteur » ( 7 combinaisons sont possibles car {Client,Fournisseur,Transporteur} = {0.0.0} ne peut pas exister).
La question que je me poste est : Est-il mieux de modéliser ces 3 sous types de partenaires par un héritage d’un type commun « Société » ou est-il plus judicieux que je conserve uniquement ma classe « Société » et que je lui ajoute trois attribut booléen {Client, Fournisseur, Transporteur] sachant qu’en fonction des sous types auxquels les objets appartiendront, ils n’auront pas accès aux mêmes services.
• Par exemple, seul les Société client peuvent établir des contrats (voir diagramme de classe).
• Autre exemple, il n’est possible de commander des matières premières qu’à un fournisseur.
• Et évidemment une commande se comporte de manière complètement différente selon qu’elle est soit en relation avec un fournisseur, un client ou un transporteur
Si vous voulez bien donner un petit coup de pouce sur ce point là je pense que ça me permettrais de faire un petit bond en avant sur les diagrammes de classes car je début en UML.
CI joint les deux propositions en images:
La version par héritage.
La version avec les attributs qualifiants.
Je vous remercie d'avance pour votre aide.
Partager