EclipseUML Enterprise Edition
reverse engineering architecture
Vlad VARNICA, Business Development Director,
March 2004
Omondo Corporation,
IBM Partnerworld for Developers
This article gives you a quick understanding of and reverse engineering
functionalities.
The EclipseUML Enterprise Edition reverse engineering is more than solutions and the more complete.
EclipseUML
Enterprise Edition is an advanced modeling tool which uses
the Eclipse automatic builder technology. Each compilated class is
permanently updated using an automatic builder (many IDEs
do
not have this automatic builder technology).
EclipseUML Enterprise Edition is a lot more flexible and faster because
parsing and mapping executions are skipped and tags are generated
directly from the
byte-code.
|
EclipseUML Free
Edition reverse engineering
architecture is similar to traditional UML solutions. It is based on a
UML metamodel which collects information from the source code and the
Java reflection in order to generate Java Tags. This architecture is
more suitable for smaller projects. |
In this chapter, we will explain:
1. Reverse engineering
architecture:
2. Reverse
Engineering features chart
|
EclipseUML Free Edition 1.2.1
Traditional UML Solutions
|
EclipseUML Enterprise Edition |
| Package dependency reverse |
 |
 |
| Classe diagram reverse |
 |
 |
| Attribute reverse |
 |
 |
| Association reverse |
 |
 |
| Inheritance reverse |
 |
 |
| Dependency reverse |
 |
 |
| Jar file reverse |
 |
 |
|
Not available in the free edition
|
 |
|
|
 |
|
|
 |
|
|
 |
|
|
 |
|
|
 |
|
|
 |
|
|
 |
3. Start
the reverse engineering process:
The EclipseUML Enterprise Edition reverse
engineering is a full project analysis. When you launch the reverse
engineering of an existing project, EclipseUML checks all packages
included in the project and writes standard Xdoclet tags in your java
code.
The reverse information is saved in the java tags and used by the
EclipseUML metamodel which will be based on UML2 and XMI 2.0 (XMI 2.0
April 2004, we currently use XMI 1.3) to generate the UML diagrams.
This reverse will only be done once. The project information will
then be available in Java code and the tags.
The diagram creation uses the following architecture:
4. Example
Reverse engineering at project level is the only way to analyse
all in-going and out-going information.
For example, if we have two
classes (Company and Employee) in the
package company and one class (Main) in the package company.app.
The 0..* association cannot be detected from the code of the Company
and Employee classes by traditional UML solutions which are just
working at diagram level, because there is no indication of the type of
collection elements in Company.
Working at project level allows EclipseUML to analyse the Main class,
which could
be anywhere
in the project, and brings the information on element types into the
Company collection.
Omondo is the only worldwide UML solution mastering full project level
reverse engineering.
|
|