アーキテクチャを分析およびモデルする

Visual Studio アーキテクチャおよびモデリング ツールを使用してアプリを設計およびモデル化することによって、アーキテクチャ要件を満たすアプリを作成できます。

  1. コード マップと依存関係の図でコード、構造、動作、関係を視覚化することで、既存のプログラム コードをより良く理解します。

    • コード マップを作成して、コードの編成や関係を調べます。
    • アセンブリ、名前空間、クラス、メソッドなどの間の依存関係を視覚化します。
    • 依存関係図を作成して、コードと設計の間の競合を見つけ、コードを検証します。
    • コードからクラス図を作成して、特定のプロジェクトの構造とメンバーを調べます。
    • T4 テンプレートを利用してテキストを生成します。テンプレート内のテキスト ブロックと制御ロジックでテキストベースのファイルを生成します。
  2. アーキテクチャの依存関係を尊重する必要があることをチームに教育します。

  3. 開発プロセスの一部として、アプリケーション ライフサイクル全体においてさまざまな詳細レベルでモデルを作成できます。

シナリオ: 視覚化およびモデリングを使用したデザインの変更」を参照してください。

コード マップ

コード マップとは、コード内の編成と関係をわかりやすくする一種のモデルです。

マップを利用し、コードの構造と依存関係および更新方法の理解を深め、提案された変更のコストを見積もることができるように、プログラム コードを調べます。

詳細情報:

依存関係図

依存関係図を使用すると、アプリケーションの構造を一連のレイヤーまたは明示的な依存関係があるブロックとして定義できます。 ライブ検証では、コードの依存関係と依存関係図に記述されている依存関係との競合が表示されます。

依存関係図の使用目的:

  • アプリケーションのライフサイクルを通じて多数の変更を行うことにより、アプリケーションの構造を安定化する。
  • コードへの変更をチェックインする前に、意図しない依存関係の競合を検出します。

詳細情報:

ドメイン固有言語 (DSL) モデル

DSL は、特定の目的のために設計する表記法です。 Visual Studio では、通常、グラフィックです。

ドメイン固有言語の使用目的:

  • アプリケーションの各部分を生成または構成する。 表記法およびツールを開発するには、作業が必要です。 これを行うと、UML のカスタマイズよりもドメインに適合する結果となることがあります。
  • DSL およびそのツールの開発への投資が複数のプロジェクトでの DSL の利用という結果をもたらす大規模プロジェクトまたは製品ライン。

詳細情報:

アーキテクチャとモデリング ツールのエディション サポート

Visual Studio には、使用できるエディションがいくつかあります。 そのうちの一部においては、アーキテクチャ ツールとモデリング ツールのサポートが提供されていません。 各ツールの利用可能情報を次の表に示します。

機能 Enterprise Edition Professional Edition Community Edition
コード マップ はい コード マップの読み取り、コード マップのフィルター処理、新しいジェネリック ノードの追加、選択範囲からの新しい有向グラフの作成のみをサポートします。 -
依存関係図 はい 依存関係図の読み取りのみをサポートします。 依存関係図の読み取りのみをサポートします。
有向グラフ (DGML ダイアグラム) はい イエス はい
コード クローン はい - -