- PR -

クラスの依存関係抽出ツール

1
投稿者投稿内容
ボア
ベテラン
会議室デビュー日: 2002/05/22
投稿数: 78
投稿日時: 2005-07-06 20:25
お世話になります。

クラスファイル、Javaソース、Jar の集合から、クラスの依存関係を
抽出してくれるツールってありますでしょうか?
JDepend ではパッケージ間の依存関係しかわからないようなので。
#本当はメソッドレベルのほうが嬉しいですが、そこまでは言いません。

//
a-san
常連さん
会議室デビュー日: 2004/03/15
投稿数: 30
投稿日時: 2005-07-06 20:42
JudeとかRoseではダメですか?
マーサ
ベテラン
会議室デビュー日: 2004/11/26
投稿数: 87
投稿日時: 2005-07-06 21:47
ちょっと中途半端な回答になりますが・・・m(_ _)m


確かJBuilderで抽出出来たと記憶しております。
# でも高いですねぇ・・・

仕様書工房なんて物でも出力出来ますよw
# 紙だしするとうざいですが、無いよりかはまし?かも

eclipseは・・・済みません、記憶はありません。

一番良いのは・・・Javadoc出しましょうw
最低でもソースからJavadocを出力することは出来ると考えています。
# Javadocって、意識してコーディングしてないと・・・
# コメントの無い、中途半端なJavadocが出来上がります
# でも、無いよりかはましです。。。
七味唐辛子
ぬし
会議室デビュー日: 2001/12/25
投稿数: 660
投稿日時: 2005-07-06 22:36
クラス図で良ければ ここのEnterprise Architectでも生成できますが,,,
http://www.sparxsystems.jp/

ちなみに製品版ですが、個人でも購入できる範囲です。
るぱん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 1370
投稿日時: 2005-07-06 23:26
るぱんです。

EclipseはOmondoというプラグインが有ります。
ソースとクラス図の整合をみたいなら、
コレが一番でしょう。

ただし、2.2Xしか無料になってないのかな?
3.0Xは機能が制限されていたと思います。

Eclipseの日本語版DLサイトで検索できます。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2005-07-07 00:23
ツールの話ではないですが、もし自分で実装されるなら・・・

たしか、classファイルにした段階でimportの情報は存在しなくなります。
ですので、メソッドの中で宣言/使用されているクラスも依存性に含めるなら、
バイトコードからコンスタントプールとコードアトリビュートを参集する必要があります。
(コードアトリビュートは不要だったっけ・・・?)

JavassistやBCEL等のバイトコード系のツールや、
tools.jarに含まれるJavap等で参照する事が可能です。
再帰的に調べれば、依存クラスがわかると思います。

しかしながら、Class.forName等の文字列を使用したクラス参照方法もありますので、
バイトコードから取得できた文字列はクラスパスに存在する
すべてのクラスの名前と比較を行う必要がありそうですね。
ボア
ベテラン
会議室デビュー日: 2002/05/22
投稿数: 78
投稿日時: 2005-07-11 16:03
たくさんの返信ありがとうございます。
Javadoc の use には気が付きませんでした。
あとは、いくつかツールをご紹介いただいたので、試してみます。

感謝。
1

スキルアップ/キャリアアップ(JOB@IT)