Share via


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

アプリケーションが確実にユーザーの要求を満たすようにするには、Visual Studio Ultimate を使用してコードを理解し、アプリケーションをモデル化することができます。 Visual Studio Ultimate はコードの視覚化に役立つため、その構造、関係、および動作をより簡単に理解できます。

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

目的

コードの視覚化:

  • コードを参照しながら、コード間のリレーションシップをマップします。

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

  • コードからシーケンス図を生成して、メソッド内のメッセージ シーケンスを調べます。

  • コードからクラス図を作成して、特定のプロジェクトの構造とメンバーを調べます。

  • レイヤー図を作成して、コードと設計の間の競合を見つけ、コードを検証します。

ユーザーの要求を記述して伝達する:

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

アーキテクチャを定義する:

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

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

要求と、必要とされる設計を照らし合わせてシステムを検証する:

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

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

Team Foundation バージョン管理を使用してモデル、図、およびグラフを共有する:

  • 依存関係グラフ、モデリング プロジェクト、UML 図、レイヤー図を共有できるように、Team Foundation バージョン管理下に置きます。

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

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

  • 要求の変更に対する設計の対応性と、製品ライン全体での設計の適合性を向上させます。

モデルと図をカスタマイズする:

  • UML 要素の追加のプロパティ、モデルがビジネス ルールに準拠していることを確認するための検証制約、および追加のメニュー コマンドとツールボックス項目を定義して、モデルをプロジェクトでの使用方法に適合させます。

  • 独自のドメイン固有言語 (DSL: Domain-Specific Language) を作成します。

モデルの種類とその用途

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

依存関係グラフ

依存関係グラフは、コードの現在の編成や関係を理解するために役立ちます。

一般的な用途:

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

参照トピック

レイヤー図

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

一般的な用途:

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

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

参照トピック

UML モデル

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

一般的な用途:

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

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

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

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

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

一般的な用途:

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

参照トピック

ドメイン固有言語 (DSL)

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

一般的な用途:

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

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

参照トピック

情報の入手方法

フォーラム

ブログ

Visual Studio ALM + Team Foundation Server Blog (Visual Studio ALM + Team Foundation Server のブログ)

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

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

その他のサイト

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

参照

概念

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