UMLツール紹介:Enterprise Architect編
汎用的なモデリング機能を網羅するUMLツール「Enterprise Architect」
オブジェクト指向での開発を支援するモデリング表記方式である「UML」。本連載では、UMLモデリングを支援する主要なツールを紹介していく。今回はスパークスシステムズジャパンの「Enterprise Architect」を取り上げる。
主要なUMLツールを紹介する
オブジェクト指向によるモデリングを行う際に用いられる表記方式であるUML(統一モデル記述言語)は、ソフトウェアの設計だけでなく、業務分析やビジネス設計にも利用されている。本連載では、UMLモデリングを支援する主要なツールを紹介していく。各ツールの機能概要やほかのツールにない長所(差別化ポイント)を取り上げるだけでなく、短所とも取れる内容にも触れる予定だ。
<評価項目>
- 対応UMLのバージョン
- 作成できるダイヤグラム(図表)の種類
- コード生成機能の詳細
- 日本語対応の有無
EAが受け入れられる要因
Enterprise Architect(以下、EA)は、オーストラリアのSparxSystemsが開発し、1998年から販売しているUMLモデリングツールだ。日本ではスパークスシステムズジャパンが日本語化とそのサポートを行っており、2005年から日本語版が販売されている。
EAはエンタープライズ系や組み込み系などの分野を問わず、多くの企業で利用されている。その最新バージョンは2009年8月時点で「7.5」。モデリング機能のみのデスクトップ版1万7325円から、すべての機能が活用できるアルティメット版9万8700円(いずれも税込み)まであり、そうした価格体系も、多く利用されている要因の1つといえるだろう。
EAはUMLのバージョン2.1に対応しており、以下の種類のダイヤグラムを描くことができる。
| ダイヤグラム名 | 対応状況 | 備考 |
|---|---|---|
| クラス図 | ○ | |
| オブジェクト図 | ○ | |
| パッケージ図 | ○ | |
| コンポーネント図 | ○ | |
| コンポジット構造図 | ○ | |
| 配置図 | ○ | |
| ステートマシン図 | ○ | 状態遷移表形式に変換可 |
| アクティビティ図 | ○ | |
| シーケンス図 | ○ | コミュニケーション図と相互変換可能(アドインを利用) |
| コミュニケーション図 | ○ | シーケンス図と相互変換可能(アドインを利用) |
| タイミング図 | ○ | |
| 相互作用概要図 | ○ | |
| ユースケース図 | ○ |
これらのダイヤグラムに加えて、フローチャートやDFD(データフローダイヤグラム)といった構造化手法で使われるダイヤグラム、「SysML 1.1」(システムエンジニアリング版以上)、「BPMN 1.1」といった表記法のダイヤグラムも扱うことができる。
また、「XMI」(UMLで書かれた図をツール間で交換するための共通フォーマット)にも対応しているため、ほかのXMI対応のUMLモデリングツールとの間でファイルのインポート/エクスポートも可能だ。さらに、UML仕様以外の部分でのダイヤグラム作成機能としては、モデル要素の色やフォントの変更だけでなく、別名定義(※1)やタグ付き値(※2)の設定、外部ファイルやWebページへのハイパーテキストリンクにも対応する。
そのほか、メニューの項目や表示されるメッセージはすべて日本語化されており、ダイヤグラムの要素に対する日本語入力も問題はない。
※1 別名定義(1つの要素に「日本語名」と「英語名」のように2つの名前を付けて表示切替が可能)
※2 タグ付き値(タグと値の組をモデル要素に対してユーザーが自由に付加することができる)
汎用的な機能を網羅する
UMLモデリングツールには作成されたモデルの持つ情報を利用する機能が搭載されているが、EAにもそうした機能が多数用意されている。
代表的なものを列挙すると、関係マトリクス(任意のモデル要素間の関係の有無を表形式で可視化したもの)の生成、RTFやHTML形式などのドキュメント生成、要素数などメトリクスの計測といったものが挙げられる。
さらにEAでは、モデルを利用したソースコードの生成も可能だ(プロフェッショナル版以上)。
EA対応プログラミング言語
Java、C#、C/C++、PHP、Python、Visual Basic、VB .NET、ActionScript、Delphi
特に、C言語に対応している点は「UMLを使ってみたいが、開発で使っているのが非オブジェクト指向のC言語であるために導入をためらっている」という組み込み系での利用に適しているといえる。
EAで生成されるソースコードは、モデルに記述した内容とソースコードの生成ルールによって決まる。また、メソッドの中身が入らないスケルトンコードレベルでも、メソッドの中身が入った実行可能なものも生成することができる。さらに、このソースコード生成ルールは独自にカスタマイズできる。この機能を活用して、自社のコーディング規約に準じるように修正したり、新しいプログラミング言語に対応したりといったことも可能だ。
EAの特徴
次に、ほかのツールとの差別化ポイントといえるEAの特徴的な部分を紹介する。
ほとんどのUML仕様を網羅する
まず「UML仕様への徹底した対応」が挙げられる。冒頭のEA対応ダイヤグラムの表ですべてのダイヤグラムに「○」が付いていることからも分かるように、EAはUML仕様で定義されているほとんどの内容に対応している。
それこそ、多くのモデリングツールでは省略されている“重箱の隅”のようなUML仕様にも対応している。また、UMLの仕様として定義されている表記ルール自体もツール内に作り込まれているため、UML仕様で許されていない表現でモデルを描こうとすると警告が出る。もちろん、そうしたルールチェックを回避して自由にモデルを描くこともできる。
こうしたことから、EAは「UML仕様に準拠したモデルを作りたい」「UMLの表記を隅々まで使いこなしたモデルを作りたい」という要求にも対応するといえる。
利用用途の幅広さ
EAは非常に多くの機能を持っており、「UMLを使用したシステム開発に必要とされる機能はほとんど入っている」と実感している。そのため、EAは「個人的なUMLの学習から、複数のメンバーでモデル作成や共有を行う実際のシステム開発」までの幅広い用途をカバーするといえる。
また、必要とする機能が見当たらなければ、アドインを作成するという選択肢も用意されている。アドインの作成方法は公開されており、EAのサイトでは開発元やEAユーザーによって作成されたアドインが多数公開されている。その中にはソースコードが公開されているアドインもあるため、アドイン開発を始めるためのハードルは低いといえる。
充実したサポートの存在
EAのツールの特徴というわけでないが「サポートが充実している」こともEAの良い点だといえる。具体的には「バグへの対応の早さ」と「訪問セミナー」だ。
バグへの対応は、バグの深刻度にもよるが、対応が早い場合は数日のうちにバグを修正したビルドが公開される。これは海外のツールとしては珍しいことだといえるだろう。これにより、EAのユーザーサポートのWebページでは常に最新のビルドが確認できる。このページを見るとかなりの頻度でビルドが更新され、バグが修正されていることが分かる。ここ1年ではバージョンアップも含めて8回更新されている。この点は、ツールのバグで開発がストップしてしまうこともある企業ユーザーには役立つ点だ。
また、EAのユーザーは無料の訪問セミナーを受けることができる。プロジェクトメンバーに基本的な操作を習得してもらいたい場合や、ソースコード生成のような識者の具体的なアドバイスが欲しい機能についてのセミナーが受けられる。こうしたサポートを活用することで「ツールを買ったはいいけれど、使いこなせなかった」といった事態を防ぐことができる。
UMLモデリングツールにはそれぞれ開発思想のようなものがあり、それを理解していないと持っている性能を生かし切れないことがある。EAにもこれに当てはまることがある。そのためセミナーを利用して、その開発思想を理解できるチャンスがあるのはユーザーとしては喜ばしい点だ。
高機能である故の「分かりづらさ」
ここからはEAの短所を挙げていく。
まず挙げられるのは、高機能である故の「分かりづらさ」だ。EAは多機能であるため、やろうとしていることに対してそれがメニューのどこにあるのかが分かりづらく、どう操作すると自分の思ったことができるのか分からないこともしばしばある。
例えば、クラス図で片方向の関連を書く際、参照不可能な方向を明示するために関連端に「×」を表示するという表記がある。しかし、これを実現するためには、表示のための設定やモデルのプロパティを幾つか設定しなければならない。実際、EAを長いこと使っているはずの筆者でも、人から教えてもらうまでこの操作は分からなかった。
機能が分かりづらいという点については、EAの開発元でも把握しており、充実した日本語ヘルプやツールチップ表示などで大抵のことは分かるように改善されつつある。
また、EAは汎用ツールとしての側面を持っており、特定のシステム開発方法論に特化したツールではない。そのため「どのダイヤグラムを組み合わせて、どのような情報をモデルに入力すれば良いのか」といったシステム開発方法論に相当する知識をユーザーが持っていた方がよい。
特定のシステム開発方法論に対応するモデリングツールでは、ダイヤグラムの組み合わせ方やモデル情報の入れ方に関する知識をツール自身が持っているものもある。そういったツールでは、ユーザーはそのルールに従っていけば、実際のシステム開発で使えるレベルのモデルを作成できる。EAではそうした部分はユーザーに任されているのである。
継続して使用できるツール
EAはどのような用途にでも使えるので、長年重宝している。それは特定のシステム開発方法論に依存しない点がメリットとなっているからだ。それ故、特定の用途に向けたUMLモデリングツールと比べると、生産性や使い勝手などの点で一歩譲ってしまうところもある。しかし、その点を差し引いても、EAはモデリングツールを継続して使う人にとって“長く使えるツール”としてお勧めのUMLモデリング製品だといえる。
<著者紹介>
井上 樹(いのうえ たつき)
株式会社豆蔵 ES事業部 基幹コンサルタント
組み込みシステム開発を対象としたオブジェクト指向・UMLの導入、プロセス改善に関するコンサルティングやトレーニングを中心に担当している。主な著書に『ダイアグラム別UML徹底活用』(翔泳社)、『いちばんやさしいオブジェクト指向の本』(技術評論社)がある。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
技術文書・技術解説
[SAS Institute Japan株式会社] 生成AIを予知保全に組み込むことで「産業設備保全」はどこまで進化できるのか -
市場調査・トレンド
[SAS Institute Japan株式会社] 製造企業が「AIによる価値創出」を迅速に実現する方法 -
技術文書・技術解説
[株式会社日立ソリューションズ] 開発と運用の分断を解消、実践知に基づくプラットフォームエンジニアリングとは -
事例
[株式会社日立ソリューションズ] 開発・運用の属人化をどう打破した? 日立ソリューションズの実践事例 -
技術文書・技術解説
[Eleven Labs Japan合同会社] 問い合わせ解決単価を約9割削減する試算も 音声AIエージェントのROIと活用例
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
なぜ「WSUS」を捨てない? 非推奨でも35%が使い続けるワケ
-
2
Microsoft 365統一で「SharePoint」が1日2TB増 富士フイルムはどう管理した?
-
3
なぜMicrosoftは「Rust」を標準言語に? AIで進むC/C++書き換えの課題
-
4
なぜ「Claude Code」拡張は消しても危ないのか? Cursorで不正版配信
-
5
8割がアナログに逆戻りする“やっぱりな理由” DXを阻む2つの落とし穴
-
6
なぜ「Microsoft Teams」がランサムウェアの入り口になるのか?
-
7
半数がブルーカラー転向を視野に? ベテランエンジニアを追い込む“54歳の壁”
-
8
停滞する製造業のDX、開発の生産性を高める可視化の実践方法
-
9
Web攻撃を受ける企業に共通するセキュリティ対策の誤り
-
10
「GPT-6.1 Terra」は半額 それでもなぜ企業はAIモデルを選べないのか?
ホワイトペーパーランキング PR
-
1
「IT史に名を残すシステム障害」8選
-
2
AIが苦手な「汚いデータ」になっていない? AI投資を無駄にしないための注意点
-
3
急増する高度なフィッシング詐欺 先回りしてブロックするには何が必要?
-
4
法人向け光回線のプランはどう選ぶ? 機能面/保守体制/コストを一覧で比較
-
5
Microsoft 365のメールセキュリティ、3つの“死角”と追加で検討すべき対策とは
-
6
「テスト内製化&自動化」事例集:ディー・エヌ・エーなど9社に学ぶ実践のコツ
-
7
三井ホームに学ぶ「無線LAN環境」構築 快適なオフィスと高度なIT運用の両立法
-
8
10G回線の真価をフルに享受するには? 導入前にチェックしたいポイント
-
9
進化が遅れる「電話」をアップデート、AIを搭載した次世代の通話機能とは?
-
10
有識者が語る、中堅中小企業に求められる最新のサイバーセキュリティ対策とは
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー