Free utility which runs in Linux to create a UML class diagram from Java source files

白昼怎懂夜的黑 提交于 2019-12-03 04:15:13

问题


I prefer to jot down UML-diagrams on paper and then implement them using Java. It would be nice to have a utility which could create UML-diagrams for me which I may share on-line and include in the digital documentation. In other words: I want to create UML diagrams from Java source code.

The utility must be able to:

  • Run in Linux.
  • Handle Generics, i.e show List<Foo> correctly in parameters and return type.
  • Show class inheritance and interface implementations.

It's nice if the utility is able to:

  • Run in Windows and Mac OS X.
  • Display enums in some nice manner.
  • Generate output in a diagram format which I may modify using some other utility.
  • Run from the command line.
  • Restrict the UML generation to a set of packages which I may specify.
  • Handle classes/interfaces which are not part of my source code. It could include the first class/interface which is external in the UML diagram. Perhaps in another color to indicate it being a library/framework created by someone else.
  • Focuses on this task and doesn't try to solve the whole issue of documentation.

回答1:


One method that we've experimented with is a combination of UMLGraph and GraphViz. What we were doing at the time was making the UML creation an automatic part of our CruiseControl build: the javadoc would be built with UML diagrams built in. It is pretty slick.

I think you'll find that the UMLGraph documentation answers pretty much all of your questions. Specifically, you should be able to create the class diagram that you want from the command line.




回答2:


A few monthes ago, I wrote a simple tool named "java2dot". It doesn't handle all you requirements but it might helps.

http://plindenbaum.blogspot.com/2008/10/javadoc-is-not-enough-java2dia.html




回答3:


doxygen has almost everything you need.




回答4:


It's not clear if you want to create code from UML or reverse Engineer code into UML. If you want to create code from UML, the Netbeans UML project type is probably the easiest set of tools for Java.

If you want stand alone

StarUML is an older UML modeling tool. It follow most of the UML guidelines pre 2. It can handle generics, but only if you manually type them in. However, I don't think it correctly generates the generics if I remember correctly. You have to adjust the code after generation.

Although not free, I personnaly think that Umodel is worth the money if you do UML regularly.




回答5:


ArgoUML by tigris.org: see here : it's multi-platform. If you prefer a GNU/linux app and you use KDE, you can use Umbrello.



来源:https://stackoverflow.com/questions/737431/free-utility-which-runs-in-linux-to-create-a-uml-class-diagram-from-java-source

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!