.NETエンタープライズ
Webアプリケーション開発技術大全

大規模プロジェクトにおける開発環境構築術

マイクロソフト コンサルティング本部 赤間 信幸
2004/09/30
Page1 Page2 Page3 Page4

5.4 開発プロセスやその環境構築に利用されるマイクロソフトの製品群

 ここまでの解説で、大規模開発における全体の作業の流れと大まかな作業内容を掴めたかと思うが、こうした開発環境構築を支援するためのツール、あるいはリファレンスガイドラインとして、マイクロソフトからは以下のようなものが提供されている。

  • ソースコード管理ツールVisual SourceSafe
  • コマンドラインビルドツールVisual Studio .NET
  • Webアプリケーション性能テストツールApplication Center Test
  • Windowsインストーラパッケージ
  • 簡易グループウェアGroupBoard Workspace
  • patterns & practicesライフサイクルガイドライン

 これらについて、以下に順番に解説する。

5.4.1 ソースコード管理ツールVisual SourceSafe

 Visual SourceSafeは、ソースコードの共有、排他制御、バージョン管理、履歴管理などの機能を提供するソースコード管理ツールである。

 Visual SourceSafeはEnterprise Developer以上のエディションに標準添付されており、図5-5のように、Visual Studio .NET開発環境との統合も行われているため、セットアップさえ行えば非常に手軽に利用することができる。その詳細は、本書「第7章 Visual SourceSafeによるソースコード管理」にて解説する※8。 

図5-5 Visual Studio .NET開発環境に統合されているVisual SourceSafe

※8 なお本書では解説しないが、UNIX系やJ2EE系でのソースコード管理によく利用されているCVS(ConcurrentVersions System)というソースコード管理ツールをVisual Studio .NETに組み込んで利用するプラグインなども存在している。

5.4.2 コマンドラインビルドツールVisual Studio .NET

 Visual Studio .NETは統合開発環境であるが、その本体であるdevenv.comはコマンドラインから呼び出すこともできるようになっている。これを利用すると、コンパイル作業をバッチファイルなどの中に組み入れて、自動化することができる(図5-6)。

図5-6 コマンドラインからのソリューションのビルド作業

 実際のビルド作業では、ソースコード管理サーバから最新版のファイルを取得したり、バージョン番号を書き換えたりする作業が必要であるため、多少複雑なバッチファイルを記述する必要がある。その詳細は、本書「第8章 Webアプリケーションの性能テスト」にて解説する。

5.4.3 Webアプリケーション性能テストツールApplication Center Test

 Application Center Testは、Webアプリケーションに対する性能テストを効率的に実施するためのツールである。VBScriptを利用したプログラミングを行えば、機能テストを兼ね備えた性能テストも実施できる(図5-7)。

図5-7 Application Center Testの実行画面
(クリックすると拡大します)

 Application Center Testは非常に使いやすいツールだが、現在のところ、残念ながら単体提供はされておらず、Visual Studio .NET Enterprise Developer以上にのみ添付されている。

 なおApplication Center Testは、図5-8にあるように、Webアプリケーション全体に対して一挙にテストを行うツールである。このため、内部で利用されている個々のコンポーネントを機能単位でテストすること(いわゆるユニットテスト)はできない。現時点では、マイクロソフト製品群の中にユニットテストを行うツールセットが含まれていないため、NUnitなどのツールを併用する必要がある※9

図5-8 Application Center Testのテスト範囲

※9 なお本書では解説しないが、ユニットテストは上手く利用すれば非常に効果が高いものでもある。実際の利用に際しては、テストケースの取り方はもちろんのこと、データベースをはじめとするリソースの取り扱い、スタブの準備、テストプロジェクトの管理方法などに注意する必要がある。興味がある方は、eXtreme Programmingの各種の手法(テストファースト)に関する文献や、NUnitに関連する資料を調査して頂きたい。

 Application Center Testを活用した性能テストの実施方法は、本書「第8章 Webアプリケーションの性能テスト」で解説する。

5.4.4 Windowsインストーラパッケージ

 現在、Windows OSにおけるパッケージングテクノロジはWindows Installer形式(.msi形式)に統一が図られており、この形式を利用することで、Windows OSが持つパッケージ管理機能を利用することができるようになる。

 Windowsインストーラパッケージの作成には、Visual Studio .NETに組み込みで用意されているセットアッププロジェクトが利用できる(図5-9)。

図5-9 セットアッププロジェクトによる.msiファイルの作成

 ただし、業務Webアプリケーションのリリースに関しては、必ずしもセットアッププロジェクトを利用することがベストソリューションになるとは限らない。複雑なWebアプリケーションの場合には、SSLのセットアップや手作業での仮想ディレクトリ切り替えなどがどうしても必要になるからである。このため、本書ではリリースに関して検討すべきポイントを「第9章 ビルドプロセス」、「第10章 大規模開発におけるソリューション構造」で解説する。これらの情報を基に、各自のシステム要件に併せて最適なパッケージング方法を検討して頂きたい。

5.4.5 簡易グループウェアGroupBoard Workspace

 コアチームはもちろんのこと、各開発チームがスムーズにチーム作業を進めていくためには、何らかのグループウェアを導入しておくことが望ましい。かといって、グループウェアのフルセットともいえるExchange Serverをチーム単位で導入することは、運用管理の作業負荷から言って困難である。このような場合には、簡易グループウェアとしてGroupBoard Workspaceを活用するとよい。

 GroupBoard WorkspaceはWindows Server 2003に標準添付されるWindows SharePointServices(SPS)の上にインストールされるアドオン製品で、メンバのスケジュール管理や設備予約、行き先掲示板や電話メモ、回覧板機能を備えている。使いやすいユーザインタフェースを兼ね備え、Office製品との連携も可能となっており、チームWebサイトを立ち上げる際に活用できる製品になっている※10(図5-10)。 

図5-10 GroupBoard Workspaceのユーザインタフェース

※10 詳細な情報は以下のサイトを参照。「Microsoft GroupBoard ワークスペース」(http://www.microsoft.com/japan/sharepoint/groupboard/)。

5.4.6 patterns & practicesライフサイクルガイドライン

 patterns & practicesのガイドライン類の中には、チームアプリケーション開発やそのバージョニング、パッケージング方法について詳細に解説したものもある。特に開発環境構築に関しては、以下の2つのガイドラインが役に立つ。

・ Visual Studio .NETとVisual SourceSafeを使用したチーム開発
  ・ ソースコード管理やプロジェクト構造に関するベストプラクティスとガイドラインを整理した資料。本書もこのガイドラインをベースにして執筆されている
  http://www.microsoft.com/japan/msdn/net/bda/tdlg_rm.asp
 
・ Deploying .NET Framework-based Applications
  ・ .NETアプリケーションのパッケージングや配布方法に関するガイドラインを解説した資料。さまざまな配布方法のトレードオフや、Windows Installerの内部挙動などについても解説されている
  http://msdn.microsoft.com/library/en-us/dnbda/html/DALGRoadmap.asp

 なお実際の開発では、これらのツールやガイドライン類の使い方、すなわち「作業プロセスの標準化」をなるべく早期に行うようにする。こうした作業プロセスの標準化の有無は、日常的な開発作業の効率を大きく左右するためである。チーム開発を始めるタイミングで、開発環境の構築や作業プロセスの標準化を行うようにして頂きたい。

5.5 開発環境構築の全体像に関するまとめ

 本章での解説をまとめると、以下のようになる。

・ 大規模開発でアーキテクチャやフレームワークに基づく開発をスムーズに実践していくためには、作業プロセスの標準化と、それを支える開発環境の構築が欠かせない
・ 作業プロセスの標準化や開発環境の構築は、なるべく開発プロセスの初期に実施する
・ アプリケーション開発サイドから見ると、以下のようなチームが必要である
  ・ アーキテクチャやフレームワークを開発し、アプリケーション開発の中核となるコアチーム
  ・ 実際の各業務システムを開発する開発チーム
  ・ 開発されたアプリケーションの設計品質を最終確認する品質チェックチーム
 
・ ソースコード管理やビルドシステムの構築については、各種のガイドラインに整理されたベストプラクティスに基づき、既存製品をうまく組み合わせて実現する。
 
.NETエンタープライズWebアプリケーション開発技術大全
Vol.4 セキュアアプリケーション設計編
定価 3,800円

赤間 信幸(マイクロソフト株式会社コンサルティング本部) 著
B5変型判/388p
ISBN 4-89100-430-4
日経BPソフトプレス発行


日経BPソフトプレスの書籍紹介ページへ
マイクロソフトプレスの書籍紹介ページへ
 
 

 INDEX
  .NETエンタープライズWebアプリケーション 開発技術大全
  大規模プロジェクトにおける開発環境構築術
    1.大規模開発における全体の作業の流れ
    2.各開発チームによる分散アプリケーション開発までの流れ
    3.分散開発されたアプリケーションを集約し、リリースするまでの流れ
  4.開発プロセスやその環境構築に利用されるマイクロソフトの製品群
 
インデックス・ページヘ  「.NETエンタープライズWebアプリケーション開発技術大全」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間