web-dev-qa-db-ja.com

Linuxで実行され、JavaソースファイルからUMLクラス図を作成する無料のユーティリティ

私はUMLダイアグラムを紙に書き留めてから、Javaを使用して実装することを好みます。オンラインで共有してデジタル文書に含めることができるUML図を作成できるユーティリティがあればいいのにと思います。言い換えれば、JavaソースコードからUML図を作成したいのです。

ユーティリティは次のことができる必要があります。

  • Linuxで実行します。
  • ジェネリックスを処理します。つまり、パラメータと戻り値の型でList <Foo>を正しく表示します。
  • クラスの継承とインターフェイスの実装を表示します。

ユーティリティが次のことができるのは素晴らしいことです。

  • WindowsおよびMacOSXで実行します。
  • いくつかの素晴らしい方法で列挙型を表示します。
  • 他のユーティリティを使用して変更できる図形式で出力を生成します。
  • コマンドラインから実行します。
  • UML生成を、指定できるパッケージのセットに制限します。
  • 私のソースコードの一部ではないクラス/インターフェースを処理します。これには、UML図の外部にある最初のクラス/インターフェースを含めることができます。おそらく別の色で、他の誰かによって作成されたライブラリ/フレームワークであることを示しています。
  • このタスクに焦点を当てており、ドキュメントの問題全体を解決しようとはしていません。
24
user14070

私たちが実験した1つの方法は、 MLGraphGraphViz の組み合わせです。当時私たちが行っていたのは、UMLの作成をCruiseControlビルドの自動部分にすることでした。javadocはUML図が組み込まれた状態でビルドされます。これはかなり洗練されています。

MLGraphドキュメント がほとんどすべての質問に答えていることがわかると思います。具体的には、コマンドラインから必要なクラス図を作成できる必要があります。

6
Bob Cross

数ヶ月前、私は「Java2dot」という名前のsimpleツールを書きました。すべての要件を処理できるわけではありませんが、役立つ場合があります。

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

2
Pierre

doxygen 必要なものはほとんどすべて揃っています。

2
soulmerge

UMLからコードを作成するのか、エンジニアコードをUMLにリバースエンジニアリングするのかは明確ではありません。 UMLからコードを作成する場合は、NetbeansUMLプロジェクトタイプがおそらくJava用の最も簡単なツールセットです。

スタンドアロンにしたい場合

StarUML は古いUMLモデリングツールです。 2より前のほとんどのUMLガイドラインに従います。ジェネリックを処理できますが、手動で入力した場合に限ります。ただし、正しく覚えていれば、ジェネリックが正しく生成されるとは思いません。生成後にコードを調整する必要があります。

無料ではありませんが、UMLを定期的に行う場合、私は個人的に model はお金の価値があると思います。

0
jmcecil