Enterprise Watch
バックナンバー

「Visual Studio 2005 Team System」、その本質に迫る 【第一回】

~Visual Studio 2005 Team Systemの概要

 「Visual Studio 2005 Team System(以下、Team System)」は、2005年中に提供予定のマイクロソフトの次期開発プラットフォーム「Visual Studio 2005」において、エンタープライズ開発をサポートする上位製品である。チームによる分散開発をサポートする多くの機能が含まれ、アプリケーションの設計から開発、テスト、配置(デプロイ)までのソフトウェア開発ライフサイクル(SDLC)全体を統合的に管理するマイクロソフト初の製品だ。この連載では5回にわたってTeam Systemを紹介し、その本質に迫ってみる。

 今回は「Team Systemとはどういう製品なのか?」といった概要について解説する。

【3月23日更新】コンポーネントの名称変更に伴い、Team Systemのコンポーネント名を変更しました。


Visual Studio 2005の製品ラインとTeam Systemの位置付け

 Visual Studio 2005は、コーディング支援やデバッグ機能といった開発の複雑さを軽減する統合開発環境(IDE)としての機能強化に加えて、「Visual Basic」、「Visual C#」など開発言語の強化、「Windows」、「Office」、「SQL Server」といったプラットフォームとの統合など大規模な変更と革新を伴うバージョンアップとなる。

 Team Systemは、Visual Studio 2005の上位製品であり、エンタープライズにおけるチーム開発を目的とした製品である。他の製品とは大きく異なり、設計やテストといったアプリケーション開発ライフサイクル全体を管理する機能が多数含まれる。Team Systemの機能やアドオンツールがカバーする範囲が広いため、Visual Studio 2005とは異なる製品と勘違いしている人も多い。混乱を避けるため、Visual Studio 2005の製品ラインアップを確認しておこう。Visual Studio 2005は、以下4つのEditionがリリースされる予定である。
  • Visual Studio 2005 Express Edition
  • Visual Studio 2005 Standard Edition
  • Visual Studio 2005 Professional Edition
  • Visual Studio 2005 Team System
 それぞれが搭載している機能は、マイクロソフトのWebサイトにまとめられている。ただし、この情報はまだ確定ではないため、今後変更される可能性もある。


Visual Studio 2005 Team Systemの構成

 また、Team System自身も、その役割に応じて複数のEditionとしてリリースされる。Team Systemは、開発プロジェクトのチームメンバーに対し、共通のプラットフォーム(基盤)を提供することを目的としているが、チームはさまざまな役割(ロール)をもった人々で構成される。そこで「アーキテクト」「開発者」「テスト担当者」「プロジェクトマネージャ」という4つのロールを想定し、それぞれのロールに対応するTeam SystemのEditionを次の4つに分割したのである。


Team Systemの構成図
  • Visual Studio Team Edition for Software Architects
  • Visual Studio Team Edition for Software Developers
  • Visual Studio Team Edition for Software Testers
  • Visual Studio Team Foundation Server
 アプリケーションを設計する「Software Architects」、コーディングやデバッグを実行する「Software Developers」、テストを管理・実行する「Software Testers」、そしてチーム内のコミュニケーションプラットフォームであり、プロジェクト管理を行うサーバーとして「Team Foundation Server」がある。

 このように設計・開発・テスト・デプロイの機能をIDEに統合することで、設計の段階から運用を考慮した設計(Design For Operations)が可能になる。


[Software Architects]
 主にシステムアーキテクトの利用を想定しているSoftware Architectsには、分散システムのアプリケーションを設計する「分散システムデザイナ」、クラスモデリングを行う「クラスデザイナ」などのモデリングツールが含まれる。

 分散システムデザイナは、分散アプリケーションをGUIベースでデザインするモデリングツールである。分散システムという言葉からイメージされるように、分散システムデザイナによる設計は、サービスを疎結合してシステムを構成する「SOA(サービス指向アーキテクチャ)」がベースとなっている。アプリケーションの設計はもちろん、アプリケーションの配置(デプロイ)までモデリングできるため、実際の運用を意識した設計が可能となる。

 クラスデザイナでは、完全にコードと同期したクラス図を記述(クラスモデリング)できる。これはSoftware ArchitectsとSoftware Developersの双方から利用できる機能で、クラス図を記述するだけで自動的にコードが生成される。もちろん、モデル図とコードは常に同期しているため、コードの側を変更してもクラス図が変更される2Wayの開発が可能となる。

[Software Developers]
 Software Developersは、開発者がアプリケーションを開発するという、これまでもVisual Studioとして提供されていたメインと呼べる部分の機能である。開発ツールとしてのTeam Systemは、Visual Studio 2005 Professional Editionがベースとなり、そのIDEに設計、テスト、プロジェクト管理などの機能を統合できるようになっている。さらに、静的コード分析、動的コード分析、コードプロファイラといった、Software Developersにしか搭載されない機能も備えており、より質の高いコードが記述できる。

