web-dev-qa-db-ja.com

JavaプロジェクトからUMLクラス図を生成する

自分のクラスが互いにどのように関連しているかの概要を示す、JavaクラスをUMLにリバースエンジニアリングするのに役立つ良いツールはありますか?私はソースを持っているのでJARファイルから逆コンパイルする必要はありません。私はそこにかなりの数があることを知っていますが、それらのほとんどは個々のクラスを生成することができるだけです。私の現在のアーキテクチャ設計を分析できるように、現在のすべてのクラスとパッケージがどのように連携して機能するかの概要を示すクラス図を生成できるツールがあることを願っています。もちろん、分析は一つのことです。もう1つはドキュメンテーション目的のためのものです。

私はこれまでにいくつか知っています。しかし、彼らは概要クラス図をすることはできません。これは私が試したことがあり、リバースエンジニアをすることができるが私のプロジェクト全体の概要クラス図をすることができないJava UMLツールのリストです:

  • StarUML(本当に良い オープンソース UMLツールだが概要クラス図を生成できない)
  • ArgoUML(遅くて遅く、クラッシュし続けます)
  • UModel(これは市販のソフトウェアです。少し前に使用しましたが、使用するのは難しいと感じました)
  • MS Visio(Java UMLリバースエンジニアをサポートしていません。VBのみ)

このリストに追加する他の推奨事項はありますか?そしてうまくいけば、概要Javaクラス図を生成することができます。ちなみに私はEclipseを使っています。

184
Carven

私はEclipseでSoyatecからの eUML2 プラグインを使用しています。そしてそれはソースコードを与えるUMLの生成にはうまく働きます。このツールはEclipse 4.4.xまで役に立ちます

42
Heisenbug

私は クラスビジュアライザー を書きました。それはすべての言及された機能を持っている無料のツールです - 私は個人的にこの記事で説明されているように同じ目的のためにそれを使用します。ブラウズされた各クラスについて、クラス生成とクラスUMLビューの2つの即座に生成されたクラス図が表示されます。クラス関係図は、構造全体を通過することを可能にします。注釈と総称を完全にサポートし、さらにJPAエンティティを特別にサポートします。大規模プロジェクト(数千のクラス)で非常にうまく機能します。

98

Eclipse用の Omondo プラグインはどうですか。私はそれを使用しました、そして、私はそれが非常に有用であると思います。大規模なソース用のダイアグラムを生成している場合は、より多くのメモリーを使用してEclipseを起動する必要があります。

2
Swaranga Sarma

私は MoDisco がはるかに強力なものであると思います(ただしおそらく最も使いやすいものではありませんが)。

MoDiscoは一般的なリバースエンジニアリングフレームワーク(リバースエンジニアリングプロジェクトをカスタマイズできるように、MoDiscoでは構造やシグネチャだけでなくJavaメソッドの動作をリバースエンジニアリングすることもできます)だけでなく、クラスの生成などの定義済み機能も含みます。必要なJavaコードからダイアグラムを作成します。

2
Jordi Cabot