アプリケーションのモデル化

アプリケーションを確認することがユーザーの要求を満たします、最終的なコードを理解し、アプリケーションをモデル化するために Visual Studio を使用します。Visual Studio の最終的なヘルプ コードを視覚化するため、構造体、リレーションシップ、および動作をより簡単に理解できます。作業の追跡と、要件、タスク、テスト ケース、バグ、または Team Foundation Server の作業項目と開発計画にモデル要素をリンクして、モデルに関連するそのほかの種類の異なる詳細レベルでモデルを作成できます。開発プロセスの一部としてアプリケーションのライフサイクルのこれらのタスクを実行できます。「Visual Studio 2012 のアプリケーション ライフサイクル管理に関するモデリング ツールの新機能」および「シナリオ概要: 視覚化およびモデリングを使用したデザインの変更」を参照してください。

目的

コードを視覚化します。:

  • コードから依存関係グラフを作成して、アセンブリ、名前空間、クラス、メソッドの編成および依存関係などを参照してください。

  • コードからシーケンス図を生成して、メソッド内のメッセージのシーケンスを参照してください。

  • コードからクラス図を作成することで、特定のプロジェクトについては、構造体とメンバーを参照してください。

  • レイヤー図のコードを検証するために作成して、コードと設計の間の競合を検索します。

ユーザー要求を記述および伝達します:

  • ユーザー ストーリーやビジネス ルールなどの要件を明確にし、ユース ケース図、アクティビティ図、クラス図などの UML 図を描画して、それらの要求の一貫性を確保します。

アーキテクチャを定義します。:

  • UML コンポーネント図、クラス図、およびシーケンス図を描画して、ソフトウェア システムの大規模な構造およびデザイン パターンをシミュレートします。

  • レイヤー図を生成して、コードのコンポーネント間の依存関係に対する制約を定義して適用します。

要件と設計のシステムを検証する:

  • 要求モデルに基づいて承認テストまたはシステム テストを定義します。これにより、テストとユーザーの要求との間に強固な関係が生成され、要求が変更された場合にシステムをより簡単に更新できます。

  • 必要とされるアーキテクチャを記述する検証し、デザインと競合する可能性がある変更をにするレイヤー図とコードの依存関係が。

Team Foundation バージョン管理を使用して、モデル図とグラフを共有します。:

  • Team Foundation バージョン管理下のプロジェクト、UML 図とレイヤー図をモデリングする依存関係グラフを設定してそれらを共有できます。

Team Foundation バージョン管理下のこれらの項目を使用して、複数のユーザーがある場合、バージョン管理の問題を回避するには、次のガイドラインを使用する:

UML モデルやドメイン固有言語からのアプリケーションの各部分を生成または構成します。:

  • 目的の設計を製品ラインで要件の変更により迅速にします。

モデルと図をカスタマイズします。:

  • どのように使用するかを確認するために、プロジェクトが UML 要素、検証制約、モデルはビジネス ルールに準拠すると、さらにメニュー コマンド、およびツールボックス項目に対して追加のプロパティを定義して、それらをモデルを調整します。

  • 独自のドメイン固有言語を作成します。

モデルの種類とその用途

モデルの種類と一般的な用途

依存関係グラフ

依存関係グラフは、コード内の編成や関係を確認できます。

一般的な用途:

  • プログラム コードを調べます。これを更新する方法を挿入することにより、構造体と依存関係を理解、提案された変更のコストを見積もるします。

参照トピック

レイヤー図

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

一般的な用途:

  • アプリケーションのライフサイクルを通じて多数の変更を行うことにより、アプリケーションの構造を安定化する。

  • コードの変更をチェックインする前に、意図しない依存関係の競合を検出します。

参照トピック

UML モデル

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

一般的な用途:

  • 要求および設計を説明する。任意のアプリケーションの開発にすばやく UML を適用できます。「開発プロセス内でのモデルの使用」を参照してください。

  • テストまたはアプリケーションの各部分を生成または構成する。表記法のカスタマイズと生成テンプレートまたは構成可能アプリケーションの開発には、いくらかの作業が必要です。「モデルからのアプリケーションの生成および構成」を参照してください。

  • 一般的な説明と小規模プロジェクトでのコード生成または構成。

コード ベースのシーケンス図

.NET コードから生成できるシーケンス図を使用すると、コードがメソッドをどのように実装しているかを視覚化することができます。

一般的な用途:

  • プログラム コードを理解および分析する。

参照トピック

ドメイン固有言語 (DSL)

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

一般的な用途:

  • アプリケーションの各部分を生成または構成する。表記法およびツールを開発するには、作業が必要です。これを行うと、UML のカスタマイズよりもドメインに適合する結果となることがあります。

  • DSL およびそのツールの開発への投資が複数のプロジェクトでの DSL の利用という結果をもたらす大規模プロジェクトまたは製品ライン。

参照トピック

情報の入手方法

フォーラム

ブログ

Visual Studio ALM + Team Foundation Server のブログ

技術文書およびジャーナル

The Architecture Journal - Issue 23: Architecture Modeling and Processes (アーキテクチャ ジャーナル - 第 23 号: アーキテクチャのモデリングとプロセス)

その他のサイト

MSDN アーキテクチャ センター

参照

概念

Visual Studio および Team Foundation Server でのアプリケーション ライフサイクル管理