UMLモデリングツールから設計支援ツールへ
C#にも対応、カスタマイズ性もアップした「JUDE/Professional 5.3」
モデリングに必要な基本的な機能を備えた「JUDE」の新バージョンが2008年6月末にリリースされた。実際に追加された機能を試してみた。
かつてUML(Unified Modeling Language)モデリングツールであった「JUDE」は、ER図(Entity Relationship Diagram)やDFD(Data Flow Diagram)などUML以外のモデルをサポートするシステム設計支援ツールに進化している。2008年6月末にリリースされたばかりの新バージョン「JUDE/Professional 5.3」の魅力をひも解いていこう。
モデリングツール「JUDE」とは
ソフトウェア開発におけるモデリングの重要性は既に広く認識されており、モデリング言語としてデファクトスタンダードであるUMLを用いたモデリングツールが複数のベンダーから発売され、広く利用されている。
現在発売されているモデリングツールの傾向は、大きく2つの方向性に分かれている。1つはモデルからコードを生成するモデル駆動開発(MDD:Model Driven Development)をサポートし、厳密なUMLモデルを作成する機能に注力する製品。もう1つは、UMLを開発者同士、顧客と開発者など「人と人」のコミュニケーションツールととらえ、モデルの表現力やモデル作成の容易さに注力する製品だ。今回紹介するJUDE(開発元:チェンジビジョン)は明確に後者の方向性を志向した製品といえる。
他製品と比較してJUDEが持つ特徴的な機能を紹介する。
簡単な操作方法と高い表現力
JUDEはほとんどの操作をマニュアルを読まずに習得できる。直感的なユーザーインタフェース(UI)に加え、モデル要素に色を付けるなど高い表現力を持っている。
UML以外の図を作成可能
マインドマップやER図、DFD、フローチャート、CRUDなど、UMLではサポートされていない図をサポートしている。UML以外の図要素からUMLのモデルを導出、関連付けるなどの連携機能を有しており、システム設計の流れにおいて、UMLをうまく活用できるように工夫されている。
JUDE APIによるカスタマイズ
公開されているJUDE APIを用いることにより、ユーザーが自分にとってより使いやすいようにJUDEをカスタマイズ可能だ。
ほかにもいろいろな特徴があるが、そのほとんどは「どうしたら設計意図をうまく人に伝えられるか」「どうしたらユーザーにとってより使いやすいツールとなるか」という方向性に基づいている。
JUDE/Professional 5.3で追加された3つの機能
ユーザーの声を反映して頻繁にバージョンアップが繰り返されるJUDEだが、2008年6月末に新バージョンである5.3がリリースされた。
バージョン5.3では、「C#対応」「DBからのテーブル定義インポート」「編集API公開」という3つの機能が追加された。それぞれの機能について実際に使用した感想を述べる。
C#対応
今までJUDEでは、モデルからスケルトンコードを出力する機能はJavaのみに対応していた。バージョン5.3からC#にも対応し、C#のスケルトンコード出力が可能となった。.NET開発に携わるユーザーにとってはうれしい機能追加であろう。
ではここで、クラス図からC#のスケルトンコードを生成する手順を紹介しよう。JUDEからC#のスケルトンコードを出力するには、プロジェクトの言語設定で「C#」を指定する必要がある。
例として、まず簡単なクラスBookとAuthorを作成してみよう。クラスBookの属性にC#の定義を反映する方法は簡単だ。図1のように対象の属性を選択した状態で、表示されるプロパティビューの「言語」タブでC#チェックボックスをオンにすることで、C#特有の設定を行うことができる。操作についても同様の方法でC#特有の設定を行うことが可能だ。
スケルトンコードを出力するには、メニューから[ツール]-[C#]-[C#スケルトンコード]を選択する。表示されるフォルダ選択ダイアログでスケルトンコードの出力先フォルダを指定すると、図2に示すような出力対象のクラスを選択するダイアログが表示される。スケルトンコードを生成したいクラスを選択リストに移動し「適用」ボタンを押下すると、選択リスト中のクラスに対するコードが生成される。
実際にやってみると、以下のコードが生成された。
クラス図における操作、属性、関連の定義からC#のスケルトンコードが出力されているのが分かる。
編集APIの公開
JUDEでは、ユーザーがより使いやすくするためにJUDEをカスタマイズする手段としてJUDE APIが公開されている。前バージョンまではJUDE APIを用いてモデルを参照することが可能であったが、モデルの編集を行うことはできなかった。バージョン5.3では編集APIが公開され、モデル編集を行うようなカスタマイズができるようになった。
実際のカスタマイズ方法については説明が長くなるのでここでは紹介しないが、例えばRubyなどのソースコードからモデル生成を行うことも可能だろう。RubyとJUDEを連携させるツール「LuRuJu」のように、開発元とは直接関係のないエンジニアがJUDE APIを用いてツールを開発、公開している例もあり、今後の展開が楽しみだ。
データベースリバース機能
データベーステーブルの定義からJUDEのER図を生成するデータベースリバース機能は、実は、先ほど説明した編集APIを用いて開発されている。本機能のソースコードは「JUDEのインストールフォルダ\API\Sample\db_reverse」に格納されており、JUDE APIの利用方法の習得にも活用することができる。
データベースリバース機能は、JDBCドライバを用いてデータベースの定義を読み込み、JUDE APIを用いてER図を生成する仕組みになっている。
チェンジビジョンのサイトにデータベースリバース機能の動作確認手順が示されているので、実際に動作させてみた。
※参照先:「JUDE/Professional 5.3の新機能」DBリバースコンポーネントの解説ページ
まず、確認手順で紹介されている確認用データベース環境構築を行う必要がある。確認手順では、HSQLDBというツールを用いている。手順ではバージョン1.0.8.9を使っているが、最新版のバージョン1.0.8.10で試したところ、問題なく動作した。確認用データベース環境構築は手順通りコマンドを実行すると簡単に完了することができた。
次に、データベースリバース機能を起動すると図3の画面が表示される。
手順に従って画面を操作すると、result.judeというJUDEプロジェクトファイルが出力される。出力されたプロジェクトを開くと、図4のように確かにエンティティが生成されている。
ER図を新規作成し、テーブルA、B、Cを図にドラッグ&ドロップすると図5のようなER図が完成する。
ここまでの手順を実際に確認してみたが、とても簡単にER図を生成することができた。既存のデータベースを利用したアプリケーションを設計する際は、データベース定義からER図を生成し、JUDEのエンティティ-クラス変換機能でスムーズにエンティティに対応するクラスを追加可能だ。
筆者は長い間、JUDEというツールに注目しているが、ユーザーの声を聞いて継続的に機能を改善していくというJUDEの開発姿勢に共感している。JUDEのバージョンアップのリリースノートを見ていると、ここ2年ばかりの間に多くの機能が追加、改善されていることが分かる。新しい図が追加されるなどの派手なバージョンアップはないが、編集APIの公開、C#対応など今後のJUDEの方向性を示した重要な内容になっているといえるだろう。特に編集APIの持つ可能性は大きく、開発元として編集APIを用いた便利なツールの提供や、ユーザーが自らカスタマイズするためのサンプル提供などによる支援を期待する。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
「Microsoft 365のセキュリティ運用」に関するアンケート
-
3
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
4
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
5
221人調査で分かった「情シス最大のストレス」は?
-
6
「Salesforceのテスト自動化ツール」に関するアンケート
-
7
「データストレージの活用方法」に関するアンケート
-
8
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
9
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
10
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
ホワイトペーパーランキング 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ジャパンをフォロー