Visual Studio 2010 Ultimate には、依存関係グラフ(有向グラフのドキュメント) を作成する機能があります。依存関係グラフは、ソリューション内のクラス・ネームスペース等からまたは、dllやexeなどのマネージアセンブリをエクスプローラからドラッグアンドドロップして作成できます。アーキテクチャエクスプローラから有向グラフを作成することもできます。依存関係グラフの生成方法、使用方法などは下記リンクも参考になります。

方法: コードからグラフ ドキュメントを生成する
http://msdn.microsoft.com/ja-jp/library/dd409453.aspx

方法: グラフ ドキュメントを参照および操作する
http://msdn.microsoft.com/ja-jp/library/ee842620.aspx

方法: 依存関係グラフを使ってコードを調べる
http://msdn.microsoft.com/ja-jp/library/ee847415.aspx

依存関係グラフ作成時に モデリングプロジェクトが存在しない場合は、新規作成することになると思います。

モデリングプロジェクトとサンプルプロジェクトを作成して、依存関係グラフをいろいろ使ってみましたので覚書を記載します。

依存関係グラフを作成するには、アーキテクチャメニューから依存関係グラフの生成をポイントし、作成する依存関係のレベルを作成します。アセンブリ別、名前空間別、クラス別、カスタムを選択できます。アーキテクチャエクスプローラからクラスやメソッドをドロップしたり、エクスプローラからマネージアセンブリをドロップしても作成できます。アーキテクチャメニューの新しいダイアログラムから空の有向グラフのドキュメントを新規作成することもできます。

下図は、名前空間を指定して作成した依存関係グラフです。赤枠で囲んだツールバーが依存関係グラフ(有向グラフ)を操作するメニューです。

下図はあーきてくちゃう依存グラフを作成するときにクラス別を選択した場合に作成される依存グラフです。

カスタムを選択した場合は、下図の依存関係グラフの生成ダイアログが表示されるので図に含める内容をカスタマイズして作成できます。

依存グラフをマトリックス表示した図は下図のようになります。下記図の赤枠のツールバーメニューを選択して表示します。

既定では、下図のメニューのように選択したノードに関連するリンクが表示されます。

すべてのグループ間リンクを表示にすると、選択していないノードのリンク(依存関係)も表示されます。実際のプロジェクトでは大量のリンクが表示されることになるので、既定の選択したノードのグループ間リンクを表示するオプションが適切かもしれません。

バタフライモードを表示してみます。ノードを選択した状態で、ツールバーのバタフライモードを選択します。

バタフライモードのツールバーが下図の赤枠のようにアクティブになります。バタフライモードを選択すると選択したノードとは関係ないノードが除外されます。バタフライモードでは循環参照ノードが表示されないので注意してください。

下図の赤枠のツールバーメニュー クイッククラスターを選択した図です。クイッククラスターを選択すると、表示されているノードの中で、もっとも依存関係の多いノードが中心の近くに配置されます。

ちなみに、選択されたノードから特定の距離(リンク)のみを表示させるには、下図の赤枠のメニューで制御できます。

複雑な依存関係を調べる場合は、依存関係グラフ上で、右クリックを押し、コンテキストメニューを表示します。アナライザーの循環参照、ハブの検索、参照されていないノードなどから循環参照などの依存関係を検索できます。

このほか、凡例を表示して、表示内容やノードの色をカスタマイズすることもできます。

説明は以上です。

依存関係グラフは現在のソリューションからだけでなdllやexeなどのマネージアセンブリから作成することもできます。アーキテクチャエクスプローラから作成することもできます。操作も簡単だと思いました。プロジェクトないのメソッドやクラスの依存関係を調べることが容易なため、クラスやメソッドなどの依存関係を調べたりアーキテクチャを理解するのに非常に有用です。

個人的にはかなりGoodだと思いました。