プロダクトマネージャが語るVisual Studio 2010の全貌
2009年12月5日、セミナーイベント「VSUG Day 2009 Winter」が日本工学院専門学校蒲田校において開催された。当日はVisual Studioをはじめ、.NET FrameworkやSilverlight、Windows Azureなどを対象とした、さまざまなセッションやアカデミーが行われ盛況を博した。ここでは、マイクロソフト株式会社開発ツール製品部のエグゼクティブプロダクトマネージャである近藤和彦氏によるセッション「Visual Studio 2010概要~“究極”の統合開発環境の登場~」の内容を紹介する。
Visual Studio 2010の製品構成と概要
近藤氏は、現在開発が進められている新しい統合開発環境Visual Studio 2010について、特に大きな進化を遂げているツールを中心にデモを交えてのセッションを行った。セッションタイトルの「“究極”の統合開発環境」とは、新しいエディション名である“Ultimate”をもじったものではあるが、それだけではなくVisual Studio 2010のアプリケーションライフサイクルにおけるすべての開発行程がカバーでき、さまざまなアプリケーションの構築において高い品質と生産性を確保するための包括的な機能を提供するということを示唆している。
「Visual Studio 2010」は、従来の製品に対する「製品構成が複雑」というユーザーフィードバックを反映し、「Ultimate」「Premium」「Professional」の大きく分けて3種類の製品構成となっている。その中でも特に「Ultimate」はこれまで進化してきたVisual Studioの究極の形であるとした。
具体的には、次の製品が「Ultimate」となり、アプリケーション開発のすべてのフェーズをカバーできる。
- Visual Studio Team System 2008 Team Suite
- Visual Studio Team System 2008 Architecture Edition
- Visual Studio Team System 2008 Test Edition
- Visual Studio Team System 2008 Development Edition
- Visual Studio Team System 2008 Database Edition
また「Premium」は、新たな機能だけでなく、従来「Visual Studio Team System 2008 Development Edition」および「Visual Studio Team System 2008 Database Edition」が持っていた高度な開発向けの機能が搭載され、「Professional」は「Visual Studio 2008 Professional Edition」と基本構成は変わらないものの数多くの新機能が搭載された。「Visual Studio 2010 Express Edition」はVisual Studio 2008と同様の製品構成となる模様。なお、「Ultimate」「Premium」「Professional」のそれぞれにMSDN Subscription付きの製品が用意されている。
さまざまな新機能を搭載
Visual Studio 2010の「Ultimate」における新機能で特徴的なものは、テストプロセス全般をカバーする新しいツール、新たなモデリング機能、そしてデバッグの機能である「IntelliTrace」。また、「Premium」では「自動UIテスト(Coded UI)」、「Professional」では「Silverlight開発ツール」や「マルチコア対応開発」が挙げられる。これらは後ほど、デモを交えて詳しく紹介された。
Visual Studio 2010の「Ultimate」「Premium」「Professional」クライアント向け製品だが、サーバー向け製品やその他の製品もラインアップが一新される。テスト専用のツールである「Visual Studio Test Elements 2010」や、テスト環境の仮想化が可能なサーバー向け製品「Visual Studio 2010 Team Lab Management」がリリースされることによりテスト環境に対しての依存がなくなり、テスト担当者と開発者が同じ環境下で構築することできる。
さらに、「Visual Studio Team Foundation Server 2010」は、チーム開発を包括的に支援するチーム コラボレーション サーバーだが、クライアントOSにインストールすることも可能。また、MSDN SubscriptionでフルセットのサーバーとCAL(クライアント アクセス ライセンス)が提供されるのも魅力的だ。
このほか、大規模な負荷テスト時に有効な「Visual Studio Load Test Virtual User Pack 2010」、組み込み開発に有効な「Visual Studio 2010 Professional with MSDN embedded」、「MSDN OS」がラインアップされる予定となっている。
また、従来のバージョンからVisual Studio 2010への移行については、MSDN Subscription付きが有効である場合、同等もしくはよりレベルの高い製品への移行が可能だ。近藤氏は、従来からの移行で特にお得なのは「Ultimate」と「Premium」と強調した。
設計機能とテスト機能を強化
Visual Studio 2010によってソフトウェア開発がどのように変化していくのか、近藤氏によるデモを交えた説明も行われた。
ソフトウェア開発は、大きく「設計」「開発」「テスト」という流れで進められていくが、この開発工程の中で、Visual Studio 2010は、特に設計機能とテスト機能を大きく強化している。新機能はいろいろあるが、特に有効に使える新機能を下記にまとめた。
設計においての新機能
「UML」モデル図
「UMLモデル図」とは、実際のコードから、コードと連動した拡張性の高いモデル図を作成できる機能で、当初はクラス図、シーケンス図、ユースケース図、コンポーネント図、アクティビティ図の5種類のダイアグラムが標準搭載される。
新たに追加されたレイヤー図
アプリケーションの論理レイヤーをモデリングするための機能が追加され、例えばクラスをマッチングさせてアーキテクチャどおりに設計されているかのバリデーションを容易に行うことができる。例えば、プレゼンテーション層から直接データ層を呼び出すことはプログラム上可能であるが、アーキテクチャ上それを禁止しているような場合には、バリデーションの機能によってエラーとして検出される。さらに、実際のモデル図からタスクやバグ、要件といった作業項目を関連づけて管理することも可能だ。
汎用性の高いモデル図
モデル図の汎用性が高いことも特徴で、特に保守で活用できるツールがいくつか用意されている。アセンブリやクラスの依存関係を可視化する「依存関係グラフ」は、修正した場所の影響がどこに現れるかをひと目で確認できる。次にコーディングのフェーズだが、Visual Studio 2010では開発環境そのものをWPFで作り直している。その結果、表現力や操作性に優れ、使いやすさが向上している。開発環境の強化では、マルチモニタに対応したことが特徴の1つ。しかも、デザインビューをIDEから切り離すことができるため、隣の画面にデザインビューを最大化して表示でき、作業効率を上げられる。
検索性の向上
例えば「Navigate To:」では単語の頭文字の組み合わせ(SearchByOrderName()であれば、“SBON”)だけで検索するなど省略が可能になっている。また「Highlight Reference:」では、すべての変数のインスタンスをハイライト表示でき、キーボードショートカットでカーソルを移動できるため時間を短縮できる。さらに、現在は「C#」のみで有効な機能だが、呼び出しの階層表示が可能になった。これは、呼び出している、あるいは呼び出されているメソッドを確認できるというもので、当該メソッドの関連状態や相関関係から影響範囲を把握できる。
デバックの大きな機能強化
特にポイントなのが「IntelliTrace」。これはデバッグ時の情報を記録し、さかのぼって参照できるというもの。以前の状態を、作業をやり直すことなく参照できるため簡略化が可能だ。例えばデータベースを書き換えるような何回も繰り返すことができない処理の際にも、任意の時点での値をいつでも参照できる。これは他人が参照することもできるので、テスト時などで変化を詳細に追うことが可能となる。ただし、現在のところ使用環境に制限があるので注意したい。
ブレークポイントごとのラベル
ブレークポイントにラベル付けができるようになった。例えばデバッグの粒度や目的などに応じてラベル付けを行い、デバッグの目的に応じて、ラベル単位で無効化や削除することが可能だ。さらに、ウォッチを付箋のように表示できるデータチップも改良され、コメントの記入や、その状態で値が変わるところを比較しながら作業を進めることができる。このほか、デバッグ時でもダンプファイルの出力が可能になっている。
対応環境の拡大
Visual Studio 2010 は .NET Frameworkの複数のバージョン(2.0、3.0、3.5、4)に対応した。従って、.NET Framework 2.0のアプリケーションの保守においても、Visual Studio 2010の強力な機能を活用することができる。WPFアプリケーション開発環境も強化され、DataGridを標準搭載したことでデータを表形式で表現できるようになった。またCalendarやDataPickerも搭載した。Silverlightアプリケーション開発では、従来アドインであったのが標準構成となり、ドラッグ&ドロップでUIデザインできるようになった。Webアプリケーション開発ではASP.NET 4に対応し、チャートコントロールも標準搭載となった。これにより、図や表、グラフなどをデータバインドして表示可能となった。ドラッグ&ドロップによる操作も可能だ。ただし、Ajaxについてはまだ実装が明言されていない。実装に向けて努力中とのことだ。
その他の強化機能
テンプレートを搭載するなどOfficeアプリケーション開発への対応、従来アドインだったWebパーツの開発を標準搭載としたSharePoint 2010アプリケーション開発への対応も行われた。また、マルチコアに対応するためのマネージド.NETのAPIを提供することで、並列プログラミングにも対応している。これにより、スレッドベースで直接管理するのではなく、1つ粒度が上のタスクベースでの柔軟かつ最適化された管理が可能となっている。もちろん、Windows Azureアプリケーション開発も標準で搭載した。
テストにおける新機能
Test & Lab Managerの登場
WPFベースで作られた新しいツールであるTest & Lab Managerとは、テストの計画から実施、進捗確認といったテストのサイクルに注目した製品だ。例えば、企業で受け入れ試験を実施する場合に、要件を「Team Foundation Server」から読み込み、マッチングを行うことができる。どの程度カバーしているかを確認することも可能だ。また、1つのテスト項目に対して、例えばWindows VistaとInternet Explorer 7、あるいはWindows 7とInternet Explorer 8など、複数の環境を意識したテストパターンの複製作成にも対応している。
新機能「Coded UI」の搭載
「Coded UI」とは、WebアプリケーションやWindowsアプリケーションのテストにおけるUI 操作を記録する機能で、これをベースにテストすることで問題が発生したときに手順を自動的に再現できる。Test & Lab Managerと組み合わせて利用する場合には、さらに高度なテストを実施できる。
Test & Lab Managerでテストを実施した際、問題が発生したときには「失敗」として、画面キャプチャを画像ファイルに出力できる。さらに、「ビデオリンク」機能により、テストの操作をストリーミングで記録してビデオファイルに出力することも可能で、これらの情報を提供することで、修正担当者の作業効率を向上できる。さらに、システム情報の記録や、「Coded UI」で同じ手順で自動的にテストを繰り返すこともできる。
最後に近藤氏は、「Visual Studio 2010の導入によって、テスト担当者と開発者が同じ環境、同じ情報を共有できるようになり、これまで難しかった両者のコミュニケーションを円滑化できる」と締めくくった。