10

こんにちはプロジェクトのリリースが終わりました。作業を続けるために、マネージャーから、作成したコードのクラス図を生成するように依頼されました。3500個のJavaファイルを含む中規模のプロジェクトです。生成する必要があると思います。クラス図。最初に、ここでリバースエンジニアリングがどのように機能するかを知る必要があります。また、Google(Green、Violet)でいくつかのツールを探しましたが、それらが役立つかどうかはわかりません。続行する方法を教えてください。また、最初のチュートリアルもありがたいです。

4

10 に答える 10

8

BOUMLを強くお勧めします。その Java リバース サポートは完全に堅実です。

BOUML には他にも多くの利点があります。

  • 非常に高速です (これまでに作成された最速のUML ツール、ベンチマークをチェックしてください)。
  • C++、Java、PHP などのインポートを確実にサポートし、
  • マルチプラットフォーム (Linux、Windows、その他の OS)、
  • は優れた SVG エクスポートをサポートしています。これは重要です。大きなグラフをベクトル形式で表示すると、Firefox などで高速にスケーリングされ、非常に便利です (「鳥瞰図」ビューとクラス詳細ビューをすばやく切り替えることができます)。
  • それはフル機能で、驚くほど集中的に開発されています (開発履歴を見てください。これほど急速な進歩が可能であるとは信じがたいです)。
  • プラグインをサポートし、モジュラー アーキテクチャを備えています (これにより、ユーザーの貢献が可能になり、BOUML コミュニティが形成されているようです)
于 2009-06-04T10:11:22.330 に答える
6

使用したいツールはDoxygenです。Javadocに似ていますが、複数の言語で機能します。依存関係を把握し、graphvizを呼び出してクラス図をレンダリングできる場合。これは、 Doxygenを介して実行されるいくつかのJavaクラスの例です。

于 2009-05-26T08:03:20.373 に答える
3

これはツールというよりもツールチェーンであり、私自身は試していません。しかし、それは出発点かもしれません。UMLGraphant、およびGraphVizを使用します。ステップバイステップで説明: この記事で.

于 2009-05-26T07:45:43.293 に答える
2

私はあなたがやりたいことのためにUMLのVisual Paradigmを使用しましたが、それは非常に良かったです.

詳しくはこちらをご覧ください。

Tools -> Instant reverse に移動し、パッケージを選択してください。

于 2009-05-26T09:16:09.150 に答える
2

オープン ソースのモデリング ツール ArgoUML http://argouml.tigris.org/を使用して、クラス図をリバース エンジニアリングできる場合があります。

于 2009-05-27T21:19:37.927 に答える
1

Visual Paradigm for UML Standard Edition (またはそれ以上) は、Java ファイルをクラス ダイアグラムにリバース エンジニアリングします。

于 2009-05-26T07:47:24.897 に答える
0

私はEnterpriseArchitectを何年も使用しています。JBossの開発者が私にそれを提案しました。これは、クラスモデル(Java、C#など)のリバースエンジニアリングを含む、すべてのタイプのUMLモデリングで非常にうまく機能します。基本バージョンは現在、シートあたり120ドルですが、はるかに高価なツールのほとんどの機能を備えており、習得がはるかに簡単です。私は特に、HTMLおよびRTFドキュメントを生成する機能が気に入っています。

ツールとソースコードの間でコードを同期するのは非常に簡単です。必要に応じて双方向でも。

PMは、作成できるアクティビティ図とシーケンス図も気に入っている場合があります。また、配置図を頻繁に使用します。これらすべてを1つのツールにまとめることは非常に役立ちます。

于 2009-05-27T19:53:15.510 に答える
0

これらの図を生成するのに役立つツールがいくつかあります。これらはお金がかかります。

それ以外の場合は、Javaファイルの解析を試みることができます。これは、Javaファイルを読み取り、クラスの名前とすべてのインポートステートメントをファイルに書き込み、そこからクラス図を生成する単純なパーサーを作成するのと同じくらい簡単です。graphvizはそこで役立ちます。

于 2009-05-26T07:33:09.310 に答える