web-dev-qa-db-ja.com

Eclipse用UMLプラグイン-クラス図&Javaコード生成-Indigo / Juno

Eclipse用のUMLプラグインを探しています。私はこの質問が何度か尋ねられたことを知っていますが、それらのほとんどは数年前のものです。私が読んだことから、ほとんどの人はeUML2を好みますが、これは公式にはHeliosのみをサポートしています。

これまでのところ、argoUMLを使用していますが、控えめに言っても、[元に戻す]ボタンがないことは、本当に使いやすさの悪夢です。さらに、私はEclipseへの統合を好みます。

私が欲しいのは:

  • フリー/オープンソース
  • 積極的に開発されたツール(Indigoのサポート、Junoの計画的なサポート)
  • Eclipseでの手間のかからないインストール
  • クラス図
  • Java図からコードを生成する
  • 実装の完了後にクラス図を更新する(往復)

何がいいでしょう:

  • その他の図。私にとって最も重要なのはシーケンス図とユースケース図です。

実際に適切なEclipseプラグインがない場合は、フリー/オープンソースでLinuxベースのその他のツールと、前述の要件を達成するために使用しているワークフローを指摘できれば幸いです。

13
Exocom

ここでは、Green UMLまたはUML Labのいずれかを使用します。 Green UMLは非常に積極的に開発されていると100%確信していないことを除いて、私が求めたすべてのポイントを満たしています。しかし、最後の更新は2011年11月からです。これはクラスダイアグラムのみをサポートしますが、私には問題ありません。それは here で見つかります。

それ以外は私はUMLラボのアカデミック版を試してみます。UMLラボは少し有望ですが、無料ではないのが欠点です。

7
Exocom

私は間違いなく ObjectAid を使用します。

Eclipseのコードから直接クラスとパッケージのドラッグアンドドロップをサポートします。モデリングのために別のアプリケーションを開く必要はありません。

モデルファイル(* .ucls)は、別のプロジェクトでJavaコードをコーディング/開発している間、Eclipseの別のプロジェクトに保持できます。これらすべては、単一のEclipseセッションで実行できます。

ドラッグアンドドロップを強調したいだけです。私はただそれが大好きです!

私はEclipse Junoを使用しています。

他のモデリングツールを試しましたが、思い通りの結果が得られませんでした。

追伸クラス図の作成は無料ですが、シーケンス図を作成するには評価ライセンスが必要です。

8
Jonathan

Javaコード生成のためのOmondo EclipseUMLが最適です。モデルを作成できるだけでなく、コードも手動で作成できます。モデルからコードに機能する他のツールとは逆に、複数の反復が可能であるため、モデルを失うことはありません。

Acceleroのコード生成は複雑すぎて、コードはあまり良くありません。生成されたら、手動で修正する必要があります。複数のパッケージの場合、パッケージ間の関係は生成されません。 acceleroは単一のクラス図のコード生成に適していると思いますが、パッケージまたは複数のパッケージに複数の図がある場合は、すぐにこのプラグインを使用しないことをお勧めします。

2
UML GURU

Papyrus がおそらく最良の選択です。これは積極的に開発されており、業界が支援するプロジェクトです。 UMLモデルは、コード生成に acceleo を使用できるemfモデルとして保存されるため、コード生成機能はありません。往復(コード更新後のダイアグラムの更新)もサポートされていません。ただし、他の多くのUML図をサポートしています。

私はいくつかのオープンソースツールを試してみましたが、実際にはEclipse内で使用するのに適したものがないため、コミュニティエディションのUMLのVisual Paradigmを使用しています。無料ではありませんが、あなたが望むことをしませんが、モデリングの目的では、Eclipseプラグインよりもはるかに優れています。

2
vainolo

シーケンス図の反転と描画をサポートするUML Round Trip Engineeringツールを探していました。ほとんどのツールはクラスダイアグラムを支援できますが、シーケンスダイアグは支援できないため、焦点はシーケンスダイアグラムにあります。

無料または安価なツールの中で:私はPapyrus、Modisco、Modelio、ObjectAidを試しました-最初の3つは基本的な反転のために少し複雑で、ソースとライブラリを見つけるためにあまりにも多くの質問をする傾向があり、すべてが少し不器用で、それらはありませんシーケンス図に役立ちます。 ObjectAidは、最新のEclipse(Luna)でもうまく機能します。シーケンス図には安価なライセンスがあります。悲しいことに-Springアノテーション(@autowireなど)を理解する人はいません。

EA、Sparx、Magic Draw、UML Lab(Yatta)のような大きくて高価なツールの中で-私はどれも好きではありません。また、コードを逆にするのも複雑です(無限の検索ソースパスの問題)。 MagicとModelioはシーケンス図を逆にして自動生成することはできません。

これらの高価なツールの代替は、Altova UModelです。これは、独立したツールまたはEclipseプラグインとして機能します(Eclipseとは別に使用し、インストールを高速化し、コード機能付きの同期図を提供します)。これは、Eclipseプロジェクト拡張機能を開くことができる唯一のツールであり(クラスパスについては尋ねませんが、Mavenライブラリーを見つけることができません)、Springアノテーションをサポートしていません。 Java 7は正式にはサポートされていませんが、動作します(一部のまれなジェネリックを使用したマイナーな例外)。追加した場合:フルJava 7のサポート、スプリングサポート、オープン全体Eclipseワークスペースとpom/mavenライブラリーをサポートします。これは、最高の往復エンジニアリングツールになります。

私は結局、ObjectAidを使用することになりました。これは無料/安価であり(Spring Autowireを除いて)うまく機能しますが、Altovaの優れた点であるコミュニケーション図がありません。

HTH誰か...

PS:私はMyEclipse Proを時々まともな年間価格で使用しています。上からいくつかのことを実行できます。試用版を表示する必要があり、UMLがビジネスドキュメントに適している場合(ボックス/パッケージが多すぎると図がわかりにくくなります)。

0
Petar