UMLツール紹介:JUDE編
最も利用されているモデリングツール「JUDE」。その理由とは?
35万人を超える登録ユーザー数を持つ「JUDE」シリーズ。日本発のこのツールが広く利用されている理由とは一体何だろうか? 今回はJUDEの機能の特徴とともにその理由を考察する。
開発者の利便性を追求したツール
2009年10月現在、「JUDE」シリーズの登録ユーザー数は35万人(※)を超えており、世界でも利用者の多いツールの1つだ。永和システムマネジメントの平鍋健児氏(現:チェンジビジョン代表取締役)が「開発者が必要とする機能を持つツールを作ろう」と開発に着手したことがきっかけとなり、当初は「Jude」という名称で公開された。1999年に商品化されて名称が大文字のJUDEに変更された後、チェンジビジョンが開発および販売を継続している。JUDEはその誕生の背景からも分かるように「開発者の利便性を追求したツール」だといえる。
※ 無償版を含む。チェンジビジョン「JUDEメンバーズ世界分布マップ」より。
| 製品名 | 機能 |
|---|---|
| JUDE/Community | 無償のUMLモデリングツール |
| JUDE/Professional | システム設計支援ツール |
| JUDE/Share | 情報共有アプリケーション |
| JUDE/Biz | 内部統制のための文書作成支援ツール |
| JUDE/Think! | マインドマップ描画ツール |
本稿では、UMLツールである「Community」「Professional」「Share」について解説する。
JUDEはUMLのバージョン2.1に対応しており、以下の種類のダイヤグラムを描くことができる。
| ダイヤグラム名 | 対応状況 | 備考 |
|---|---|---|
| クラス図 | ○ | |
| オブジェクト図 | ○ | クラス図に作成 |
| パッケージ図 | ○ | クラス図に作成 |
| コンポーネント図 | ○ | |
| 合成構造図(コンポジット構造図) | ○ | |
| 配置図 | ○ | |
| ステートマシン図 | ○ | |
| アクティビティ図 | ○ | |
| シーケンス図 | ○ | |
| コミュニケーション図 | ○ | |
| タイミング図 | × | |
| 相互作用概要図 | × | |
| ユースケース図 | ○ |
相互作用概念図とタイミング図には対応していないが、通常の開発に必要十分な表記法に対応している。また、UML以外のダイヤグラムが充実している点も特徴の1つだ。
群を抜いた日本語への対応
JUDEの日本語への対応は、UMLツールの中で群を抜いている。例えば、ダイヤグラムの要素の名前を1つ取ってみても、OMG(Object Management Group)の「UML2.0仕様書」およびUMTP(UMLモデリング推進協議会)の「用語標準(日本語訳)」に準拠している。そのため、「OCUP」や「UMLモデリング技能認定試験」の受験者が、試験対策として参考にすることも可能だ。また、適切な用語が使用されているため、初めてUMLを導入する環境でも受け入れられやすいだろう。
スムーズな操作性
チェンジビジョンのWebサイトでは、JUDEを「設計支援ツール」と紹介している。そう紹介されているように、UMLモデリングツールというよりは設計支援ツールとして作り込まれている感がある。ほかのUMLツールに比べると、少ない操作手順でモデルを描くことができ、「頭の中で描いていたモデルをストレスなく描いていくこと」を可能にしたツールだといえる。そのため、一度JUDEを使ってしまうと、その快適な操作感が忘れられなくなる利用者も多い。開発プロジェクトの公式ツールがほかのツールであっても「考えを整理してモデル(形)にする」というモデリング過程ではJUDEが使われることもある。
基本的なモデルがスムーズに描画可能
JUDEでは、ほかのツールではよくある「ダイヤグラムへの要素追加のたびに[プロパティ]が開き、入力を終えたらそれを閉じる」という操作を必要としない。例えば、クラス図を描く際、そのクラスを置くとクラス名がすぐに編集可能状態になるので、そのまま名前を書いて終了することができる。
このような感覚は、ほかの図や要素でも同様だ。シーケンス図を描く場合でも、ライフラインのない所からメッセージを引けば、自然と拾得メッセージを描くことができる。また、ネストした実行指定からメッセージを引き始める場合でも、“マウス操作で絵を描くよう”に思い通りの実行指定からメッセージを描き出すことができる。このような直感的な操作ができるツールは意外と少ない。
より付加的な操作サポートも提供
また、利用者にとって“ちょっと便利な機能”が用意されているのが特徴だ。例えば、あるクラスの属性や操作をドラッグ&ドロップしてほかのクラスに移動させることができたり、[Ctrl]キーを押したままマウスホイールを操作することによってその図を拡大/縮小させることができる。
ヒューマンコミュニケーションの課題解決にも役立つ
ソフトウェア開発において、UMLによる設計手法が積極的に使用され始めたのは2000年代に入ってからだといわれている。実際の開発現場では、これまで培ってきた独自の知識や経験を基に、UML以前のダイヤグラムを用いて分析/設計している開発者が多く存在する。そうした開発者がすぐにUMLのみの開発に移行するのは難しいだろう。
JUDEでは従来用いられてきたダイヤグラムを積極的に取り入れることで、スキルの異なる開発者同士のコミュニケーションをつなぐことができ、「開発現場におけるヒューマンコミュニケーションの課題」を解決することも可能だ。
JUDEは「ER図」「フローチャート」「DFD」などの既存ダイヤグラムをUMLに変換する機能を備えている。これまで蓄積された知識などの既存資産をUMLに変換し、それらを基にソフトウェア開発へとつなげていくことも考えられる。
また、最近注目されている「マインドマップ」にも対応している。単にマインドマップが描けるだけではなく、マインドマップからクラスなどのUML要素を生成したり、クラスをマインドマップ上にドラッグ&ドロップして、マインドマップの枝に追加することもできる。こうした「UMLとマインドマップの連携によって、分析のための思考を支援する」点は、新しいアプローチだといえる。
チーム開発への対応
ここからは、チーム開発に役立つ機能を幾つか紹介する。
主なチーム開発支援機能
プロジェクトマージ
モデルの簡易比較
参照プロジェクト設定
別名定義
ブラウザからの参照およびコメント
「プロジェクトマージ」機能は、複数に分岐させたプロジェクトファイルをマージさせる機能だ。実際に使ってみると、マージ性能が高く、自動マージできないパターンを見つけることができなかった。また、目視で差分を選択しながらマージする場合には、次に紹介する「モデルの簡易比較機能」を起動させることで、ダイヤグラムを比較表示しながら判断することができる点が優れている。
「モデルの簡易比較」機能は、同じベースバージョンから分岐させた2つのファイルを比較するときに便利な機能だ。異なっている項目をリストとして表示するだけでなく、ダイヤグラム同士を比較して、その中から追加、削除、更新のある部分を色付け表示してくれる。先述したように、プロジェクトマージ機能からも起動可能でプロジェクトファイル同士の比較に利用できる。
「参照プロジェクト設定」は、複数人で作業を分担する開発を支援する機能だ。あらかじめファイルを分割した状態で複数のプロジェクトファイルを作り、それらのファイル間に参照関係を設定する。この設定により、ほかの作業者のモデルの参照のみを可能にすることができる。また、ほかの作業者のファイルが変更されると、自分のファイルにも反映される。
「別名定義」機能は、オフショア開発で役立つ機能だ。ほかのUMLツールでは2つの名称を付けることができるが、JUDEではこの機能により3つの名称に対応する。例えば、日本でシステム設計モデルを作って、外国に実装を依頼する場合など、「日本人が理解しやすい名前」+「英語の実装名」+「実装国の言語による名前」を切り替えできる。これにより、言語の違いを意識することなくコミュニケーションを円滑に図ることができる。また、JUDEでは、関連名や関連端名やNoteといったかなり細かい単位で別名を付けることができる。こうした別名定義は、レビュー時の理解を早めるのにも役立つだろう。
また、「ブラウザからの参照およびコメント」機能によって、Webブラウザ上でモデルを共有化してコメントを付けることができる(※)。そのため、モデルをレビューしたり、モデルに対する質疑応答をしたりするのに適している。この機能は、チェンジビジョンのWebサイトからJUDE/Shareデモサイトを利用することで実際に体験することができる。
※ JUDE/Share版の機能。
チーム開発で使えるライセンス体系の利点
JUDEをチーム開発で利用する際には、ライセンス上の利点が2つある。1つは「無償版(JUDE/Community)が存在する」ことだ。有償版で作成したモデルをほかの企業で実装してもらう際、無償版をビュワーとして利用してもらうことができる。もう1つは「コーポレートライセンスの利用許諾が開発に協力している企業にも認められている」ことだ。複数の企業が共同して設計を行う場合、ほかの企業にも自社のコーポレートライセンスを利用してもらうことが可能だ。各企業の開発環境の差異を吸収することもでき、チーム開発での導入がしやすいといえる。
必要最低限のコード生成機能にとどまる
JUDEでは先述したように“ヒューマンコミュニケーションの課題を解決する”ものとしての価値を求めており、コード生成機能は必要最低限にとどまっている。以下の言語でのテンプレート生成とコードからのリバースが可能だが、それ以外は現在未対応だ。
JUDE対応言語
Java、C++、C# (※ ただし、C++とC#のリバースはサポート対象外)
その代わり、JUDEでは対応APIが公開されており、コード生成や状態遷移表の出力などのサンプルプログラムをJUDEのコミュニティーサイトからダウンロードできる。また、これらのAPIを利用して、ユーザー自身がモデルからのコード生成、変換、出力などのプログラムを作成することも可能だ。
モデルから実装コードに出力して、再び実装コードからモデルにリバースしたいユーザーにとっては、JUDEの基本機能は物足りないと感じるかもしれない。そうしたユーザーは、自分でその機能を作り込むことになるだろう。
製品体系を転換し、さらに幅広い用途へ
チェンジビジョンは2009年9月、商品名をJUDEから「astah*(アスター)」へと変更することを発表した。新しい名称はアスタリスクから取ったもので「いろいろなものを描けること」を意味しているという。ここから分かるように「開発者が求めるもの、開発現場のコミュニケーションに活用できるものを今後も取り込む」という開発元の姿勢がうかがえる。
<著者紹介>
小黒登行(おぐろ たかゆき)
株式会社 豆蔵 ES事業部コンサルタント
金融・流通系のシステム開発の現場でCOBOLを中心とした開発を経験した後、半導体製造装置メーカーで約8年間C/C++言語を使用した組み込みソフトウェア開発に携わり、その後、豆蔵へ入社。現在、オブジェクト指向技術をベースとしたUMLモデリング・開発プロセスの導入支援を行っている。「楽をするための苦労」「家庭を大切にできる現場づくり」が信条。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品レビュー
「電子帳簿保存法対応」実践術:タイムスタンプ付与などの要件の手軽な実現方法 -
事例
「大企業のデジタル化」成功事例集【コクヨ、九州電力、ヨネックスなど21社】 -
製品資料
“顧客管理の課題”を簡単に解決する方法とは? -
製品資料
契約管理の“あるある課題”をノーコード開発で解決するためのポイント -
製品資料
揺らぐ境界防御 いま企業が特に警戒すべき「3つのセキュリティ課題」とは?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
Microsoft製品でここまで自動化できる 情シスがやめられる手作業10選
-
2
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
3
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
4
継続利用は4割どまり M365 Copilotが「効く業務」と期待外れの境界
-
5
画面をティッシュで拭くのはNG Dellが推奨するPCの正しいお手入れ方法
-
6
Oracle巨大ITプロジェクトはなぜつまずいたのか 8年で導入1割、追加で170億ドル
-
7
VDI運用の“生きたノウハウ”を共有 歴史あるユーザー会の魅力とは?
-
8
メインフレームは死なず AI活用で20年来の高収益をたたき出す基幹システムの底力
-
9
VMware離れを食い止めるか? 今「VCF 9.1」が再評価される理由
-
10
「GitHub Copilot」3000人に配布も基本機能しか使われない 保険大手が得た教訓
ホワイトペーパーランキング PR
-
1
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
2
AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
-
3
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
4
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
5
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
6
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
7
「結局、一部の人しか使わない」 AI活用が業務に定着しない根本的な理由
-
8
AIエージェントで成果は出る? 調査結果に見る費用対効果の実態
-
9
PostgreSQLの「機能」「性能」「運用」「拡張性」に関する悩みの解消法
-
10
ゼロトラストにおける「IDaaSの課題」と補完すべき重要機能とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー