UML 2 pour les bases de données
Niveau logique
Les outils sont évalués sur leur capacité à générer un schéma relationnel correct et sur la possibilité de définir d’éventuelles contraintes de répercussion sur les clés étrangères (CASCADE) pour la suite de processus de conception. Le modèle relationnel attendu est le suivant. Bon nombre d’outils permettent d’ajouter des contraintes au niveau des clés étrangères. Win’Design note en rouge les liens qui symbolisent la répercussion d’une suppression (ici la suppresssion d’un compte devrait entraîner celle des lignes dans la table des signataires, de même pour la suppression d’un client). Un mauvais point pour Visual UML qui nécessite (comme JDevelopper d’Oracle) de définir manuellement les clés étrangères pour chaque association ! Dans le cas de l’association présente, il faudrait ajouter un attribut dans la classe PlanEpargneRetraite puis le lier à l’identifiant de la classe Client. Figure 4-6 Modèle relationnel attendu Client[num, nom, adresse, numtel, numParrain#] PlanEpargneRetraite[numPER, dateEcheance, taux, num#] DroitSignataire[num#, nCompte#, droit] Compte[nCompte, solde, dateOuv, num#] Figure 4-7 Modèle logique Win’Design =Soutou FM.book Page 251 Vendredi, 16. f vrier 2007 5:56 17 Niveau logique UML 2 pour les bases de données 252 © Éditions Eyrolles Script SQL Les scripts SQL générés sont évalués sur la dénomination des contraintes (utilisation des noms des associations ou des rôles) et la position de la clé étrangère de l’association un-à-un (qui devrait, en théorie, se situer dans la table PlanEpargneRetraite). Bilan intermédiaire La majorité des outils permettent une saisie correcte au niveau conceptuel. ModelSphere et MyEclipse pêchent par manque de fonctionnalités tandis que Visual Paradigm nécessite une manipulation complexe inter-modèles. Au niveau logique, des différences d’implémentation (ou des insuffisances) apparaissent. Seuls Win’Design, Rational Rose et Objecteering font un sans faute. Un bémol pour MagicDraw, Visual Paradigm, Together et Enterprise Architect qui ne disposent pas du mécanisme d’identifiant de classe. À noter que Together représente une classe-association avec le même symbole que celui de l’association n-aire. Figure 4-8 Définition d’une clé étrangère avec Visual UML =Soutou FM.book Page 252 Vendredi, 16. f vrier 2007 5:56 17 © Éditions Eyrolles 253 chapitre n° 4 Outils du marché : de la théorie à la pratique Tableau 4.1 Associations binaires Associations binaires Niveau conceptuel avec UML (identifiant, associations, multiplicités, rôles, etc.) Modèle logique Code SQL (contraintes de clés étrangères) Enterprise Architect MagicDraw MEGA Designer ModelSphere MyEclipse Objecteering Poseidon PowerAMC Rational Rose Data Modeler Together Visio Visual Paradigm Visual UML Win’Design =Soutou FM.book Page 253 Vendredi, 16. f vrier 2007 5:56 17 UML 2 pour les bases de données 254 © Éditions Eyrolles Associations n-aires L’exemple 4-9 décrit une association 3-aire (avec attributs) qui modélise les affrètements d’avions par différentes compagnies au cours du temps.
Niveau conceptuel
Les outils sont évalués sur la possibilité de représenter une association n-aire à l’aide du symbole losange (diamond), de nommer l’association et d’y apposer différentes multiplicités maximales (1 ou plus généralement *)Niveau logique Les outils sont évalués sur leur capacité à transformer une association n-aire selon la valeur des multiplicités (en particulier pour 0..1 et 1, le degré de la clé primaire de la relation dérivée doit être réduit). Le modèle relationnel attendu est le suivant. Figure 4-11 Association n-aire (Win’Design) Figure 4-12 Modèle relationnel attendu Avion[immat, typeAv] Compagnie[comp, nomComp] Affretement[immat#, comp#, dateAff#, nbPassagers, cout] Jour[dateAff] =Soutou FM.book Page 255 Vendredi, 16. f vrier 2007 5:56 17 UML 2 pour les bases de données 256 © Éditions Eyrolles Script SQL Les outils sont évalués sur la possibilité de ne pas traduire une relation en table tout en la conservant au niveau logique (dans notre exemple, il n’est pas souhaitable de transformer la relation Jour en une table) et la traduction d’éventuelles multiplicités 0..1 et 1 (clé primaire réduite ou contrainte UNIQUE). Bilan intermédiaire Seuls cinq outils sont vraiment à l’aise au niveau conceptuel avec les associations n-aire. Le diagramme test ajoutait à la difficulté le fait de connecter une classe-association. Le grand gagnant de cet exercice est Win’Design qui maîtrise le processus de bout en bout. Figure 4-13 Association n-aire (Power AMC) =Soutou FM.book Page 256 Vendredi, 16. f vrier 2007 5:56 17 © Éditions Eyrolles 257 chapitre n° 4 Outils du marché : de la théorie à la pratique Tableau 4.2 Associations n-aires Associations n-aires Niveau conceptuel avec UML (symbole losange, multiplicités) Modèle logique Code SQL Enterprise Architect MagicDraw MEGA Designer ModelSphere MyEclipse Objecteering Poseidon PowerAMC Rational Rose Data Modeler Together Visio Visual Paradigm Visual UML Win’Design =Soutou FM.book Page 257 Vendredi, 16. f vrier 2007 5:56 17 UML 2 pour les bases de données 258 © Éditions Eyrolles Classes-associations L’exemple 4-14 regroupe sur une modélisation plusieurs associations sur une classe-association (compilation des exemples 2-52, 2-56 et 2-59). Différentes missions peuvent être suivies par un employé (en tant que passager ou conducteur). De plus, un employé pourra choisir une mission particulière pour calculer un bonus. Il est à noter que cette même base de données nous servira de test pour le processus de rétroconception.