はじめに
Visual Studio 2005日本語版の最初の製品がリリースされてからおよそ1年7ヶ月が経ちました。Visual Studio 2005 Professional(またはProfessionalよりも下位のエディション)は多くの開発現場で利用されるようになりましたが、Visual Studio 2005 Team Systemの各製品はどんな機能があるのか分からない、どんな機能があるかは知っているが使い方が分からないという意見を耳にすることがよくあります。本稿では、初心に立ち返り、Visual Studio 2005 Team Systemの全体像や各製品のコンセプト、用意されている機能などについての概要を一つ一つ紹介していきます。
対象読者
- .NET Frameworkを利用した開発プロジェクトに携わっている人
- Visual Studio 2005 Team Systemに興味がある人
必要な環境と準備
- 特にありません
Visual Studio 2005の製品群
Visual Studio 2005には、主に学習用途向けのExpress Editionから、主にチーム開発用途向けのTeam Systemまで、以下に示す4つのエディションが用意されています。
- Visual Studio 2005 Express Edition
- Visual Studio 2005 Standard Edition
- Visual Studio 2005 Professional Edition
- Visual Studio 2005 Team System
今回、紹介していくVisual Studio 2005 Team System(以下、VSTS)は、Visual Studio 2005の最上位エディションに分類され、一つ下位のエディションであるProfessional Editionの全機能に加え、設計や品質強化を支援する機能やVisual Studio 2005 Team Foundation Serverというチーム開発のためのサーバーにアクセスするためのクライアント側機能であるTeam Explorerも備えています。
VSTSの製品種類
現在、VSTSは、各開発者が利用するクライアント製品と、クライアント製品と連携するサーバー製品の2種類に分類できます。クライアント製品としては現在、以下の5種類がリリースされています。
- Visual Studio 2005 Team Edition for Software Architects(VSTA)
- Visual Studio 2005 Team Edition for Software Developers(VSTD)
- Visual Studio 2005 Team Edition for Software Testers(VSTT)
- Visual Studio 2005 Team Edition for Database Professionals(VSDP)
- Visual Studio 2005 Team Suite
また、サーバー製品としては以下の2種類がリリースされています。
- Visual Studio 2005 Team Foundation Server(TFS)
- Visual Studio 2005 Team Test Load Agent
なお、本稿および次回以降では、Visual Studio 2005 Team Suite、Visual Studio 2005 Team Test Load Agentを除く製品を取り上げて、機能解説などを行っていきます。
VSTSの機能
VSTSには製品ごとに役割があります。まずクライアント製品ですが、VSTAには、システムの全体構成図やネットワーク構成図などのモデル図を生成する機能があります。VSTDには、規約違反をチェックするコード分析や単体テスト、ソースコードのパフォーマンス分析を行う機能があります。VSTTには、単体テスト、Webテスト、負荷テストなど特にWebアプリケーションのためのテストを行う機能があります。VSDPには、既存データベースがソースコードに与える影響を監視しながらデータベーススキーマの変更を行う機能があります。Team Suiteはこれら4製品に含まれるすべての機能を使用できるものです。
次にサーバー製品ですが、TFSには、クライアント製品と連携し、各種ドキュメントの格納や、ソースコードの構成管理、プロジェクトの進捗管理などを行う機能があります。Visual Studio 2005 Team Test Load Agentを除くこれらVSTS各製品に用意されている機能を図示すると図1のようになります。
最後に、Visual Studio 2005 Team Test Load Agentについて補足します。通常、VSTTが行う負荷テストは1台の端末からのみしか、Webアプリケーションに対して負荷をかけることができません。しかし、Load Agentを利用することで複数台端末のVSTTを統合し、Webアプリケーションに対してより大規模な負荷をかけるテストを行うことができます。
実に多岐に渡る機能が用意され、VSTSは開発の基本コンセプトとして、SOAベースの大規模Webアプリケーションをターゲットとしているのではないかと思われるほどです。実際そのようなシステムでなければ必要ないと思われる機能も多いと感じています(ただし、VSTSが持つ高い拡張性を利用すればこの範疇ではありません)。
VSTS製品の連携
VSTSのクライアント製品はVSTSのサーバー製品を用いることで、それぞれのスムーズな連携が可能になります。またクライアントとサーバーの連携による品質管理やプロジェクト管理の機能も備えています。
VSTSのクライアントでの作業の成果物は、ソースコードやVSTDでの静的コード分析、VSTTでのテスト結果などさまざまありますが、TFSではそれらのすべてを格納し、履歴を保存できます。また保存された成果物および履歴は容易にクライアントから閲覧できるなど、クライアント製品間でのスムーズな連携をとることもできます。またTFSはクライアントで生成された成果物と関連付け(リンク等)がなされた作業記録を保存し、作業履歴を確認したり、作業の進捗具合を自動的にグラフ化したり、レポートとして表示したりといったことも可能です。なお上記の一連の作業はTeam Explorerを用いることで、VSの画面上から操作できます。このことからVSTS製品は単体で用いるよりもサーバー製品であるTFSを用いることで真価を発揮できると言えます。