Bonsoir,
Dans l'optique d'établir un SGBD de gestion de tournées de courrier (de type médical), je rencontre quelques difficultés dans une partie de mon diagramme de classe.
En effet, ce soucis se situe dans la gestion des employés et la gestion du remplacement des chauffeurs de tournée de courrier (je ne montre pas l’ensemble du projet, juste les classes concernées) :
Diagramme de classe
Modèle physique (pour voir plus facilement les identifiants et clés étrangères)
Premier problème : classe n-aire EMPLOIS
Classe PERSONNES : Va contenir les informations relatives aux personnes (id, nom, prénom,etc.).
Classe FONCTIONS_PERSONNES : Va contenir les fonctions au sein de l’entreprise(gestionaire, chauffeur, trieur, secrétaire,etc.).
Classe DEPOTS : Va contenir les différents dépôts de courrier de l'entreprise (dépots situés sur différentes zones géographiques).
Classe d'association EMPLOIS (n-aire) entre PERSONNES / FONCTIONS_PERSONNES / DEPOTS : Va contenir le ou les "emploi(s)" qu'une personne peu avoir au sein de l'entreprise. En effet, une personne peut-être gestionnaire de 2 dépôts, une personne peut-être à la fois chauffeur et trieur de courrier,etc.
-> Une personne a la possibilité de travailler dans un ou plusieurs dépôts (pas plus de 2 dépôts normalement... mais avec les exceptions, l'étoile est de mise pour ne pas rencontrer de problèmes ).
Il faut savoir que l'entreprise travail avec beaucoup de freelances. Un chauffeur peut, par exemple, travailler dans un dépôt (effectuer une tournée de livraison de courrier) et s'occuper de la navette entre deux dépôts (trafic "interne" de courrier) pour un autre dépôt. Un gestionnaire de dépôt pourrait très bien gérer deux dépôts aussi.
Le SGBD devra donc permettre l'assignation d'une personne à un dépôt ou plus.
-> Une personne a la possibilité d'avoir plusieurs fonctions au sein d'un dépôt.
Par exemple, il arrive souvent qu'une personne livre du courrier la nuit et avant d’entamer sa tournée de courrier, soit trieur au sein du dépôt (assiste la machine de tri afin de dispatcher le courrier aux tournées de son dépôt/reporter des mauvaises adresses/etc.).
Le SGBD devra donc permettre l'assignation de plusieurs fonctions à une personne au sein de son dépôt.
Question : suis-je obligé de passer par une classe d'association n-aire pour gérer cela ?
Deuxième problème : Remplacement des chauffeurs dans les tournées de courrier
Le problème se situe entre la classe EMPLOIS (détails ci-dessus) et la classe TOURNEES. Cette classe TOURNNES va lister les tournées de courrier des dépôts (une tournée appartient à 1 et un seul dépôt), ces tournées peuvent être de plusieurs types : tournées de livraison de courrier de nuit, tournées d’enlèvement de courriers chez les clients (dans les hôpitaux, laboratoires,etc.), tournées de livraison de colis de jour (signés),etc.
Classe TITULAIRES_TOURNEES : va lister les chauffeurs qui sont affectées aux tournées de courrier (un seul chauffeur est titulaire d'une tournée) et il y aura une historisation : l'historisation des titulaires et remplaçants est importante en cas de plainte par exemple).
Classe REMPLACANTS_TOURNEES : afin de pourvoir établir un listing de remplaçants possible pour les tournées de courrier. Pas besoin "d'historiser" ici vu que le but est d'établir une liste des remplaçants. Par exemple, il peut y avoir plusieurs remplaçants possibles pour une tournée, le gestionnaire pourra aller piocher tel ou tel remplaçant dans la liste pour une tournée donnée.
Classe REMPLACEMENTS : Afin d'historiser le remplacement d'une personne dans une tournée (encore une fois, important en cas de plainte d'un client, pour savoir qui s'occupait de cette tournée à telle date).
Contrainte XOR entre TITULAIRES_TOURNEES et REMPLACANTS_TOURNEES pour exprimer une exclusion mutuelle : un titulaire d'une tournée ne peut pas être remplaçant d'une même tournée de courrier.
Contrainte INCLUDE entre REMPLACANTS_TOURNEES et REMPALCEMENTS pour exprimer le fait qu'un remplacement de chauffeur dans une tournée doit correspondre à la liste des remplaçants.
Question : suis-je obligé de passer nécessairement par 3 classes d'associations afin de mettre en place un système de remplacement de chauffeurs dans les tournées de courrier ?
En guise de conclusion, si vous avez des remarques et/ou des modifications à apporter, elles sont les bienvenues J'espère avoir été clair dans mes interrogations.
Merci
Partager