コードベースが大きいので、パッケージ構造をリファクタリングして、相互作用するクラスが同じパッケージに入るようにします。
クラス間の相互作用を調べて、相互作用の激しいクラスをグループ化できるツールを作成できるはずです。これらのグループ化は、パッケージの適切な階層を示唆する可能性があります。
そのようなツールは存在しますか?(オープンソースが推奨されます)。
コードベースが大きいので、パッケージ構造をリファクタリングして、相互作用するクラスが同じパッケージに入るようにします。
クラス間の相互作用を調べて、相互作用の激しいクラスをグループ化できるツールを作成できるはずです。これらのグループ化は、パッケージの適切な階層を示唆する可能性があります。
そのようなツールは存在しますか?(オープンソースが推奨されます)。
Structure101は、コードの構造を分析し、依存関係とwhat-if分析を実行できる別の製品です。
http://www.headwaysoftware.com/products/structure101/index.php
Lattixを試すことができます。これは、依存関係構造マトリックスを使用して、クラスレベルとパッケージレベルの両方でコード内の依存関係と非表示の構造を表示します。私は過去にこの種のものに役立つと思いました。
Javaの構造分析は、依存関係分析を行うEclipseプラグインです。
パスタを試してみてください(http://freshmeat.net/projects/pastatool/を参照)
IntelliJには、この方向にいくつかのコードマトリックスツールがあります。
設計に関して正しい軌道に乗っているかどうかを少なくとも伝えることができるのはJDependです。高度に抽象化されたパッケージ (抽象度の低いコードを含むパッケージよりもおそらく変更が少ない) への依存を促進し、パッケージに循環依存関係がある場合に警告します。良い実態調査だと思います。
Eclipse プラグインとして使用するなど、さまざまな使用方法があります。