Visual Studio 2010 Ultimate の RC リリースを試して、.NET コードの依存関係グラフを生成できます。すべてのアセンブリ、名前空間、クラス、またはこれらの組み合わせのグラフを生成するか、アーキテクチャ エクスプローラーを使用して、視覚化する特定の成果物と関係を選択できます。
依存関係グラフまたは既存の成果物からレイヤー図を作成し、許可された依存関係を描画してから、MSBuild プロセスの一部としてレイヤー検証を含めて、無効な依存関係が導入されていないことを確認することもできます。
方法: コードからグラフ ドキュメントを生成する: http://msdn.microsoft.com/en-us/library/dd409453%28VS.100%29.aspx#SeeSpecificSource
Visual Studio Ultimate を使用して、有向グラフ ドキュメントを生成することにより、既存のコードの関係と編成を調べることができます。これらのグラフは、コード要素とその関係を、リンクまたはエッジで接続された一連のノードとして表します。これらのグラフを使用して、コードの視覚化、調査、および分析を行うことができます。
方法: Architecture Explorer を使用してコードを検索する: http://msdn.microsoft.com/en-us/library/dd409431%28VS.100%29.aspx
アーキテクチャ エクスプローラーを使用して、視覚化するコードの垂直セクションまたは「スライス」を選択できます。Visual Studio ソリューションのソース コード、または .dll ファイルまたは .exe ファイルのコンパイル済みマネージ コードを調べることができます。アーキテクチャ エクスプローラーを使用して、追加のプロバイダーをインストールすることにより、他のドメインを参照できます。視覚化するコードが見つかったら、グラフを生成してそのコード内の関係を調べることができます。
方法: アーティファクトからレイヤー図を作成する: http://msdn.microsoft.com/en-us/library/dd465141%28VS.100%29.aspx
...レイヤー図を使用して、システムの高レベルのアーキテクチャを視覚化し、コードがこの設計に準拠していることを確認します。このタスクを実行するには、Visual Studio ソリューションのアーティファクトを整理して、論理グループ、抽象グループ、またはレイヤーに関連付けます。これらのレイヤーは、これらの成果物が実行する主要なタスクまたはシステムの主要なコンポーネントを記述します。レイヤー間の矢印は、これらのアーティファクト間に存在する、または存在すべき相互依存性を表しています。コードにアーキテクチャ上の制約を適用するには、意図した依存関係を図に記述してから、図に対してコードを検証します。このようにレイヤー図を使用すると、コードの理解、再利用、保守が容易になります。
レイヤー図 http://i.msdn.microsoft.com/Dd465141.UML_LayerRefReading(en-us,VS.100).png
方法: レイヤー図に対してコードを検証する: http://msdn.microsoft.com/en-us/library/dd409395%28VS.100%29.aspx
レイヤー ダイアグラムに対してコードを検証することで、コードの進化に合わせてコードにアーキテクチャ上の制約を課すことができます。このタスクを実行すると、コードの依存関係がダイアグラムの依存関係と比較されます。
RC ダウンロード: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=457bab91-5eb2-4b36-b0f4-d6f34683c62a .
Visual Studio 2010 Architectural Discovery & Modeling Toolsフォーラム: http://social.msdn.microsoft.com/Forums/en-US/vsarch/threads