29

Java をシーケンス図にリバース エンジニアリングするツールを探していますが、特定のライブラリへの呼び出しを除外する機能も提供します。

たとえば、Netbeans IDE はこの点で素晴​​らしい仕事をしますが、これには String または Integer へのすべての呼び出しが含まれており、ダイアグラムが乱雑になり、使用できなくなります。

どんな助けでも大歓迎です!!!!!!!!

4

13 に答える 13

10

jtracertはあなたが探しているものだと思います。実行中のJavaプログラムからシーケンス図を生成します。また、その出力は図のテキスト説明(いくつかの一般的なSDツールの形式)であるため、grepを使用して、関心のあるクラスのみをフィルタリングできます。

于 2008-09-21T01:14:53.270 に答える
10

MaintainJ を試してください。MaintainJ は、ユース ケースの実行時にシーケンス図を生成します。不要な通話を除外する複数の方法を提供します。はい、不要な呼び出しを除外することは、シーケンス図生成ツールに必要な最も重要な機能です。さらに、MaintainJ は、ダイアグラムを探索し、1 つのユース ケースまたは複数のユース ケースで呼び出しを検索するための優れたインターフェイスを提供します。

デモ ビデオをチェックして、概要を簡単に確認してください。

ちなみに私はMaintainJの作者です。

于 2012-02-07T19:30:17.427 に答える
10

問題を解決するための完璧なツールは Diver: Dynamic Interactive Views For Reverse Engineering だと思います。静的シーケンス図と動的シーケンス図の両方を提供し、質問からすべての要件を解決するように見えます。

これは Eclipse 用のプラグインであり、次のことができます。

  • Java プログラムを簡単にトレース
  • プログラムのランタイム機能を視覚化する
  • トレースをフィルタリングして、よりコンパクトにします
  • 実行時に発生する内容に基づいて IDE をフィルタリングする
  • ソース コード エディターで実行されたコードを確認する

Githubにあり、プロジェクトの Web サイトもあります。

完全な開示: 私は Diver の現在のプロジェクト リーダーです。

于 2012-09-24T23:45:37.193 に答える
5

JTracert は廃止されました。その場で、彼らはhttp://www.jsonde.com/を推奨します

于 2010-08-27T13:42:04.543 に答える
3

私はあなたの要件を正確に満たすツールを持っています。見てみな

http://sourceforge.net/projects/javacalltracer/

Javaのリバースエンジニアリングツールであることに加えて、非常に軽量です。あなたはあなたのJavaプログラムからあなたが記録したいものを制御することができます。

于 2010-04-19T19:43:13.260 に答える
1

Sparxのエンタープライズ アーキテクトは、 シーケンス図の生成を含む Java コードをリバース エンジニアリングできると主張しています -ユーザー ガイドのこのセクションを参照してください

デバッグセッションを記録して、そこからシーケンス図を生成できるようです

私はそれを試したことはありません (EA をモデリング ツールとして使用したことはあります) ので、ymmv!

無料の 30 日間の評価版ダウンロードが利用可能です

于 2008-09-23T09:59:06.270 に答える
1

MaintainJ は本当に素晴らしいツールです。最近、アプリケーションで MaintainJ を使い始めたので、Maintainj シーケンスと UML ダイアグラムに基づいてシステムを理解するための全体的な使用法がより快適になりました。

上記の質問はMaintainJがより良いアイデアを与えると確信しています。ありがとう、クリシュナMM

于 2012-05-14T14:44:39.127 に答える
0

Heatlamp(http://www.jmolly.com/heatlamp/)は、まさにこの目的のために設計されました。

Javaコードの実行からインタラクティブな(そして印刷可能な)図を生成します。フィルタを指定して、トレースするクラス、パッケージ、およびメソッドを記述することができます。シーケンス図をさらに縮小するために、ダイアグラムがレンダリングされた後に呼び出しを検索、フィルタリング、および折りたたむこともできます。

免責事項:私はヒートランプの作者です。

于 2012-05-13T17:47:23.443 に答える
0

JIVE (www.cse.buffalo.edu/jive) は、Java プログラムの実行からシーケンス図を作成します。指定されたクラスまたはパッケージに属するオブジェクトを除外できる除外フィルター機能があります。JIVE は、マルチスレッド Java プログラム実行のシーケンス図を描画できます。また、ユーザーのガイダンスの下で、水平方向と垂直方向の両方の次元で大きな図をコンパクトにする機能もあります。

于 2016-01-30T21:37:38.863 に答える
0

これが、Asgeirの回答への追加です。これが私が見つけたリンクです。

http://www.java2s.com/Code/Jar/s/sequence.htm

コマンドラインから実行... "java -jar sequence.jar" ... これは GUI を備えた Java アプリケーションです。

ヘルプ セクションには、次のように記載されています。 SEQUENCE は、UML シーケンス図を作成するためのプログラムです。ほとんどの同様のプログラムとは対照的に、実際には図を描画しません。代わりに、図にしたいメソッド呼び出しのテキスト記述を書くと、レイアウトが計算され、自動的に描画されます。

したがって、このツールは何もリバース エンジニアリングしませんが、最初からすばやく図を作成したい場合に役立つことはわかります。2002 年に作成されたようですが、現在はさらに優れたツールが存在する可能性があります。

ここに別の同様のツールがあります: http://sdedit.sourceforge.net/example/index.html

于 2014-02-07T16:12:35.387 に答える
0

Sparx Systems Enterprise Architect のシーケンス図記録機能を使い始めました。C# では非常にうまく機能します。クラス別およびメソッド別にフィルタを作成できます。パッケージ全体を除外することが可能かどうかを実際に調べようとしています。整頓に役立つ外部モジュール (.NET Framework など) を自動的に除外するためのチェックボックスがあります。Java 用の YMMV ですが、Java のサポート (およびドキュメント) は一般的に .NET よりも優れている (例が多い) と思います。

于 2010-01-07T13:32:47.783 に答える