ソフトウェアの品質を向上させるVisual Studio Team System 2008Microsoft Tech・Ed 2007 Yokohama Report

チームによるアプリケーション開発をサポートする「Visual Studio Team System 2008」。その進化の方向性は、品質にこだわったものになっている。

» 2007年08月23日 09時40分 公開
[下村恭(ハンズシステム),ITmedia]

 次世代のアプリケーション基盤となる.NET Framework 3.5に対応した統合開発環境として、マイクロソフトのVisual Studio 2008(VS 2008)が注目されている。VS 2008は現行のVS 2005と同様に統合開発環境の単体パッケージ製品であるProfessional Editionのほか、チームによる開発をサポートするVisual Studio Team System 2008(VSTS 2008)が用意される。ここでは、チーム開発を担うVSTS 2008の主な新機能について紹介しよう。

 Visual Studio 2005で注目を浴びたのが、チーム開発に重点を置いたVisual Studio 2005 Team Editionという製品だった。設計、開発、テスト、運用といったシステム開発のすべてのフェーズにおいて生産性を高め、システム開発の現場全体をカバーする開発環境として登場した。そして、Visual Studioが「2008」にバージョンアップするに当たって、チーム開発ツールとしてVisual Studio Team Systemへと進化した。

 Visual Studio 2005 Team Editionでは、開発チーム内のメンバー、つまりシステムを設計するアーキテクト、そして開発者、テスターといった役割に特化したツールが用意され、それぞれのEditionを構成していた。基本的にこうした製品構成はVisual Studio Team System 2008でも変わっていないが、役割指向で分かれていた構成を目的指向へと変更したようで、それが製品名に表れている。まず、すべての製品にVisual Studio Team System 2008と言う名前が付き、それぞれのEdition名がその後ろへ続く形になっている。

製品名称 Visual Studio Team System 2008における製品名称の変更

 Visual Studio Team System 2008では、新しいテクノロジーへの対応や生産性向上のための新機能が取り込まれているのはもちろんだが、ソフトウェアの品質を高め、チームの生産性を向上させ、コラボレーションをスムーズにさせることにより注力して開発されている。特に、開発ライフサイクルを通して品質管理を行えるよう考慮されている。

 例えば従来の2005では、アーキテクトによるシステム設計段階においては、システムダイアグラムからのボトムアップによる設計が行われていた。VSTS 2008では、アプリケーションダイアグラムからのトップダウン設計にも対応する。Architecture Editionで生成したソリューションをDevelopment Editionに渡し、これを基に開発者がコーディングしていけるのがVSTSのメリットだが、この開発時点でモデルを変更せざるを得ない場面もありうる。このようなときに、上流の設計から下流に当たる開発への一方通行の連携だけでは、Architecture Editionで作成した設計モデルが変更されないままとなり、運用フェーズに移行した際に、そこへ渡される設計モデルが食い違っているという状況になる。VSTS 2008では、開発者がモデル設計に及ぶ変更をした場合でも、その変更点をArchitecture Editionで取り込んで設計モデルに反映させることができるようになっている。これにより設計時のモデルがメンテナンスされずに陳腐化してしまうことを防ぎ、後の運用フェーズやシステム改変時点でも有用な情報として受け継ぐことができるようになっている。また、デザイン時の機能として、VSTS 2008が.NET Framework 3.0に対応し、システム設計時からWCFを用いたモデル設計を可能としている点も見逃せない。

 開発工程においては、コーディング品質の維持を助ける機能として、コードメトリックス機能が追加された。これは、記述されたコードの複雑性を判断し、リスクの軽減と保守性を改善させる仕組みだ。クラス結合、継承の深さ、コード行、サイクロマティック複雑度、保守容易性インデックスという5つの指標があり、それぞれ記述されたコードの品質を数値化する。クラス結合ではクラス間の依存関係の数を、継承の深さではベースクラスの数、コード行は実行される行数、サイクロマティック複雑度とはコードにおける分岐やループの数といったものが指標となる。保守容易性インデックスは、サイクロマティック複雑度やコード行数などから得られる情報を基に、OSを開発した現場独自の計算式で導き出される指標となっている。これら数値化された指標によって、記述されたコードの品質が「見える化」され、一定の品質を判断する材料となる。

 また、パフォーマンス検証に役立つプロファイリング機能に、問題となっているコードの場所にその場でジャンプできるホットパス機能が追加され、問題箇所の把握を助けてくれる。また強化されたレポート機能は、過去のレポートと簡単に比較することで、どこが改善されたか、どこが新たなボトルネックとなったかを容易に判断できるようになっている。さらに、単体テスト用のテストコードの生成を行う機能と、コードカバレッジと呼ばれるコード上の何%をテストしたかを把握できる機能により、単体テストの精度を上げることができる。

 テスト段階では、Test Editionに加わったWebテスト機能が有用だろう。CSVやXMLで用意したデータを使ったデータ駆動テストが容易に実行できるようになっている。また、3種類のパターンによるWebアプリケーションの負荷テストにも対応している。

 チーム全体の生産性を向上させる機能として、コードのチェックインやチェックアウト時のポリシー設定ができるようになっている。例えばビルドしてエラーがない状態でなければチェックインできないなどのポリシー指定が可能となっている。また、ビルド時にテストを実行するなど、チームビルド機能も強化されている。

 このようにVSTS 2008では、特に品質に関する機能が強化されており、短納期で高品質という相反する要求がなされるシステム開発現場にとって、強力なツールとなってくれるに違いない。VSTS 2008はすでにβ2版がリリースされている。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