Slashdot Mirror


Class Diagram Tool For Hundreds Of Classes?

St0rk asks: "I am trying to make sense of someone else's Java code. He is another programmer in my team, but uses different programming style that generates tons of classes (just as the tick books say ;-). We are talking about 300 files, and approximately 430 classes here. I am looking for a tool/package/program that can take a relatively big amount of OO source code (Java classes) and build useful diagrams/documentation. Please note that I used 'useful.' Most of the tools out there can produce some hierarchy diagrams, but they either get too unreadable when one is dealing with so many classes, or miss too much (for example when a class A has a Vector that is going to be filled with objects of type B, there won't be a link between A and B genereated). It would be great if I can good prints as well. Any suggestions based on real life experience? (Rational Rose is too expensive, BTW)"

6 of 13 comments (clear)

  1. TogetherJ by Anonymous Coward · · Score: 2

    Try the free (but commercial) TogetherJ Whiteboard Edition (http://www.togethersoft.com). It's platform-independent (Java) and it's very powerful.

  2. Try JVision by msuzio · · Score: 2

    It's not a great tool for hundreds of classes (but then again, no UML tool is), but for a simple and very effective reverse-engineering tool, JVision is very good. I also found their tech support to be excellent.
    This tool supports forward and reverse engineering of classes, and pretty good diagraming support. It's a lot faster than ArgoUML, and a lot cheaper than TogetherJ or Rational Rose :-).

  3. ArgoUML by wintahmoot · · Score: 2

    You might want to check out ArgoUML. It's free AFAIK, and it's quite good from what I've seen.

    hiro

  4. Break it down by sohp · · Score: 2
    Three things:
    1. Break the diagram down by packages. Um, your coworker did use reasonable package groups, right? Otherwise you have a bigger problem than a few hundred classes.
    2. If class A contains a vector of instances of class B, this is known an an association link, and you only need two widgets on the diagram to represent it.
    3. MagicDraw UML
  5. LXR + Hyperbolic web visualizer by Mignon · · Score: 2
    Apparently LXR can be used to index Java source, with html output. (See Grendel for example.)

    I would then try to browse the source with a hyperbolic web visualization tool, such as Inxight or Webviz from the Geometry Center (RIP). Apparently there are many such visualization tools. Perhaps one will work well with LXR output.

  6. Same question, C++ by Stavr0 · · Score: 2

    GNU - best
    Free (beer) - Good
    Commercial - If I can eval it for the job ...

    ---