UMLツール紹介:IBM Rational Software Modeler編
EclipseベースのUMLツール「IBM Rational Software Modeler」の導入メリットとは?
モデル駆動型開発を推進する上では、モデリング環境と開発環境との高い親和性が求められる。今回はEclipseベースのモデリングツール「IBM Rational Software Modeler」の特徴的な機能を紹介する。
Rational Roseの後継製品「IBM Rational Software Modeler」
今回はIBMが提供するモデリングツール「IBM Rational Software Modeler」(以下、RSM)を紹介する。読者の中には、米Rationalの「Rational Rose」をご存じの方も多いだろう。そのRationalが2003年に米IBMに買収されたことで、Rational RoseはUML1.4対応のバージョンで開発を終了し、UMLモデリングツールとしての役割をRSMなどに引き継いだ(※)。RSMの最新バージョンは2009年11月末現在で「7.5.4」だ。
(※)IBM Rational Rose XDE製品群を含む。
Eclipseベースであることのメリットとは?
これまで紹介したツールとRSMとの違いは、RSMがJava開発などで広く使われているオープンソースの統合開発環境「Eclipse」をベースに作られていることだ。また、Eclipseには多くのプラグインが提供されている。RSMはこれらを用いることで、構成管理ツールや要求管理ツールといったさまざまなツールとの連携も可能だ。
EclipseのUIに準ずる
RSMのユーザーインタフェース(以下、UI)は、基盤となるEclipseが提供するデザインビューやパースペクティブなどに統一される。このため、Eclipseユーザーならその操作方法の習得に時間は掛からないだろう。しかし、既存のRoseユーザーにとっては操作方法が異なる点もあり、戸惑うことも多いかもしれない。
開発環境にモデリング環境が組み込まれることの効果
ここで「モデリング環境に開発環境が組み込まれている」場合と「開発環境にモデリング環境が組み込まれている」場合の違いを考えてみる。
前者の場合、モデリング環境と開発環境はモデルから生成したソースコードで連携することになる。その際、生成されたソースコードを開発環境で変更することになるが、その変更はモデル側には反映されず、結果的にモデルとコードが乖離(かいり)することもある。これは開発の現場では多く見られる問題だ。
それでは後者の場合はどうだろうか。前者と比べて、モデルとソースコードの距離は「より近くなる」といえる。例えば、モデルから直接ソースコードを編集したり、ソースコードの変更を動的にモデルへ反映できる。また、モデル上からアプリケーションの実行も可能になる。このように「モデル駆動開発の実践が容易になる」点も後者のメリットだといえる。
エンタープライズ分野に重点を置くツール
RSMはUML2.1に対応しており、以下のダイヤグラムをサポートしている。
| ダイヤグラム名 | 対応状況 | 備考 |
|---|---|---|
| クラス図 | ○ | ― |
| オブジェクト図 | ○ | ― |
| パッケージ図 | ○ | クラス図にて作成 |
| コンポーネント図 | ○ | ― |
| 合成構造図(コンポジット構造図) | ○ | ― |
| 配置図 | ○ | ― |
| ステートマシン図 | ○ | ― |
| アクティビティ図 | ○ | ― |
| シーケンス図 | ○ | ― |
| コミュニケーション図 | ○ | ― |
| タイミング図 | × | ― |
| 相互作用概要図 | × | ― |
| ユースケース図 | ○ | ― |
RSMは主に組み込み系で使われるタイミング図には対応していないが、通常用途には十分な機能を備えているといえるだろう。また、RSMはビジネスプロセスモデリング表記法「BPMN 2.0」やサービスモデリング手法「SoaML」などにも対応する。さらに、エンタープライズ系システムのアーキテクチャモデリング手法「UPIA(UML Profile-Based Integrated Architecture)」を提供しており、そのモデリング要素も搭載されている。このように、RSMは「エンタープライズ系により重点を置いているツール」といえる。
日本語の入力は問題なし
RSMではダイヤグラム要素の日本語名など、モデリング過程における日本語入力については問題ない。しかし、リポート出力については「日本語のクラス名の右側が切れてしまったり、日本語が文字化けする」という現象が発生した。日本語での出力については注意が必要だ。また、UIやヘルプの日本語化も行われているが、ヘルプの詳細をたどると英語の文書も存在する。
マウス操作を中心としたモデリングの利点と欠点
一般に、モデリング操作ではマウスを使用することが多い。RSMではマウスのカーソル位置に応じて、その個所に追加できる要素がバルーン表示される。このため、ツールボックスを使用することなく、少ないマウス操作で素早く編集することができる。ただ、マウスカーソルの位置によって表示されるバルーンが違ったり、時間が経過するとバルーンが消えたりするので、慣れないユーザーは使いにくさを感じるだろう。
例えば、クラス図においては、クラスの内部にマウスカーソルを置くと関連線や属性などのバルーンが表示され、クラスの外部にマウスカーソルを置くとツールボックスのバルーンが表示される。このため、クラスの境界を調整するために細かなマウスの移動操作が必要となる。また、途中でバルーンが消えてしまうこともあり、配置する要素を選択するに手間取ることもある。この入力方式の欠点ともいえるだろう。
RSMにおけるクラスの要素のプロパティは、バルーンとは別にプロパティビューに表示される。また、プロパティ編集に対してはキーボードショートカットが用意されていないため、その属性や操作を編集するたびにマウス操作が必要となる。
上位ツールとの連携でMDAを実現する
RSMは上位ツールである「IBM Rational Software Architect」(以下、RSA)と連携することで「モデル駆動型アーキテクチャ」(以下、MDA※)を実現する機能を備えている。RSAにはこのツールのほかにも「IBM Rational Application Developer for WebSphere Software」が含まれており、主にエンタープライズ系アプリケーションのMDAを支援する。
(※)MDA(Model-Driven Architecture):プラットフォームに依存しないモデルをツールによって実行可能なソースコードを自動生成する開発手法。
| 製品名 | 概要 |
|---|---|
| IBM Rational Software Architect | モデルtoモデル、モデルtoコード、コードtoモデルのトランスフォーメーションを定義し、MDAの仕組みを提供する |
| IBM Rational Software Modeler | 今回紹介しているツール。UML2.1などのモデリング環境を提供する |
| IBM Rational Application Developer for WebSphere Software | Webサービス、SOAなどのエンタープライズ系アプリケーションの開発環境 |
MDAでは、抽象度の高いプラットフォーム独立モデル(PIM)をトランスフォーメーションに従ってプラットフォーム固有モデル(PSM)に変換し、そのソースコードまでを変換する。RSAによってトランスフォーメーションを正しく定義することで、抽象度の高いモデルから実行コードを生成でき、生産性の高い開発が可能となる。
RSAツール群ではRSAがトランスフォーメーションを実施するため、RSM単体ではソースコード生成やリバースエンジニアリングを行う機能は提供されない。ただし、後述するプラグレットの開発環境を利用することで機能拡張が可能だ。
プラグレットによる機能拡張
RSMでは「プラグレット」と呼ばれる機能拡張の仕組みを提供している。プラグレットはRSM上で動作するアプリケーションで、モデル要素を参照する機能を備えている。これにより、ソースコード変換やモデル検査などを容易に実施できる。プラグレットはJavaで開発でき、モデル要素へのAPIもヘルプ上に公開されている。このため、Java開発者であれば開発はしやすいであろう。このほか、RSMと連携させるEclipseプラグインを開発することでプラグレット以上の機能拡張を行うことも可能だ。
過去の資産の有効活用
RSMではRational Roseのモデルファイルをインポートできる。実際にRoseのMDLファイルおよびPTLファイルをインポートしてみた。クラスの属性、操作についてはコメントも含めて正しくインポートできた。しかしながら、ダイヤグラム上の配置はオリジナルからずれてしまい、あらぬ方向に関連線が引かれてしまうなどの問題もあったので、インポートしたモデルは確認することが必要だ。ただ、これまでRoseを使用した開発を行っていて、その資産を活用したい場合には有効だといえる。
モデリングツールとしては高価?
RSMには「制限ユーザーライセンス」と「フローティングライセンス」の2種類のライセンスが用意されている。制限ユーザーライセンスが28万7500円、フローティングライセンスが49万7700円という価格設定だ(1ライセンス当たりの税込み金額)。モデリングツール単体の製品価格としては比較的高価だといえる。
しかしながら、Roseの資産を活用したい場合やEclipseベースのモデリング環境を構築する場合などには、RSMはその導入を検討する価値がある機能を十分に備えている。また、MDAを検討している場合にも導入検討の対象となるツールだ。
<著者紹介>
大国征司(おおくに せいじ)
株式会社 豆蔵 ES事業部 コンサルタント
宇宙系システムの組み込みソフトウェア開発現場にてモデルを中心とした開発プロセスの構築に携わり、その後豆蔵に入社。現在は開発プロセスやモデル駆動開発の導入支援を行っている。「楽するツール」作りが好き。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「データストレージの活用方法」に関するアンケート
-
4
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
5
本当に安いPCで十分か? “すぐ重くなる”を防ぐノートPC選びの絶対条件
-
6
Claudeの不可視透かしに批判殺到 著作権消失や誤判定に潜む企業リスク
-
7
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
8
221人調査で分かった「情シス最大のストレス」は?
-
9
LLMの「過学習」、正しく説明している文章はどれ?
-
10
レガシー基幹システムをSAPに統合 山善が突き止めた「標準化と個別最適」の境界線
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー