Outils d`aide à la conception de bases de données une synthèse
Transcription
Outils d`aide à la conception de bases de données une synthèse
Outils d’aide à la conception de bases de données une synthèse Christian Soutou http://icare.iut-blagnac.fr/soutou Plan 1. Généralités 2. Quelques outils – – – – – Designer, JDevelopper (Oracle) Rational Rose (IBM) Win’Design PowerAMC (Sybase) DB Designer (fabForce.net) 3. Rétroconception (reverse engineering) 4. Bilan 5. Webographie C. Soutou - 2006 2 1. Généralités C. Soutou - 2006 3 Quelques définitions • AGL (Atelier de Génie Logiciel ) – Environnement de développement utilisant le maximum de moyens, techniques pour améliorer et rationaliser la production de logiciels – Plate-forme qui intègre • • • • • • éditeur de texte (saisie assistée ou non, aide en ligne...) création graphique méthode d’accès aux fichiers ou SGBD compilateur(s) / debugger(s) création de reports, environnement de test gestion de génération de programmes, archivage... • Autre dénominations: – CASE (Computer Aided Software Environment) – IDE (Integrated Development Environment ) C. Soutou - 2006 4 Concept général : MDA (Model Driven Architecture) • Le principe d’architecture basée sur les modèles émane de l’OMG (http://www.omg.org/mda/) • Pourquoi? : Séparer les contraintes fonctionnelles des contraintes techniques – Expression des fonctionnalités dans un modèle PIM (Platform Independant Model) à l’aide d'un langage de spécification (le plus souvent UML) – Traduire ce modèle en un modèle spécifique PSM (Platform Spécific Model) comme : Java, .NET, XML Schema... • A partir d'un PIM, plusieurs PSM peuvent être générés (interopérabilité des systèmes) • Les autres standards que UML : – MOF, XMI, CWM et OCL C. Soutou - 2006 5 Caractéristiques communes • Deux ou trois types de modèles – modèle conceptuel de données (Merise ou entité-relation américain) et/ou – modèle orienté objet au formalisme UML; – modèle logique (des fois appelé physique) de données. • Génération de scripts SQL (ou tables) : forward engineering • Rétroconception : reverse engineering • Transformation entre modèles : round-trip engineering • Utilitaire Javadoc lors de rétroconceptions C. Soutou - 2006 6 Les outils UML • • • • • • • • • • ConceptDraw Data Architect EclipseUML JDeveloper MagicDraw UML MEGA Designer ModelSphere Objecteering Poseidon for UML PowerAMC • • • • • • • • QDesigner Rational Rose Data Modeler Together Architect Visio Visual Case Visual Paradigm Visual UML Win’Design C. Soutou - 2006 7 Les outils non UML • • • • • • • • DB Designer DatabaseDesign Studio DeZign for Databases Designer (Oracle) AllFusion ERwin Data Modeler xCase CASE Studio ER/Studio C. Soutou - 2006 8 Sondage de 2003 à maintenant http://www.developpez.net/forums C. Soutou - 2006 9 2. Quelques outils C. Soutou - 2006 10 Oracle Designer Version actuelle (Oracle10g Designer Release 9.0.4.6 ) C. Soutou - 2006 11 Oracle Designer • Modèle entity-relationship (associations qui sont d’ailleurs considérées comme des entités…) « Plus binaire? C’est pas possible » • Réservez votre journée pour l’installation et faitesvous copain avec le DBA (nombreux scripts SQL à lancer à la main alors que la base s’installe en quelques clics!) C. Soutou - 2006 12 Oracle Designer C. Soutou - 2006 13 Oracle Designer (association 3-aire) C. Soutou - 2006 14 Oracle Designer (du conceptuel au logique) C. Soutou - 2006 15 Oracle Designer (du logique au physique) C. Soutou - 2006 16 Oracle Designer (Repository) C. Soutou - 2006 17 Rational Rose Data Modeler usine à gaz : (jargon Français) Dans les années 1950, ce terme désignait un ordinateur, qui occupait en général 500 m2 de surface au sol et pesait 30 tonnes. Désormais, c'est un énorme logiciel contenant des centaines de fonctions pas toujours indispensables et parfois rangées n'importe comment dans les menus. C. Soutou - 2006 18 Rational Rose • Firme qui a beaucoup participé au lancement de UML • Proposition du profil UML pour les bases de données • Rachetée par Big Blue. C. Soutou - 2006 19 Rational Rose (classe + clé) C. Soutou - 2006 20 Rational Rose (du conceptuel au logique) C. Soutou - 2006 21 Rational Rose (modèle logique) C. Soutou - 2006 22 Rational Rose (vues) C. Soutou - 2006 23 JDeveloper Version actuelle Oracle JDeveloper 10g Release 3 (10.1.3) C. Soutou - 2006 24 Oracle JDeveloper JDeveloper s’exécute sans installation préalable (assez gourmand en CPU à l’utilisation). • Conception et développement pour des applications J2EE (Java Enterprise Edition) • UML pour modéliser et implémenter des classes Java et des diagrammes de composants BC4J (Business Components for Java) • Applets, Applications, JavaBeans, Java Server Pages, Servlets, EJB et Web services • Class Modeler permet de modéliser et de générer des classes Java ou composants BC4J, rétro-conception de code Java C. Soutou - 2006 25 JDeveloper n’est pas Designer! C. Soutou - 2006 26 JDeveloper (composant BC4J) C. Soutou - 2006 27 JDeveloper (détail d’une classe) C. Soutou - 2006 28 JDeveloper (association) Les associations JDeveloper sont modélisés comme Designer construit son modèle logique des données! C. Soutou - 2006 29 JDeveloper (du logique à SQL2) C. Soutou - 2006 30 JDeveloper (association) Les associations JDeveloper sont modélisés comme Designer construit son modèle logique des données! C. Soutou - 2006 31 JDeveloper (reverse engineering) C. Soutou - 2006 32 JDeveloper (vues) C. Soutou - 2006 33 Win’Design Version actuelle 6.51 C. Soutou - 2006 34 Win’Design • Outil Français (CECIMA, Aix en Provence) initialement basé sur Merise/2 • UML depuis avril 2002 (version 5) respecte les préconisations de l’OMG (UML 2) • Les diagrammes et fonctionnalités UML étaient – le diagramme de classes, avec les transformations vers le MCD Entité Relation (et inversement) ainsi que vers le MLD et la génération de bases de données – la génération de langage à partir des classes modélisées, vers les cibles C++ et Java – le diagramme de cas d’utilisation – le diagramme de séquence C. Soutou - 2006 35 Nouveautés UML • Diagrammes de collaboration (dual des diagrammes de séquence). Win'Design permet de passer d’un type de diagramme à l’autre par simples copier-coller • Extension de la génération de langages à partir des classes C#, VB.net, Delphi, PHP • Diagrammes d’activité (fortement inspirés des diagrammes de processus) C. Soutou - 2006 36 Modèle logique / SQL • Conventions de nommage (noms des clés primaires, clés étrangères et index) : paramétrable en préfixe, corps, et suffixe C. Soutou - 2006 37 Nouveauté ODBC • Accès à une base à partir de requêtes (SQL2 simplifié) via ODBC C. Soutou - 2006 38 Nouveauté Storage/Tablespace • Cette fonction permet de définir des options physiques C. Soutou - 2006 39 MCD Merise/2 C. Soutou - 2006 40 Win’Design (conceptuel) C. Soutou - 2006 41 Win’Design (du conceptuel au logique) C. Soutou - 2006 42 Win’Design (du conceptuel à UML) C. Soutou - 2006 43 Win’Design (héritage) C. Soutou - 2006 44 Win’Design (physique SQL2) C. Soutou - 2006 45 Power AMC Version actuelle 11 C. Soutou - 2006 46 PowerAMC • Ex. AMC*Designor, c’est la version française de PowerDesigner de Sybase • Notations Merise, entité-association américain, UML • Trois types de modèles – modèle conceptuel de données – modèle physique de données – modèle orienté objet au formalisme UML (passerelles avec Rational Rose) C. Soutou - 2006 47 PowerAMC C. Soutou - 2006 48 PowerAMC (du conceptuel au logique) C. Soutou - 2006 49 PowerAMC (du logique à SQL2) C. Soutou - 2006 50 PowerAMC (du conceptuel à l’objet) C. Soutou - 2006 51 DB Designer Version actuelle 4 C. Soutou - 2006 52 DB Designer • Outil gratuit (licence GNU GPL) pour Windows et Linux • Conçu et optimisé pour des bases MySQL C. Soutou - 2006 53 DB Designer C. Soutou - 2006 54 DB Designer C. Soutou - 2006 55 DB Designer (script SQL) C. Soutou - 2006 56 DB Designer (script SQL) CREATE TABLE departement ( codept INTEGER NOT NULL, nomdept VARCHAR(20) NULL, PRIMARY KEY(codept) ); CREATE TABLE employe ( nemp INTEGER NOT NULL, departement_codept INTEGER NOT NULL, PRIMARY KEY(nemp), -- INDEX employe_FKIndex1(departement_codept), FOREIGN KEY(departement_codept) REFERENCES departement(codept) -ON DELETE NO ACTION -ON UPDATE NO ACTION ); C. Soutou - 2006 57 3. Rétroconception (reverse engineering) C. Soutou - 2006 58 Rational Rose (reverse!) C. Soutou - 2006 59 Base test (reverse engineering) SQL> SELECT * FROM employe; N_EMP NOM_EMP ---------- -------------------E1 Victor E2 Henri E3 Michel E4 Pierre QUALIF_EMP ---------OP1 OP2 OP2 OP1 SQL> SELECT * FROM chantier; N_CHANTIER NOM_CH ---------- -------------------CH1 IUT CH2 UPS CH3 UTM ADRESSE_CH ---------Blagnac Toulouse Toulouse SQL> SELECT * FROM deplacer; N_CHANTIER N_VEHICULE DATE_JOU KILOMETRES N_EMP_COND ---------- ---------- -------- ---------- ---------CH1 V1 12/04/97 100 E1 CH2 V2 13/04/97 50 E4 CH2 V3 15/04/97 70 E4 SQL> SELECT * FROM transporter; N_EMP_TRAN N_CHANTIER N_VEHICULE ---------- ---------- ---------E2 CH1 V1 E3 CH1 V1 E3 CH2 V2 E4 CH2 V2 DATE_JOU -------12/04/97 12/04/97 13/04/97 13/04/97 SQL> SELECT * FROM vehicule; N_VEHICULE TYPE_VEHICULE KILOMETRAGE ---------- -------------------- ----------V1 J7 15000 V2 J9 20000 V3 J7 17000 V4 J9 65000 V5 J9 70000 V6 J7 15000 C. Soutou - 2006 60 PowerAMC (reverse) C. Soutou - 2006 61 PowerAMC (reverse) C. Soutou - 2006 62 PowerAMC (reverse) C. Soutou - 2006 63 PowerAMC (reverse) C. Soutou - 2006 64 Source ODBC C. Soutou - 2006 65 Win’Design (reverse engineering) C. Soutou - 2006 66 Win’Design (reverse engineering) C. Soutou - 2006 67 Win’Design (reverse engineering) C. Soutou - 2006 68 Win’Design (reverse engineering) C. Soutou - 2006 69 MCD avec agrégat 0,N Conducteur Employe n_emp nom_emp qualif_emp 0,N Transporter 1,1 0,N Vehicule Date Déplacer n_veh date_jour kilometres type_veh kilometrage 0,N 0,N 1,N Chantier n_chantier nom_ch adresse_ch C. Soutou - 2006 70 4. Bilan C. Soutou - 2006 71 Bilan • Oracle Designer : bien adapté à une conception classique et surtout à des bases Oracle • Rational Rose : UML (only) à tous les étages, gros projets, prototypage • PowerAMC, Win’Design : les plus polyvalents • Oracle JDeveloper : + orienté Java et XML • DBDesigner très bien pour MySQL • Aucun ne génère de script SQL avec des extensions objet (Oracle Object Designer le faisait autrefois mais mal…) C. Soutou - 2006 72 Mes étoiles (en 2003) C. Soutou - 2006 73 5. Webographie C. Soutou - 2006 74 Liens Web (outils UML) ConceptDraw Data Architect EclipseUML JDeveloper MagicDraw UML MEGA Designer ModelSphere Objecteering Poseidon for UML PowerAMC QDesigner Rational Rose Together Architect Visio Visual Case Visual Paradigm Visual UML Win’Design http://www.conceptdraw.com/en/products/cd5/main.php http://www.thekompany.com/products/dataarchitect/ http://www.eclipseuml.com http://www.oracle.com/technology/products/jdev/index.html http://www.magicdraw.com/ http://www.mega.com/en/product/mega_designer/ http://www.silverrun.com/modelsphere.html http://www.objecteering.com/ http://gentleware.com/index.php?id=30 http://www.sybase.com/products/developmentintegration/poweramc http://www.quest.com/qdesigner/ http://www-306.ibm.com/software/awdtools/developer/datamodeler/ http://www.borland.com http://www.microsoft.com/france/office/visio http://www.visualcase.com/visualcase/features.htm#UML http://www.visual-paradigm.com/product/vpuml/productinfovpumlse.jsp http://www.visualuml.com/Products.htm http://www.win-design.com/fr/ C. Soutou - 2006 75 Liens Web (outils non UML) DB Designer Database Design Studio DeZign for Databases ERwin Data Modeler xCase CASE Studio ER/Studio http://www.fabforce.net/dbdesigner4/ http://www.chillisource.com/ http://www.datanamic.com/ http://www3.ca.com/solutions/Product.aspx?ID=260 http://www.xcase.co.il/ http://www.casestudio.com/enu/default.aspx http://www.embarcadero.com/products/erstudio C. Soutou - 2006 76