Bonjour,
Y-a-t-il une relation entre le diagramme de classe et le MCD.
Merci d'avance.
Bonjour,
Y-a-t-il une relation entre le diagramme de classe et le MCD.
Merci d'avance.
Je n'emploierais pas le terme "relation" mais il y a une correspondance entre DC et MCD.
Exemple...
MCD :
personne -0,n----travailler----1,n- projet
DC :
personne -1..*--------------------*- projet
je suis d'accord, mais plus précisément est ce qu'on peut à partir du diagramme de classes générer les tables de ma base de données ou bien non
Oui. Avec un logiciel de modélisation capable de le faire. La dernière version de BOUML le fait je crois pour MySQL, ainsi que PowerAMC et probablement aussi Win Design, Open Modelsphere...
oui, le diagramme de classe étant alors en fait l'équivalent d'un MPD. Les tables MySQL sont supportées par des classes stéréotypées table, les colonnes et clefs non étrangères sont supportées par des attributs, enfin les clefs étrangères sont supportées par des relations unidirectionnelles. Comme d'habitude les artifacts représentent les fichiers générés, dans le cas de MySQL le stéréotype est database.
cela marche dans les deux sens, vous pouvez produire du MySQL à partir de ces classes-tables et artifacts, et vous pouvez aussi reverser des définitions de database et table(s) pour créer les classes-tables et artifacts les modélisant.
Remarque quand même à propos de mon exemple :
Je ne suis pas un habitué d'UML mais je pense que mon DC est juste sur le plan conceptuel. Cependant, le passage au MLD côté Merise donnera ceci :Envoyé par CinéPhil
personne <----- travailler ------> projet
C'est à dire trois tables dont celle issue de l'association aura pour clé primaire les clés étrangères référençant les deux autres tables.
En UML, pour générer le code SQL approprié, il faut donc ajouter la troisième classe et transformer le DC ainsi :
personne -1..*--------1- travailler -1----------*- projet
Bruno, faut-il passer manuellement du premier DC au second avec BOUML (pas encore eu l'occasion et pas encore pris le temps de tester ) ?
je n'ai toujours pas mis les MCD et MLD dans Bouml ( aussi), même si on peut en fait dessiner ceux-ci avec la version actuelle (mais sans que Bouml sache de quoi il s'agit). Il n'y a donc pas non plus d'aide (via un plug-out) pour automatiser le passage entre MCD MLD et DC/MPD. Bref tout cela reste à implémenter, après y avoir bien réfléchit car par exemple je me demande si le MLD est vraiment utile dans ce contexte (pas taper, ou en tout cas pas trop fort svp )
mais si on veut 3 tables il faudra 3 classes aussi dans le DC/MPD
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager