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


200

JavaクラスをUMLにリバースエンジニアリングして、クラスが互いにどのように関連しているかの概要を表示できる優れたツールはありますか?ソースがあるので、JARファイルから逆コンパイルする必要はありません。私はそこにかなりの数があることを知っていますが、それらのほとんどは個々のクラスを生成することしかできません。現在のすべてのクラスとパッケージがどのように連携しているかの概要を示し、現在のアーキテクチャ設計を分析できるようにするクラス図を生成できるツールがあればいいのですが。もちろん、分析はひとつのことです。もう1つは文書化を目的としています。

これまでにいくつか知っています。ただし、概要クラス図は作成できません。以下は、私が試したリバースエンジニアリングを実行できるJava UMLツールのリストですが、プロジェクト全体の概要クラス図は作成できません。

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

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


1
さらにいくつかの可能性を追加するために、EclipseにはPapyrusがあります。しかし、残念ながら、コード生成プラグインは機能しませんでした。依存関係が多すぎてインストールできません。最後にeUML2を使いました。
Carven、

UMLラボ(商用)を確認できますが、非常に高度でカスタマイズ可能なリバースエンジニアリング(および往復)を備えています。
クリスチャン

JGraspと呼ばれる無料のツールがあります。
HRJ 2014年

私はこの方法を使用しています:youtube.com/watch?v=HwBep8DmBVw唯一の欠点は、無料ではありませんが、私の場合は30日間の試用期間で十分です。注:これは私の動画ではなく、グーグルで見つけたところです。
dazito 2014

@Carven、使用したプラグインを教えてください。現在、junit / testの実行時にシーケンス図を自動的に生成することを探しています。
User27854

回答:


46

私が使う Eclipseの下でSoyatecのeUML2プラグインており、ソースコードを提供するUMLの生成には問題なく動作します。このツールはEclipse 4.4.xまで役立ちます


無料版にはこの機能がありますか?
Carven

はい。無料版を使用しています。
ハイゼンバグ

1
ありがとう!;)無料版にはUML生成用のコードがないといつも思っていたので、私はそれを試しませんでした。
Carven、

38
吸います。ハード。手順では、すべてのプロパティの前に「f」文字を付けて、それらの匂いを嗅ぎ取らせます。これも破壊的で、すべてのクラスファイルに独自のコメントを追加します。また、指示は直感的ではありません。誰かが私の経験に反論できる場合(Keplerの現在のバージョンに基づく)、そうしてください。そして、試用期間はわずか3週間です。今すぐアンインストールしています。
ingyhere 2014年

1
気に入らなかった。Eclipse / oxygenの互換性のない最新バージョン。
TayfunYaşar2018年

109

Class Visualizerを書いて、それを行っています。これは、言及されたすべての機能を備えた無料のツールです。私は、この投稿で説明されているように、個人的に同じ目的で使用しています。参照されたクラスごとに、2つの瞬時に生成されたクラス図、つまりクラス関係とクラスUMLビューが表示されます。クラス関係図では、構造全体を横断できます。アノテーションとジェネリックの完全なサポートに加えて、JPAエンティティの特別なサポートがあります。大きなプロジェクト(数千のクラス)で非常にうまく機能します。


8
プログラムは本当に良いです。それを作成してリンクをありがとう。
Igor Rodriguez

17
Jonatan、製品を示唆したときに礼儀1の行動は/答えに免責事項を追加する必要があります可能性があるので、サービス等のいずれかが関与している。
DBM

2
これは本当にクールです。私たちの数十年前の非常に複雑なプロジェクト-コードの多くはJDK 1.1のヴィンテージ-を考えると、これは物事がどのように接続されるかについての優れた概要を提供します。ソースコードとJavadocを補足するものとして、驚くべき価格で非常に大きな価値を提供します。
gerardw 2016年

2
Class Visualizerは優れた非常に便利なツールですか?はい、そうです。どのように支払いますか?ダウンロードは無料です!どのようにそれを使うことを学びますか?ビデオを見て10分過ごしました。
Martin Meeser 2017年

2
同じプロジェクト/フォルダーにある別のクラスのメソッドを呼び出すクラスがありますが、他のクラスが表示されません。すべてのjdk8 jarを含め、可能なすべての依存関係を追加しました。私は何か見落としてますか?
アクエリアスパワー

2

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


リンクが機能していない
Blip

2

私はMoDiscoと言いますはこれまでで最も強力なものます(ただし、おそらく最も簡単に操作できるものではありません)。

MoDiscoは、一般的なリバースエンジニアリングフレームワークです(リバースエンジニアリングプロジェクトをカスタマイズできるため、MoDiscoを使用すると、構造とシグネチャだけでなく、Javaメソッドの動作をリバースエンジニアリングすることもできます)。また、クラスの生成などの事前定義された機能も含まれます。必要なJavaコードの図。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.