Skip to main content

UML tools for round-trip-engineering

2 replies [Last post]
christian_schli...
Offline
Joined: 2005-05-21
Points: 0

Hi everyone,

recently I decided that one of my open source projects deserves a bigger redesign. So I want to model the new version without the need to go into all details, but with enough details to test some use cases. In addition, I want to share my design draft with the community without overwhelming everybody with all the source code. So I stumbled over UML.

Now I am looking for a UML tool which allows me to do round-trip-engineering, starting with my current source base and evolving to the new can-do-it-all-model.

I know that there are hundreds of tools, but I don't have an overview. So far I have tried the following:

+ Visual Paradigm Suite for UML (Evaluation for Professional Edition): I was neither impressed by its reverse engineering capabilities nor by the pricing. My source wasn't properly parsed (did not consider default access modifiers in an interface to be public) and trying it with the SDE version even freezed my 1GB RAM notebook due to a huge memory leak. The class diagrams I finally got were different depending on how I actually created them, independently of my presentation settings.

+ ArgoUML: Reading the source was not a problem after fixing some assert statements, but again I could not generate proper class diagrams: It did not recognize any use-associations between classes and fields using them.

Now I wonder if anybody else has some *positive* experiences with this approach to report. I don't mind spending a small amount of money on a tool, but certainly not some hundred Euros or more.

Regards,
Christian

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
gatto
Offline
Joined: 2004-07-10
Points: 0

Hi Christian,

Borland's Together is the best UML tool I've ever used, and its reverse engineering is great. In fact, Together stores classes AS java files, so it might even not be appropriate to call it reverse engineering. It even has a built in java editor, so you can edit the source directly within it - changes magically show up in the diagrams. Refactoring support and many other IDE-like functionalities are also available. And, since the model IS java, model and source are always in sync.

For associations and the like, Together put xdoclet-like javadoc tags in code, like @cardinality, @role-name, etc.

The only problem is that it's reeeally expensive. There used to be a community edition, but I don't know if it's still available. Unfortunately, I haven't worked with it in years.

Regards,
Gatto

jwenting
Offline
Joined: 2003-12-02
Points: 0

Forget about real round tripping. It's not worth it.
Design the idea using a UML tool, then write the code for it (possibly reusing parts of the old code).

Code import and export can help create skeletons but don't rely on them to do your work for you.

I'm now using Enterprise Architect and it seems rather solid.
The code import works quite nicely, haven't tried the export function in roundtrip mode (only to create some new class skeletons).