A Language-Independent Approach to Refactoring through

Download Report

Transcript A Language-Independent Approach to Refactoring through

E-R Modeler: A Database Modeling
Toolkit for Eclipse
Hui Wu
wuh -at- cis.uab.edu
http://www.cis.uab.edu/wuh
Academic Advisor : Dr. Jeff Gray
gray -at- cis.uab.edu
http://www.gray-area.org
University of Alabama at Birmingham
Department of Computer & Information Sciences
Motivation
• Enhance DB
Modeling Capability of
Eclipse
• Provide capabilities
such as XML and
DDL generation, DB
connection as well as
DB schema creation
• Support reverse
engineering of
existing databases
E-R Modeler Architecture
System Design –
Primary Function Modules
• Diagram editor
– A UML-style diagramming tool to construct and modify
E-R models.
• Outline view and Property view
– Communicate and synchronize with the drawing
Canvas to display the outline, composition and
properties of entities and relationships
• File IO
– Store/load the E-R diagram to/from a binary file
– Store the internal data structure (entities, attributes,
primary keys and relationships, etc) into an XML file
System Design –
Primary Function Modules (cont’d)
• Data Definition Language (DDL) generation
– Load the XML file as a DOM tree and traverse
the DOM tree
– Generate physical DDL based on the
underlying database
• DB table generation
– Connect to the underlying database
(Access/SQL Server/SQL Plus)
– Execute the physical DDL to create database
schema
Implementation –
What extension points we extent
•
•
•
•
•
•
perspectives – framework
newWizards – new project & files
editors – diagram & XML & SQL editor
actionSets – toolbar actions
propertyPages – property view
preferencePages – color changing of
characters in the XML editor
• toc – online help
The E-R Modeler Framework
Diagram
editor
Model
explorer
DB
connection
Dialog
Model
outline
view
Model
property
view
Future Work
• Implement support for reverse engineering
• Provide automatic layout support
• Support for additional file types
• Enrich ER object types like weak entity
• Add extension-points for other plug-ins to
build on
Credits
Leading Developers:
Song Zhou,
Chris Xu
Supporting Programmers:
Hui Wu,
Yuehua Lin,
Jing Zhang,
Juanqin Wang
Advisors:
Dr. Jeff Gray,
Dr. Barrett Bryant
Demo
Thanks