Bonjour,
Je suis entrain de concevoir une application dont le principe est le suivant:
Un utilisateur peut se situer comme fournisseur d'articles à d'autres utilisateurs, ainsi il peut les attribuer un crédit (c'est un service pré-payé). l'historique des crédits est enregistré. De même un utilisateur peut avoir plusieurs fournisseurs avec un crédit propre à chacun d'eux. De même les client peuvent devenir à leurs tour fournisseur pour d'autre utilisateur. et il peuvent définir le prix de vente par type d'article par client.
Les contrainte de cette partie sont:
un fournisseur intermédiaire n'achète des article que s'il en a besoin il ne gardes pas de stokes, de même si un client finale achète un article il le consomme immédiatement. Dons tous les articles reste chez les fournisseurs en haut de la chaîne mais les autres doivent connaitre les types d'article et précisent les prix de vente.
On choisit parmi les utilisateurs ceux qui peuvent devenir fournisseur. Donc le reste des utilisateur ne doivent pas connaître ou accéder au fournisseur du fournisseur.
Jusqu'ici tout va bien.
Le problème commence à partir d'ici.
Certain utilisateurs possèdes des licences logiciel, et ils veulent les mettre en location. sachant bien qu'on veut afficher toutes les licences proposés en location à tous les utilisateurs, mais on veut pas qu'il y ait une relation direct entre les loueur de licences avec les client finaux à cause de la contrainte cité précédemment. Donc le prix de location doit se prélevé du crédit du client auprès de son fournisseur (le cas d'un fournisseur unique). ce qui veut dire que les premier fournisseurs en haut de la chaine doivent devenir des client des loueur de licences, ainsi on gardera le crédit unique pour les client finaux. Les fournisseur intermédiaire veulent aussi une commission sur les licences loués, donc ils peuvent aussi définir des prix de location pour leurs clients.
On veut garder l'historique des locations.
Ci-joint vous trouverez la conception préliminaire de ce problème mais ça ma parait compliqué et je veux savoir s'il y a d'autre propositions.
je m'excuse car je ne dispose pas actuellement d'un logiciel pour créer le MCD donc je l'ai fait avec MysqlWorkbenche (c'est un MLD).
Si vous avez des questions ou des suggestion, merci de me les communiquer.
Merci d'avance.
Partager