[Software Testers]
 Software Testersでは、「単体テスト」「Webテスト」「汎用テスト」「負荷テスト」「マニュアルテスト」「コードカバレッジ」といったテスト機能を提供する。これらのテストは、Visual StudioのIDEから作成・実行でき、これらのテストを管理する「テストケース管理」の機能も提供している。また単体テスト、およびコードカバレッジ機能は、Software Developersと密接に連携し、開発早期の段階から積極的に単体テストやコードカバレッジを実行可能である。またテストケース管理では、すべてのテストシナリオやステータスが管理できるほか、テスト実行の際のマニュアル(手順書)も作成できる。

[Team Foundation Server]
 Team Foundation Serverでは、「ワークアイテムトラッキング」「ソースコード管理」「ビルドの自動化」「チームコミュニケーション」「レポーティング」といった機能により、プロジェクトのマネジメントをサポートする。Team Systemにおいて、設計・開発・テストといったアプリケーション開発ライフサイクルを支える基盤となるサーバー製品であり、他のEditionとはやや位置づけが異なる。Team Foundation Serverの実行にはSQL Server 2005が必要で、レポーティングなど多くの機能がSQL Server 2005の新機能に依存している。


なぜTeam Systemなのか

 これまでVisual BasicをはじめとするVisual Studioの開発ツールは、アプリケーション開発を容易にするため「GUIにロジックが貼り付く」という形式のプログラミングスタイルがとられることが多かった。確かにこのスタイルのプログラミングは、直感的でわかりやすくアプリケーションを開発でき、「多くの人が簡単にWindowsアプリケーションを作成できる」というマイクロソフトの開発ツールの思想に適合していた。

 しかし、エンタープライズにおける分散開発では、アプリケーションがいかに再利用性の高いコンポーネントで構成されているかどうかが開発効率に大きく影響する。画面(GUI)とロジックが分離していなければ、再利用性の高いコンポーネントを作成することは難しい。つまり、チームによる分散環境を意識した専用の開発環境が必要となる。そのためTeam Systemでは、運用をイメージしたアプリケーションの設計、モデリングツールとプログラミングツールの連携による効率のよいコンポーネントの設計・開発の機能を、チーム開発という視野で提供するのである。


ライセンス体系の移行

 Team Systemの登場に先立ち、マイクロソフトではVisual Studioに関わるライセンス体系の移行をすでに発表している。マイクロソフトの開発者向けソフトウェア提供サービスの名称は、現在のMSDNサブスクリプションからVisual Studioに統一され、Team Systemの提供形態と価格は、従来のMSDNサブスクリプションモデルから、他のマイクロソフト製品と共通するライセンス&ソフトウェアアシュアランス(L&SA)モデルへと移行する。

 Team Systemの提供を開始した時点でMSDNユニバーサルの有効なサブスクリプションを持つユーザーであれば、追加費用なしにSoftware Architects、Software Developers、Software Testersのいずれか1つのソフトウェアアシュアランス(SA)へ移行できる。また、Team Foundation Serverを除く3つがセットになったTeam SystemスイートのSAへも特別価格でアップグレートできる。なお、Team Systemの提供を開始した時点でMSDNエンタープライズの有効なサブスクリプションを持つユーザーである場合、追加費用なしにSoftware DevelopersのSAへと移行できるが、その他のEditionは選択できない。

 Software Architects、Software Developers、Software TestersのSAは、その有効期間中、従来のMSDNサブスクリプションと同様に、Windows OS、Office System、Windows Server Systemの最新版と過去のバージョンがTeam Systemとともに提供される。また、各EditionのSA価格は、従来のMSDNユニバーサルのサブスクリプションの更新価格と同一になる予定である。


まとめ ~Team Systemによるエンタープライズ開発戦略

 Team Systemには、これまでVisual Studioがサポートしていなかった分野の機能が多数含まれている。しかし、モデリングツールや構成管理など、他ベンダーのツールをすでに導入して、これらの分野を補完している企業もあるだろう。そこで、既存資産を有効活用するため、Team Systemでは統合用のAPIをTeam Foundation Serverに用意している。ボーランドやコンピュウェアなど、すでにTeam Systemへの積極的なサポートを表明しているツールベンダーも多い。

 マイクロソフトでは、Team Systemによってアプリケーション開発ライフサイクルにおける分野をすべて独占することが目的ではないと述べる。多くの支持を受けている開発ツール「Visual Studio」をコアに、他ベンダーの製品とも連携可能な、真の意味での統合開発プラットフォームとして、Team Systemという製品を位置づけている。

 次回からは、Team Systemの各機能について解説する。



URL
  マイクロソフト株式会社
  http://www.microsoft.com/japan/
  Visual Studio 2005 Team System
  http://www.microsoft.com/japan/msdn/vstudio/teamsystem/


( 北原 静香 )
2005/03/03 00:00

Enterprise Watch ホームページ
Copyright (c) 2005 Impress Corporation, an Impress Group company. All rights reserved.