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
-
技術文書・技術解説
[Jamf Japan 合同会社] MDMだけでモバイルセキュリティは十分? 不足する対策を16項目でチェック -
事例
[Wrike Japan 株式会社] 世界的な家電メーカーが実践する「クリエイティブプロセス効率化」の方法とは? -
事例
[Wrike Japan 株式会社] 世界的テクノロジー企業に学ぶ、プロセス標準化とプロジェクト納品自動化の秘訣 -
事例
[Wrike Japan 株式会社] ソニー・ピクチャーズ テレビジョンに学ぶ、次世代サービスデリバリーのヒント -
事例
[Wrike Japan 株式会社] ソミック石川に学ぶ、ICT浸透後に直面した「工数管理」の課題と解決策
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
脱VMwareの前提が崩れる BroadcomのVDDK公開停止で確認すべき点
-
2
膨らむAIコストに歯止め GitHubのマルチモデルルーターは何が違うのか
-
3
「データストレージの活用方法」に関するアンケート
-
4
AI全部入り「Microsoft 365 E7」に企業が二の足を踏む訳 移行意向はわずか4%
-
5
Anthropicが明かす AIは入力データを「どこまで覚えているのか」
-
6
「にゃんこ大戦争」インフラ“大引っ越し”の理由 なぜAWSからGoogle Cloudに?
-
7
「Microsoft一択」で本当にいいのか 知らぬ間にライセンス費用が膨らむ真相
-
8
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
9
「Microsoft 365」が乗っ取られる 跡形もなくMFAを破る手口
-
10
自社製半導体だけでは限界? AmazonがQualcommに9兆円超を託す真意
ホワイトペーパーランキング PR
-
1
マンガで解説:「ゼロトラスト」「SASE」の必要性とメリット
-
2
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
3
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
4
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
5
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
6
国税庁の次世代基幹システム「KSK2」稼働開始に向けて、対応すべき変更点とは?
-
7
5分で分かる「セキュア大容量ファイル転送サービス」の機能とメリット
-
8
ドラマで分かる、標的型攻撃メールの被害を受ける企業と回避できる企業の分岐点
-
9
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
10
少額減価償却資産が40万円未満へ拡大、令和8年度税制改正で押さえるべき変更点
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー