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) L> SELECT * FROM employe; EMP NOM_EMP QUALIF_EMP -------- -------------------- ---------- Victor OP1 Henri OP2 Michel OP2 Pierre OP1 L> SELECT * FROM chantier; CHANTIER NOM_CH ADRESSE_CH -------- -------------------- ---------- 1 IUT Blagnac 2 UPS Toulouse 3 UTM Toulouse L> SELECT * FROM vehicule; VEHICULE TYPE_VEHICULE KILOMETRAGE -------- -------------------- ----------- J7 15000 J9 20000 J7 17000 J9 65000 J9 70000 J7 15000 SQL> SELECT * FROM deplacer; N_CHANTIER N_VEHICULE DATE_JOU KILOMETRES N_EMP_CON ---------- ---------- -------- ---------- --------- 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 DATE_JOU ---------- ---------- ---------- -------- E2 CH1 V1 12/04/97 E3 CH1 V1 12/04/97 E3 CH2 V2 13/04/97 E4 CH2 V2 13/04/97 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 Conducteur 1,1 0,N Employe n_emp nom_emp qualif_emp 0,N Transporter 0,N Vehicule n_veh type_veh kilometrage 0,N Déplacer kilometres 0,N Date date_jour 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