Andrei F
Andrei F

Reputation: 4394

Eclipse Plugin for creating large java class diagrams from existing code

I am looking for an Eclipse Plugin to create large class diagrams from existing Java code (free/open source). I found some plugins that create diagrams from java code and vice-versa, but the project has a large number of packages (about 80) and classes/interfaces (about 1000-1500) and I would like to create a diagram for the whole code, with different options (for eg, not to include the interfaces in the generated diagram or to create diagrams for certain packages). I know that the diagram would be very big, but that is what I really want to represent the project in a single diagram (and omitting unimportant classes, interfaces, packages etc and also members and method names).

Upvotes: 4

Views: 13768

Answers (2)

Jonatan Kaźmierczak
Jonatan Kaźmierczak

Reputation: 1911

The project size is impressive. Before you will start with diagrams, try to answer to the following questions:

  • how many diagrams will you create (approximately) ?
  • how much time do you spent on one diagram (average) ?
  • what are total estimated and allowed time effort ?
  • is the result worth of the effort ?
  • is the structure changing ?
  • how much time effort has to be put into diagrams review+fixes after synchronization of model with changed code ?
  • how much time effort has to be put into maintenance of diagrams ?

In case of project of mentioned size, most likely results are not worth of the effort and most likely model and diagrams will be continuously out-dated.

I faced similar situation even with much smaller projects (< 100 class units). I tried some standalone tools - the best was Enterprise Architect (commercial), next - JUDE (currently astah*, but they cut off import functionality from community edition). However, they and other tools didn't discover dependencies, didn't show parametrized types (List<Something>) and didn't show annotations.

So finally I started to use free UML browser/navigator - Class Visualizer. It's like using interactive map versus scanned paper map. It allows to see selected class with all its relations: super-classes, implemented interfaces, sub-classes, referenced classes (associations, dependencies), usages (associations, dependencies). It processes and shows parametrized types and annotations. I can navigate to other classes through relations. Selected class is presented with all details, relations - without. I tried it on projects of your size - diagrams containing hundreds of relations are generated instantly. And its repository is compiled java project, so no problems with synchronization of model with code.

Upvotes: 3

Sai Ye Yan Naing Aye
Sai Ye Yan Naing Aye

Reputation: 6738

Try ObjectAid UML Explorer. And you should also try JUPE.

Upvotes: 3

Related Questions