Generate UML Class Diagram from Java Project

Carven picture Carven · May 29, 2011 · Viewed 375.4k times · Source

Is there a good tool that can help to reverse engineer Java classes to UML that will show an overview of how my classes are related to each other? It doesn't need to decompile from JAR file because I have the sources. I know there are quite a few out there but most of those can only generate individual class. I hope there is a tool that can generate class diagram that shows an overview of how all my current classes and packages work together, so that I can analyse my current architecture design. Of course, analysing is one thing. The other is for documentation purposes.

I know of a few so far. But they cannot do an overview class diagram. Here's a list of Java UML tool that I have tried and is capable of doing reverse engineer but cannot do an overview class diagram of my whole project:

  • StarUML (Really good Opensource UML tool but cannot generate not overview class diagram)
  • ArgoUML (It is slow and sluggish and it keeps crashing)
  • UModel (This is a commerical software. I used before some time ago but found it difficult to use)
  • MS Visio (It doesn't support Java UML reverse engineer. Only for VB)

Are there any other recommendations to add to this list? And hopefully, can generate an overview Java class diagram. I am using Eclipse, by the way.

Answer

Jonatan Kaźmierczak picture Jonatan Kaźmierczak · Sep 14, 2012

I wrote Class Visualizer, which does it. It's free tool which has all the mentioned functionality - I personally use it for the same purposes, as described in this post. For each browsed class it shows 2 instantly generated class diagrams: class relations and class UML view. Class relations diagram allows to traverse through the whole structure. It has full support for annotations and generics plus special support for JPA entities. Works very well with big projects (thousands of classes).