HI私は私のプロジェクトのリリースの最後です。私たちのマネージャーが私たちが書いたコードのクラス図を生成するように依頼してくれました。3500個のJavaファイルを持つ中プロジェクトです。クラス図を生成する必要があると思います。最初に、リバースエンジニアリングがどのように機能するかを知る必要があります。また、私はGoogle(グリーン、バイオレット)のいくつかのツールを探していたが、確かではない 彼らはどんな助けをしているかどうかを教えてください。進め方を教えてください。また、良い初心者のチュートリアルに感謝します。クラス図を生成する
答えて
私は強くBOUMLをお勧めします。そのJava逆サポートは絶対にロックソールです。
BOUMLは、他の多くのadvantegesがあります
- それは
- 、(最速 UMLツールこれまでに作成し、benchmarksをチェックしてください)非常に高速で、岩の固体C++やJava、PHPと他の人がサポートをインポートしています
- は大きなSVGエクスポートをサポートしています。これは、大きなグラフをベクトル形式で見ることができます。 Firefoxは、非常に便利です(「鳥瞰図」ビューとクラス詳細ビューを素早く切り替えることができます)。
- フル機能で印象的に集中的に開発されています(development historyを参照してください)。
- モジュラー型アーキテクチャ(これはuser contributionsを可能にする、BOUMLコミュニティがアップ形成されるようになります)
これらの図の生成に役立ついくつかのツールがあります。これらの費用。
そうしないと、Javaファイルを解析できません。これは、Javaファイルを読み込んで、クラス名とすべてのインポート文をファイルに書き込んでそこからクラス図を生成する単純なパーサーを作成するのと同じくらい単純なことです。graphvizがあなたを助けます。
無料のhttp://yuml.me UMLダイアグラムジェネレータとこのアプローチを組み合わせることができます。 PowershellクラスとRuby on Railsドメインの人々は既にこれを行っています(http://yuml.me/wildthing)。 クラスが非常に多いので、10-50クラスを表示するには、ダイアグラムを少し下に分割する必要があります。 – tobinharris
これはツールよりもツールチェーンであり、自分で試してみませんでした。しかし、それはおそらく出発点です。 UMLGraph,antおよびGraphVizを使用してください。ステップバイステップで説明:in this article。
Visual Paradigm for UML Standard Edition(またはBetter)は、Javaファイルをクラス図にリバースエンジニアリングします。
使用するツールはDoxygenです。 Javadocに似ていますが、複数の言語で動作します。 ifは依存関係を調べ、graphvizを呼び出してクラス図を描画することができます。ここにはいくつかの例がありますJava classes run through Doxygen。
WOW。よく働く。 – Epaga
あなたがやりたいことをVisual ParadigmでUMLを使っていましたが、それはかなり良かったです。
詳細はhereを参照してください。
[ツール] - > [インスタントリバース]を選択し、パッケージを選択します。
あなたの上司が次のプロジェクトが始まるまで忙しくして欲しいと思っている人はいないと思いますが、3500クラスのクラス図を作成すると、あなたのシステムについて何も言わないでしょう。実際には、約10以上のクラスを持つダイアグラムが本当に必要なわけではありません。だから、すべてのコードをモデリングツールに戻したら、その意味を理解するための整理と整理を始めたいと思うでしょう。新しいダイアグラムを作成し、重要な1つのクラスをそのクラスにドロップし、そのクラスに直接関連するすべてのクラスをインポートします。おそらく300の最も重要なクラスのために繰り返す。心配しないでください。恐らくそれは恐ろしいほどではなく、週の仕事かもしれません。
私の選択したモデリングツールはエンタープライズアーキテクトSparx Systemsです。 Javaソースまたは.jarファイルを取り消します。 30日間無料トライアル版があります。
私はすべてのクラスに生成することは痛い仕事であることに同意します。この行使は人々を良好なスパートに保つことです。:_) – GustyWind
私は何年もEnterprise Architectを使用してきました。 JBossの開発者が私にそれを提案しました。これは、クラスモデル(Java、C#など)のリバースエンジニアリングを含む、すべてのタイプのUMLモデリングに非常に適しています。ベーシックバージョンは現在1シートにつき120ドルですが、それははるかに高価なツールの能力の大部分を持っており、学ぶのがずっと簡単です。私はHTMLとRTFのドキュメントを生成する能力が特に好きです。
ツールとソースコードの間でコードを同期するのは非常に簡単です。あなたが望むならば双方向でさえ。
あなたのPMは、作成できるアクティビティおよびシーケンス図が好きかもしれません。私は頻繁に展開図を使用します。これをすべて1つのツールにまとめると非常に便利です。
あなたはArgoUML http://argouml.tigris.org/オープンソースmodelleingツールでエンジニアのクラス図を逆転することができるかもしれ
ObjectAidはかなりいいですしている、プラグインをサポートしています。クラスを図にドラッグして、必要に応じて配置することができます。
- 1. 生成地図8
使いやすくて使いやすいです。しかし、図は醜いです。 –
私はBOUML推薦を2番目にします。これはQtで書かれているので、Qtが実行される場所であればどこでも動作します。私はMac OS XとWindowsで使いました。うまく動作します。私の実証済みのお気に入りのRational Roseにとっては最も近いことですが、それははるかに優れています!以前はRoseがクラッシュしていましたが、今はRAD/Eclipseに変換されているようです。ダイアグラムが "醜い"というコメントについては、あなたの標準UMLモデルであり、非常に "ローズのような"ものです。 – michaelok