Generating Class Diagram

11,458

Solution 1

The tool you want to use is Doxygen. It's similar to Javadoc, but works across multiple languages. If figures out the dependencies, and can call graphviz to render the class diagrams. Here's an example of a few Java classes run through Doxygen.

Solution 2

This is more a toolchain than a tool and I haven't tried it out myself. But it maybe a starting point. Using UMLGraph, ant and GraphViz. Explained step by step: in this article.

Solution 3

ObjectAid is pretty nice. You can drag classes into a diagram and arrange them the way you want.

Solution 4

You may be able to reverse engineer class diagrams with the open source modelleing tool ArgoUML http://argouml.tigris.org/

Solution 5

Visual Paradigm for UML Standard Edition (or Better) will reverse engineer Java files in to Class Diagrams.

Share:
11,458
GustyWind
Author by

GustyWind

Updated on June 09, 2022

Comments

  • GustyWind
    GustyWind almost 2 years

    HI All I am at the end of the release of my project.So in order to keep working our manager asked us to generate Class Diagrams for the code we had written.Its medium project with 3500 java files .So I think we need to generate class diagrams.First I need to know how reverse engineering works here. Also I looked for some tools in Google(Green, Violet) but not sure whether they are of any help.Please suggest me how to proceed.Also a good beginning tutorial is appreciated.

  • GustyWind
    GustyWind almost 15 years
    I agree that generating to all classes is a painful job.This exercise is to keep the folks in good spirt.:_)
  • tobinharris
    tobinharris almost 15 years
    You could combine this approach with the free yuml.me UML diagram generator. People are already doing this for Powershell classes and Ruby on Rails domains. Since you have so many classes, you'd need to break the diagrams down a bit to show 10-50 classes.
  • qwerty_so
    qwerty_so about 5 years
    I just looked at the picture in the link and it's just plan wrong. It shows (freehand?) associations which should be generalizations. Once you focus on the sub class they use the right notation.