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

 

Visual Studio 2017 RC の最新のドキュメントの詳細については、Visual Studio 2017 RC ドキュメントをご参照ください。

Visual Studio アーキテクチャおよびモデリング ツールを使用してアプリを設計およびモデル化することによって、ユーザー要件を満たすアプリを作成できます。 Visual Studio を使用してコードの構造、動作、および関係を視覚化することによって、既存のプログラム コードを容易に理解できるようになります。

開発プロセスの一部として、アプリケーション ライフサイクル全体においてさまざまな詳細レベルでモデルを作成できます。 Team Foundation Server の作業項目と自分の開発計画にモデル要素をリンクすることによって、モデルに関連付けられた要件、タスク、テスト ケース、バグ、およびその他の作業を追跡できます。 「シナリオ: 視覚化およびモデリングを使用したデザインの変更」を参照してください。

各機能をサポートする Visual Studio のバージョンを確認するには、「アーキテクチャ ツールとモデリング ツールのバージョン サポート」を参照してください。

コードの視覚化:

- コード マップを作成して、コードの編成や関係を調べます。 アセンブリ、名前空間、クラス、メソッドなどの間の依存関係を視覚化します。
- コードからクラス図を作成して、特定のプロジェクトの構造とメンバーを調べます。
- レイヤー図を作成して、コードと設計の間の競合を見つけ、コードを検証します。

 : Visual Studio のこのリリースでは、依存関係グラフの代わりに、コード マップという用語を使用します。 一般的に、グラフという用語が単独で使用される場合は、有向グラフまたは DGML 図 (またはドキュメント) を表します。 コード マップは、DGML 図の特化された型です。
- コードのビジュアル化
- Working with Classes and Other Types (Class Designer)
- ビデオ: 視覚化によるコードの依存関係の理解 (チャネル 9)
- ビデオ: 変更の影響の視覚化 (チャネル 9)
ユーザーの要求を記述して伝達する:

- ユーザー ストーリーやビジネス ルールなどの要求を明確にし、アクティビティ図やクラス図などの UML 図を描画して、要求の一貫性を確保します。
- アプリのモデルを生成する
- ユーザー要件のモデリング
- ビデオ: モデリングによるアーキテクチャの改善 (チャネル 9)
アーキテクチャを定義する:

- UML コンポーネント図、クラス図、およびシーケンス図を描画して、ソフトウェア システムの大規模な構造およびデザイン パターンをモデル化します。
- レイヤー図を作成し、コードのコンポーネント間の依存関係に対する制約を定義して適用します。
- アプリのモデルを生成する
- アプリのアーキテクチャをモデル化する
- ビデオ: モデリングによるアーキテクチャの改善 (チャネル 9)
- ビデオ: レイヤー図の使用によるアーキテクチャの設計と検証 (チャネル 9)
要求と、必要とされる設計を照らし合わせてシステムを検証する:

- 要求モデルに基づいて、承認テストまたはシステム テストを定義します。 これにより、テストとユーザーの要求との間に強固な関係が生成され、要求が変更された場合にシステムをより簡単に更新できます。
- 必要とされるアーキテクチャを記述するレイヤー図でコードの依存関係を検証し、設計と競合する可能性がある変更を防止します。
- 開発時のシステムの検証
- ビデオ: レイヤー図の使用によるアーキテクチャの設計と検証 (チャネル 9)
Team Foundation バージョン コントロールを使用してモデル、図、およびコード マップを共有する:

- コード マップ、モデリング プロジェクト、UML 図、レイヤー図を共有できるように、Team Foundation のバージョン コントロール下に置きます。
Team Foundation のバージョン コントロール下でこれらの項目を使用するユーザーが複数いる場合は、バージョン管理の問題を回避するために、次のガイドラインを使用します。

- モデルおよび図のバージョン管理
UML 言語やドメイン固有の言語から、アプリケーションの各部分を生成または構成する:

- 要求の変更に対する設計の対応性と、製品ライン全体での設計の適合性を向上させます。
- モデルからアプリを生成し構成する
モデルと図をカスタマイズする:

- UML 要素の追加のプロパティ、モデルがビジネス ルールに準拠していることを確認するための検証制約、および追加のメニュー コマンドとツールボックス項目を定義して、モデルをプロジェクトでの使用方法に適合させます。
- 独自のドメイン固有言語 (DSL: Domain-Specific Language) を作成します。
- UML モデルと図の拡張
- Modeling SDK for Visual Studio - ドメイン固有言語
T4 テンプレートを使用してテキストを生成する:

- テンプレート内部のテキスト ブロックと制御ロジックを使用して、テキスト ベースのファイルを生成します。
- コード生成と T4 テキスト テンプレート
モデルの種類と一般的な用途
コード マップ

コード マップは、コードの編成や関係を理解するために役立ちます。

一般的な用途:

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

参照トピック

- ソリューション間の依存関係をマップする
- コード マップを使用してアプリケーションをデバッグする
- コード マップ アナライザーを使用して潜在的な問題を検索する
レイヤー図

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

一般的な用途:

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

参照トピック

- コードからのレイヤー図の作成
- レイヤー図: リファレンス
- レイヤー図を使用したコードの検証
UML モデル

UML モデルには、クラス図、コンポーネント図、ユース ケース図、アクティビティ図、シーケンス図など、いくつかのビューが含まれます。 UML は、アプリケーション ドメインに合わせてカスタマイズできます。 たとえば、タグ、追加情報、および制約をモデル要素にアタッチできます。 モデルを操作するツールを定義することもできます。 「アプリのモデルを生成する」を参照してください。

一般的な用途:

- 要求および設計を説明する。 UML は、あらゆるアプリケーションの開発にすばやく適用できます。 「開発プロセス内でのモデルの使用」を参照してください。
- テストまたはアプリケーションの各部分を生成または構成する。 表記法のカスタマイズと生成テンプレートまたは構成可能アプリケーションの開発には、いくらかの作業が必要です。 「モデルからアプリを生成し構成する」を参照してください。
- 一般的な説明と小規模プロジェクトでのコード生成または構成。
ドメイン固有言語 (DSL)

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

一般的な用途:

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

参照トピック

- Modeling SDK for Visual Studio - ドメイン固有言語
フォーラム- Visual Studio の視覚化ツールとモデリング ツール
- Visual Studio の視覚化ツールとモデリング SDK (DSL ツール)

新機能
DevOps とアプリケーション ライフサイクル管理

表示: