UMLって何のためにあるの? - (page 3)

小笠原記子(ウルシステムズ) 2006年12月22日 11時00分

  • このエントリーをはてなブックマークに追加
  • 印刷

UMLの用途

 実は、UMLは記法を決めているだけでその使い方までは定義していません。つまり、UMLをどう使うかは利用者に任されているため、記述方法さえ守れば自由にUMLを使って構わないのです。とはいえ、実際のシステム開発の現場では主に3つの用途で使われることが多く、UMLの使い方はそれぞれ異なります。

用途1.モデリング

 要件定義フェーズでは、現行システムを理解することや、「何を作るか?」を意識してユーザーの要件を聞き出すために、モデリングという技法を使ってシステムの全体像を描く作業をすることがあります。この作業を行う人のことをモデラーと呼び、モデリングによって作成する図のことを概念モデルと呼びます。概念モデル自体はどのような表現をしても構わないのですが、一般的にはUMLのクラス図を使うことが多いようです。これは、後の設計フェーズを担当する設計者にとって理解し易いため、というのが理由のひとつです。

 UMLを使ったモデリングでは、ユーザーの頭の中にある要件を情報として整理し、その情報同士の関係を定義して図式化することでシステムの要件を全体像として捉えます。実際にこの作業を見ていると、まるで最初からそこに存在したかのようにクラス図ができあがっていく様子にとても驚きます。また、クラス図の読み方にいくつか決まり事はあるものの、覚えるべき事はほんのわずかで直感的に判断できるため、UMLに慣れていないユーザーにとっても理解しやすく、ユーザーからの概念モデル(クラス図)に対する評価は総じて高いです。

 もし、クラス図を使わずに言葉だけでユーザーの要件を整理しようとすると、部分的な要件の詳細化はできるものの、全体を把握することが難しく、「要するに何か」がぼやけてしまうデメリットがあります。一方、クラス図をユーザーと一緒に作り上げていくモデリングでは、全体像が視覚的に理解でき、さらにユーザー自身が気付かなかった課題も発見できるというメリットがあります。

 ただ、モデリングの段階で作成するクラス図は、次に説明する設計レベルのクラス図に比べて非常に粒度が粗く、情報も不足していることが多いため、そのままではプログラミングすることができません。その代わり、「だいたいこんな感じ」というレベルに留めることで、早いうちからユーザーと開発者の間でシステムに対する要求を合意できるため、要件定義フェーズでは非常に有効です。

 このように、モデリングではUMLのクラス図を使うことが一般的ですが、抽象度の高いクラス図の情報を具体化して補うステートマシン図やオブジェクト図もよく使われます。なお、システム機能の洗い出しをするためにユースケース図を使うこともありますが、一般の開発現場では機能一覧で代用することの方が多いようです。

用途2.設計

 このように、要件定義フェーズにUMLを使って作成した図は、設計フェーズでより具体化されます。例えば、概念モデル(クラス図)やステートマシン図からデータベースの論理設計を行なったり、実装イメージに近づけるためにクラスの詳細化を行なったりします。

 設計フェーズでは「どのようにして作るか?」を意識しますが、Javaなどのオブジェクト指向言語で開発することが前提となっている場合、UMLを使って設計図(クラス図やシーケンス図など)を書くことが多いです。実際に動くモノを作るための設計なので、モデリングに比べてより厳密性が求められるのですが、このとき表記方法が明確に定められているUMLが非常に役に立ちます(但し、業務仕様など個別のロジックをUMLで表現することは出来ません)。

 設計フェーズにおいてクラス図を使う一番のメリットは、クラス間のインタフェースを早い段階から明確にできる点です。設計フェーズで書くクラス図には、クラスの属性や関係だけでなく操作も表すことになっています。例えば、受注クラスに受注登録という操作を持たせることで、そのクラスを使って受注情報を登録できることが分かります。ここでは、操作を実行するために必要な(入力)情報と、実行結果の(出力)情報を明らかにしてクラスのインタフェースを定義するのですが、その操作自体の中身を詳しく示す必要がないため、必要な情報を最低限の表記で示すことができます。

 なお、設計フェーズでクラス図やシーケンス図などを作ることは必須ではなく、比較的小規模のシステムでかつ開発メンバー間で予め設計方法が共有できている場合には、必要に応じてコーディング済のプログラムからリバースしてクラス図などを作成し、設計書を後から作成することもあります。リバース機能は、この後説明するツールでサポートされています。

用途3.プログラミング

 実行環境に依存しないUMLモデルから、ツールを使って実際に動くプログラムに変換する技術のことをMDA(Model Driven Architecture)と呼びます。MDAに則ると、モデリング→設計→プログラミングへの変換を全てUMLだけでできるようになるのです。

 しかし、実際の現場ではMDAはほとんど普及しておらず、相変わらずプログラマーが設計書を見ながら手でコーディングするスタイルがいまだに続いています。現時点では、ツールそのものがサポートしている技術が未成熟であることもあり、実際の現場でMDAが積極的に使われることになるのはまだまだ先になりそうです。

UMLツールの種類

 UMLで図を書く際には一般的にツールを利用します。ツールには無料で使えるものから有償のものまでさまざまですが、どれもUMLで定められている記法に従った図を書く機能を一通り備えています。

 日本国内では、チェンジビジョンの無償UMLツール「JUDE/Community」がよく使われています。現時点でこのツールはUML1.4にしか対応していませんが、基本的な利用であれば問題なく使えます。有償版の「JUDE/Professional」はUML2.0に対応しています。

 他に、有償ツールでお手頃なものにはスパークスシステムズジャパンの「Enterprise Architect」やマイクロソフトの「Visio」があります。また、プログラミングをしながらもっと手軽に使いたい場合には、ソースコードとの連携が簡単なオープンソースの開発ツール「Eclipse」のプラグイン(無償)も多数提供されています。

おわりに

 UMLの記法は、誰が見ても一通りの解釈しかできないように厳密に定義されています。これは一見堅苦しくも思えるのですが、その厳密さによって曖昧さが排除できるメリットは非常に大きなものです。私は、UMLの存在意義は、システム化対象とする実務の世界をシステムの世界へ変換するための手段を提供することであると考えています。全ての開発者がUMLを通して同じものを見ることができるようになれば、情報の伝達はもっとスムーズになるはずです。

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

  • このエントリーをはてなブックマークに追加

SpecialPR

連載

CIO
教育IT“本格始動”
月刊 Windows 10移行の心・技・体
ITアナリストが知る日本企業の「ITの盲点」
シェアリングエコノミーの衝撃
デジタル“失敗学”
コンサルティング現場のカラクリ
Rethink Internet:インターネット再考
インシデントをもたらすヒューマンエラー
トランザクションの今昔物語
エリック松永のデジタルIQ道場
研究現場から見たAI
Fintechの正体
米ZDNet編集長Larryの独り言
大木豊成「仕事で使うアップルのトリセツ」
山本雅史「ハードから読み解くITトレンド放談」
田中克己「展望2020年のIT企業」
松岡功「一言もの申す」
松岡功「今週の明言」
内山悟志「IT部門はどこに向かうのか」
林 雅之「デジタル未来からの手紙」
谷川耕一「エンプラITならこれは知っとけ」
大河原克行「エンプラ徒然」
内製化とユーザー体験の関係
「プロジェクトマネジメント」の解き方
ITは「ひみつ道具」の夢を見る
セキュリティ
セキュリティインシデント対応の現場
エンドポイントセキュリティの4つの「基礎」
企業セキュリティの歩き方
サイバーセキュリティ未来考
ネットワークセキュリティの要諦
セキュリティの論点
スペシャル
エンタープライズAIの隆盛
インシュアテックで変わる保険業界
顧客は勝手に育たない--MAツール導入の心得
「ひとり情シス」の本当のところ
ざっくり解決!SNS担当者お悩み相談室
生産性向上に効くビジネスITツール最前線
ざっくりわかるSNSマーケティング入門
課題解決のためのUI/UX
誰もが開発者になる時代 ~業務システム開発の現場を行く~
「Windows 10」法人導入の手引き
ソフトウェア開発パラダイムの進化
エンタープライズトレンド
10の事情
座談会@ZDNet
Dr.津田のクラウドトップガン対談
Gartner Symposium
IBM World of Watson
de:code
Sapphire Now
VMworld
Microsoft Inspire
Microsoft Connect()
HPE Discover
Oracle OpenWorld
Dell Technologies World
AWS re:Invent
AWS Summit
PTC LiveWorx
吉田行男「より賢く活用するためのOSS最新動向」
古賀政純「Dockerがもたらすビジネス変革」
中国ビジネス四方山話
ベトナムでビジネス
日本株展望
企業決算
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]