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
-
製品資料
[株式会社MatrixFlow] 「物流リソース最適化」ガイド:人員・配車・傭車を出庫依頼の確定前に決めきる -
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
2
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
3
なぜ「Gemini 4 Argon」は出遅れたのか? Googleが狙う“逆転のシナリオ”
-
4
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
5
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
6
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
7
「結局使わなくなる」Microsoft 365 Copilotを半年で定着 キリンの3施策
-
8
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
9
「中堅・中小企業のネットワーク・セキュリティ運用実態」に関するアンケート
-
10
情報漏えいはなぜ繰り返されるのか 今すぐ見直すべき「境界」
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
4
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
5
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
6
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
9
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
10
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー