Bonjour,
En partant d'une situation réelle, j'ai modélisé le diagramme de classes suivant en UML :
Le schéma :
Le contexte :
Un producteur dispose d'un stock de matière première. Il peut effectuer plusieurs levées de différentes quantités pour constituer une part. Cette part passera au cours de sa transformation par plusieurs étapes dont le cycle peut changer (ce ne sont pas les mêmes étapes qui sont appliquées pour toutes les parts). Une interaction définit chaque passage d'une part par une étape, et celle-ci est faite par un ou plusieurs employés pour produire un produit défini. Il y a des pertes (déchets) qui seront par la suite recyclées dans le stock.
Les questions :
Diagramme de classes UML (DC) :
Tout d'abord, ce diagramme est-il correct syntaxiquement ? L'utilisation des classes d'association Levee, Interaction et Production est-elle justifiée ?
Passage du Modèle de Classes UML au Modèle Physique de Données (MPD) :
Quand on relie une classe d'association (ex : Interaction) à d'autres classes du modèle (ex : Employe, TypeProduit, Dechet) et que lors du passage au MPD il faut créer une table ad hoc (ex : entre Interaction et Employe créer la table EmployeInteraction) matérialisant les liens multiples à l'aide d'une clé primaire composée des clés étrangères (dans le cas de l'exemple pris, les clés étrangères pointeront vers les tables Interaction et Employe). Or la clé primaire de la classe d'association elle-même est composée d'une combinaison de clés étrangères (ici la classe association Interaction).
Ce schéma représente le passage du DC vers le MPD pour les classes Levee, Etape, Interaction et Employee, avec la création d'une table ad hoc EmployeInteraction :
Dans ce cas, la clé primaire de la classe EmployeInteraction est-elle composée de trois clés étrangères (employeId, leveeId et etapeId) ? Ces clés pointent vers les tables Employe et Interaction ou bien vers Employe, Etape et Levee ?
Je vous remercie d'avance pour vos éclaircissements.
Partager