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