UMLツール紹介:Microsoft Visual Studio編
モデリング機能を強化した「Visual Studio 2010」の実力とは?
マイクロソフトは2009年11月、UML機能を強化した統合開発環境の次期製品「Microsoft Visual Studio 2010 β2日本語版」を発表した。今回はそのモデリング機能の特徴を紹介する。
マイクロソフトは、2010年上半期に製品版を提供する予定の「Microsoft Visual Studio 2010」(以下、VS2010)において、UMLモデリング機能を強化し、要件定義や設計などの領域のサポートを充実させると発表している。従来、Visual Studioにおけるモデリング機能としては「Architecture Edition」で独自記法の機能が提供されていたが、UMLはサポートの対象外だった。また、同社は2008年9月にモデリング標準化団体「OMG(Object Management Group)」に加盟しており、.NETプラットフォームにおけるモデル駆動型開発を支援する方針も発表している。
マイクロソフトはアプリケーションライフサイクルマネジメント(ALM)というキーワードを掲げ、Visual Studio製品群によってアプリケーション開発のライフサイクル全体のサポートを目指している。Visual Studioが提供するUMLモデリング機能とは、一体どれくらい使えるものなのだろうか? 今回は既に入手可能なVS2010 β2日本語版を基に、そのモデリング機能の特徴を紹介する。
VS2010のモデリング機能
VS2010は、その最上位ライセンスである「Ultimate」においてUMLのバージョン2.1.1に対応したUMLモデリング機能が提供され、以下のダイヤグラムを作成することができる。
| ダイヤグラム名 | 対応状況 | 備考 |
|---|---|---|
| クラス図 | ○ | ― |
| オブジェクト図 | × | ― |
| パッケージ図 | × | ― |
| コンポーネント図 | ○ | ― |
| 合成構造図 | × | ― |
| 配置図 | × | ― |
| ステートマシン図 | × | ― |
| アクティビティー図 | ○ | レーンには対応していない |
| シーケンス図 | ○ | 自動生成可能 |
| コミュニケーション図 | × | ― |
| タイミング図 | × | ― |
| 相互作用概要図 | × | ― |
| ユースケース図 | ○ | ― |
VS2010には上記のダイヤグラムの作図機能に加えて、今回から追加された「レイヤー図」という独自の図も用意されている。また、データベースの構造を可視化するビュー、ソースコードからシーケンス図を自動生成する機能、クラス間の依存関係を可視化する「Visualize Code Relationships」機能などを活用できる。
さらに、モデル要素の色が変更可能であり、リソース系やイベント系のクラスを色分けして、カラーUML(※)でモデリングすることも可能だ。アクティビティー図とユースケース図では直線や長方形、楕円(だえん)などのテンプレートを使って自由に図形を描くことができる。
※ 『Javaエンタープライズ・コンポーネント―カラーUMLによるJavaモデリング』(ピアソン・エデュケーション)の中で、共同著者であるピーター・コード氏が提唱している手法。イベントをピンク、リソースを緑などに色付けすることで、白黒の図よりも視覚的に分かりやすくなる点が特徴。
そのほか、VS2010の日本語版ではメニューやメッセージにおける日本語表示はもちろん、ダイヤグラム要素に対する日本語の入力も可能だ。ただ、先述した対応表でも分かる通り、現時点では「UMLモデリングツールとしては、対応可能なダイヤグラムが少ない」といえるだろう。同社では今後、対応ダイヤグラムの種類を増やしていくという。
モデリングとプログラミングの両方をサポート
次に、ほかのツールとの差別化ポイントといえる特徴的な機能を紹介する。
ソースコードとの連携
VS2010では、ソースコードからシーケンス図を生成したり、UMLには準拠しないがクラス図に似たダイヤグラムを生成したりすることができる。例えば、クラス図に似たダイヤグラムの中で、追加した属性や操作、イベントなどがソースコードとリアルタイムに連動し、スケルトンとして自動的に出力する機能がある。この機能を使うと、クラスの定義を表形式で表示しながら、設計書を書くように属性、メソッド、プロパティーやその説明を記述することでソースコードを作成できる。また、設計書がないソースコードから実際のコードに合致した設計書を自動生成することも可能だ。例えば、メンテナンスが不十分なシステムを解析する際にも役立つ。
独自ダイヤグラム「レイヤー図」
VS2010の独自ダイヤグラムであるレイヤー図では、レイヤーの依存関係を図示する。また、それぞれのレイヤーに対して、VS2010のプロジェクトをドラッグ&ドロップして、レイヤーとプロジェクトを関連付けることも可能だ。その後、「アーキテクチャの検証」という機能を実行すると、プロジェクト間の依存関係がレイヤー図で定義された依存関係に反しているものはエラーとして出力される。この機能により、設計段階でのレイヤーアーキテクチャが、実装段階で順守されているかどうかを自動的に検証することができる。
使用方法や解説が豊富
VS2010の製品版が提供された場合、Visual Studioの既存ユーザー数が多いことやマイクロソフトの開発者支援サイト「MSDN」が提供されていることなどから、「オンラインでの情報収集がしやすい」というメリットが期待される。さらに同社によると、ハンズオンセミナーの開催、コードサンプルや勉強会キットの提供など、ユーザーが個別に学習を進められる環境も用意する予定だという。
差別化ポイントは「連携」「自動生成」
VS2010は、モデリングツールとして考えると「その機能の種類に物足りなさ」を感じるかもしれない。しかし、プログラム開発でよく使う図をサポートし、開発時の作業やプログラムとの関連を確保しながら利用することで、ほかのツールにはないトレーサビリティーを発揮することができる。
開発環境と密接に連携できる
従来、Windowsアプリケーションの開発にはVisual Studioが不可欠だったが、その設計段階では別のツールを使うことが一般的だった。VS2010にUMLモデリング機能が追加されたことで、Visual Studio単独でアプリケーションを設計することができる。さらに、別ライセンスであるサーバ製品「Microsoft Visual Studio Team Foundation Server」(以下、TFS)と組み合わせることで、モデルからソースコード、テストに至るまでの対応付けが可能となり、成果物や作業の一貫性、トレーサビリティーを保ちやすい。こうした点もツールを導入するメリットだといえる。
TFSとの主な連携機能
- WBS(作業分解図)などの作業項目と作成したモデルを対応付けられる
- ユースケースとテストなどのテスト項目と、作成したモデルを対応付けられる
- 作業項目とその担当者、対応ソースコード、変更セットなどを対応付けられる
- ソースコードとテスト項目・テストを対応付けられる
モデル自動生成対応言語
モデルやソースコードの自動生成など、ソースコードとの連携に対応している言語は、C#、VB.NETだ。これらの言語に対して、VS2010ではモデルからソースコードを生成したり(※)、ソースコードからモデルを生成したりすることが可能であり、モデルの修正とソースコードが同期する点もほかのモデリングツールにない魅力といえる。
※ コードの自動生成について、マイクロソフトはVS2010の標準機能ではなく、PowerToolというアドオンでの対応を計画している。
利用する際の課題
次に、VS2010におけるモデリング機能の課題を考える。
まず、VS2010を使ってモデリングする上では「モデルの関連線が直角にしか引けない」ことや「サポートしている図の種類が少ない」こと、「アクティビティー図の作成でレーンを書けない」ことなどの制約がある。例えば、アクティビティー図にレーンがない点は、このツールの対象がビジネスプロセスではなく、プログラムのシーケンスレベルに限定されているからだと考えられる。VS2010は現状、UMLモデリングの学習や高度なモデリングには向かない点がある。
その一方で、UMLを使った開発をこれから始める開発者にとっては「今回サポートされた図があれば、十分にUML開発が可能だ」ともいえる。VS2010ではマイクロソフトが想定するアプリケーション開発における開発プロセスを背景として、そこで必要となる図を最低限搭載したという印象を受ける。
また、プログラム開発環境としては無償版のExpressエディションも用意されているが、モデリング機能はUltimateエディションでしか利用できない。そのため、モデリングを中心に(またはモデリングだけを)行いたいユーザーにとっては、VS2010をモデリングツールとして使用するには不向きな点もあるだろう。今後、モデリングを中心に行う開発者のためのエディションが出ることを期待したい。
プログラム開発環境として多くの企業で利用されているVisual Studio。開発環境とモデリング環境の親和性の高さを考えると、このツールのモデリング機能は今後、脚光を浴びるだろう。
著者紹介
今田忠博(いまだ ただひろ)
株式会社豆蔵 BS事業部 コンサルタント
SIの現場でSE、PMを経験。SI現場で悲惨な体験をし、「現場を効率的にしたい」と2004年に豆蔵に移籍。アーキテクトやフレームワークの設計・実装、PM支援、要件定義コンサルタントなどの業務を経験し、「そもそも要求が間違っていると、その後いくらがんばっても幸せになれない」と理解する。現在、要求から設計、実装をつなぐ方法を模索中。現在はSilverlight業務アプリのフレームワークを設計・実装している。
著書に『Trac入門』(共著/技術評論社)、記事に『5分で絶対に分かるプロジェクト管理』(@IT)、『業務フローリファクタリング』(@IT)などがある。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
市場調査・トレンド
[AvePoint Japan株式会社] SCS評価制度の死角は“SaaSの中” クラウド標準機能では届かない領域とは? -
製品資料
[デジタルサーカス株式会社] 5分で分かる、「オープンソースCMS」比較ガイド -
製品資料
[デジタルサーカス株式会社] 1つのアプリを各国で運用 多言語モバイルアプリを簡単に開発・導入できる方法 -
製品資料
[ニュータニックス・ジャパン合同会社] 複雑化するKubernetes運用、VMとコンテナの二重管理を解消する方法は? -
市場調査・トレンド
[アルプス システム インテグレーション株式会社] 急増する高度なフィッシング詐欺 先回りしてブロックするには何が必要?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
Microsoft 365導入後も稟議は「Excelをメールで回覧」 承認が止まる理由
-
2
米国防総省で300万人分の個人情報が流出 その「意外な原因」と教訓
-
3
「Microsoft 365」が乗っ取られる MFAを破る“本物の画面”の恐怖
-
4
PHPはそもそも必要か? 脆弱性で問われる自社サイト安全性と保守負担のバランス
-
5
PHP脆弱性「PHP2Shell」で2260万件に影響 情シスの緊急チェックリスト
-
6
金融・通信で情報漏えいが続出 IPAとJPCERT/CCが情シスに求める緊急点検
-
7
「年1回の外部診断」が限界に 大手小売が脆弱性管理を内製化・一元化した方法
-
8
京王電鉄・東京メトロの被害から学ぶ境界防衛 ITの侵害はどこまで波及するか
-
9
PHP2Shellの「事前の情報流出」でパニックに パッチ公開を巡る“混乱劇”
-
10
Googleの業務向けAIエージェント「Gemini Agent」が登場 しかし課題は山積み
ホワイトペーパーランキング PR
-
1
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
2
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
-
3
経験豊富な即戦力人材に直接アプローチできる、「攻めの採用」への転換術
-
4
2026年のサイバーセキュリティには何が必要か? 最新データに学ぶ傾向と対策
-
5
「IT史に名を残すシステム障害」8選
-
6
「EDR」選定ガイド:比較・検討フェーズで整理すべきポイントを解説
-
7
10G回線の真価をフルに享受するには? 導入前にチェックしたいポイント
-
8
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
9
MDMだけでは防げない? Appleデバイスに潜む5つのセキュリティギャップ
-
10
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー