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.
関連記事
新着ホワイトペーパー PR
-
技術文書・技術解説
[ネットアップ合同会社] 金融庁ガイドラインから読み解く、「次世代データレジリエンス」の在り方 -
製品資料
[ネットアップ合同会社] 製造DXでデータ活用ニーズが拡大 分散データ活用とAI活用をどう実践する? -
製品レビュー
[ネットアップ合同会社] AIで使いたいデータが内外に点在、研究におけるAI活用を阻む“真の課題”とは -
製品資料
[株式会社kickflow] 稟議・承認作業の「脱オンプレ・脱Excel・ペーパーレス化」を一気に進める方法 -
製品レビュー
[株式会社kickflow] ワークフローシステムのクラウド化 “みんなが不幸になる”事態を避けるには?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「契約業務のAI活用」に関するアンケート
-
2
なぜ人はいるのにDXが進まない? ライオンも直面した“老害”レガシーシステム
-
3
半数がブルーカラー転向を視野に? ベテランエンジニアを追い込む“54歳の壁”
-
4
「データ活用とAI活用の実態」に関するアンケート
-
5
PHP脆弱性「PHP2Shell」で2260万件に影響 情シスの緊急チェックリスト
-
6
「年1回の外部診断」が限界に 大手小売が脆弱性管理を内製化・一元化した方法
-
7
障害対応に「余裕なし」が9割超 運用担当316人調査で見えた「運用赤字」
-
8
「Windows」の不要なファイルを安全に消して容量を空ける方法
-
9
被害額は過去最高額 それでも「サイバー犯罪者が捕まらない」3つの理由
-
10
IT製品の導入に関するアンケート「セキュリティ」編
ホワイトペーパーランキング PR
-
1
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
2
2026年のサイバーセキュリティには何が必要か? 最新データに学ぶ傾向と対策
-
3
経験豊富な即戦力人材に直接アプローチできる、「攻めの採用」への転換術
-
4
「IT史に名を残すシステム障害」8選
-
5
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
-
6
10G回線の真価をフルに享受するには? 導入前にチェックしたいポイント
-
7
AI駆動開発のスピードと安全性を両立 「品質・セキュリティ管理」の実践ガイド
-
8
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
9
「標的型攻撃メール」事例・サンプル集
-
10
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー