UMLはExcelで書く？
専用ツールで書く？

山本 勘助

読者の皆さんの多くは，ワープロ・ソフトウェアの Word やな場合に使うべきか？」について考えます．UML ツールとして表計算ソフトウェアの Excel を日常的に利用しているかと思いは，ここでは Sparx Systems 社の「Enterprise Architect」を利ます．これらのツールは高機能ということもあり，単なる文書用しました（当然，ツールによって機能や操作が異なる．本稿

作成や表計算のためのツールとしてだけでなく，さまざまな用の説明がすべての UML ツールに当てはまるわけではないこと途に利用されているのではないかと思います．に注意されたい）．

● 汎用ツール vs. 専用ツール

なお，比較する際の条件として，Word や Excel でも可能なこれらのツールを利用すると，図形なども含めて，表現した表現について UML ツールを使うとどのような差が出てくるのい内容を自由に書くことができます．特に企業における業務でか，という点を中心に確認しました．例えば，ソース・コードは広く利用されています．「誰でも持っていて，誰でも見るこの入出力やドキュメントの生成機能など，UML ツールならでとができる」といっても過言ではありません．つまり，作成しはの機能を利用するのではなく，汎用ツールでも可能な機能をた内容を「見ることができない」という問題がありません．

対象とします．つまり，「とりあえず UML のモデルを書いてみその一方で，特別な内容を記述するための専用の お絵描きるなら」というコンセプトです．この点は，UML ツール本来のき ツールが存在します．こうしたツールは，記述する対象に目的とは異なる部分もありますが，ご了承ください．

応じて専門化・最適化されています．例えば，建築物の設計の● UML についておさらいために利用される CAD（Computer Aided Design）ツールや，複雑な計算を実行することで自然現象などを分析できる科学技術計算のツールなどがあります．

具体的な比較に進む前に，今回利用する UML の概要についておさらいしておきましょう．
UML は OMG（Object Management Group）が定義する，世このような専用ツールは，代用することのできないものがあ界共通の設計内容の表現方法です．主にオブジェクト指向の設る一方で，Word や Excel である程度代用可能と思われるものも計開発で利用するための多くの図が定義されています．最新版

あります．その一つの例が，UML（Unified Modeling Language）の UML 2.1 では，全部で 13 種類の図が定義されています．

で定義された図形を描画できる「UML ツール」です．UML その

この UML は，ここ 2，3 年の間にソフトウェアの設計開発でものは徐々に広まっていますが，この UML の記述にあたって本格的に利用され始めています．以前にも UML が「銀の弾丸」

は，Word や Excel を利用している例が少なからずあると聞いのようにもてはやされたときもありましたが，最近は UML をています．

設計の表記方法としてプロセスに採用し利用するという，しっここで疑問に思うことの一つとして，「Word や Excel で代用かりした考え方で利用されるケースが増えてきました．

可能と思われる専用ツールは本当に必要なのか？」ということ

また，大学や専門学校などの授業で教えられるようになったです．CAD ツールや科学技術計算のツールなど，代用不可能ことや，資格試験が提供され，評価の基準としても利用され始なツールの場合は，そのツールを使わないという選択肢はありめたことなど，標準的な表記方法として使われるための土台もません．しかし，そうではない場合，その専用ツールを購入でき上がってきました．さらに，世界共通の表記方法というこし利用することのメリットが分からないこともあるでしょう．とで，会社という枠を超えた設計プロジェクトにおいて利用さ

特に UML については，ちょっとした図を描くだけであれば，れることも増えてきました．

Word や Excel のような汎用ツールでも十分ではないかと思われます．

UML では，対象となるシステムやアプリケーションの設計を抽象化し，図として表現します．このように対象のシステム

そこで，「専用ツールを利用すると何が便利なのか？」，「専を抽象化して視覚的に表現し設計することを「モデリング」と用ツールを使う利点は何か？」，「価格に見合う価値はあるの呼びます．UML は，「対象のシステムをモデリングするためにか？」ということについて，具体的にツールを利用した結果や利用する表記方法」ということになります．設計内容が図とツールを利用するときの手順を比較し，検討してみます．
ここでは，Excel と UML ツールを利用して UML の図の作成・編集の過程を比較します．そして「UML ツールはどのようOct. 2007

して見えるようになるので，昨今話題になっている「見える化（visualization）」の一つとしても広まっています．
UML を利用し，設計内容を図として表現する利点はいくつ

KEYWORD ―― Excel，UML，Enterprise Architect，クラス図，シーケンス図，ステート・マシンズ図，タイミング図，モデリング，オートシェイプ，テキストボックス，ツールボックス，クイックリンク

117

ドア・リモコン

ドアリモコン<< interface >>ドア・リモコン・インターフェース

ドア− リモコンID：int
利用者＋ 開くボタン（）：void＋ 閉じるボタン（）：void＋ 電源ボタン（）：void＋ 開く（）：bool＋ 閉じる（）：bool＋ リモコンID登録（int）：bool＋ 電源ON/OFF（）：bool

電源ボタン（）電源ON/OFF（）：bool

ドア

電源状態
変更（）

開くボタン（）− ロック：bool− 動作中：bool− 電源：bool− 対応リモコンID：int<< enum >>
閉鎖
開放
開放動作
閉鎖動作

− 電源状態変更（）：void− ドア状態確認（）：ドア状態− 開放処理（）：void− 閉鎖処理（）：void

ドア状態
確認（）
：ドア状態

開く（）：bool<< enumeration >>ドア::ドア状態

alt

開く（）
：bool

［開放可能］（a）クラス図
：true
開始
電源操作
閉鎖：false

［不可能］

開放命令
開放動作

（b）シーケンス図［閉鎖完了］［開放完了］

閉鎖動作｛20秒以上｝
内側
ドア

開放

閉鎖命令

（c）ステート・マシン図外側ドア

図 1 UML の四つの図

開放中

開放

開放通知

終了 電源操作電源操作

閉鎖閉鎖（a）のクラス図では，それぞれの四角がクラスを表す．
（b）のシーケンス図では矢印がメッセージであり，相互作用を示す．基本的に上から下へと順番に処理が行われる．（c）のステート・マシン図では，要素間の矢印が遷移を示す．角かっこで囲まれる内容は，遷移するための条件を示す．（d）のタイミング図では，メッセージのやり取りと状態の変化を表現する．

かあります．まず，文章で表現するよりも全体の構成が分かり

閉鎖中

閉鎖

閉鎖通知

開放中

開放

閉鎖中

閉鎖

｛外側ドアと同時に開放終了｝（d）タイミング図ます．

ふかんやすいということです．全体的な構成を広く俯瞰できるほか，このような利点が最大限に生かせるのは，対象となるシステ

注目する対象とほかの項目との関係がすぐに分かることもあり，ムが複雑で大規模な場合です．その結果，昨今の組み込みソフ

特に複雑な設計においては文章より理解しやすい形で表現できトウェアの開発において，このような利点が生かせる UML のます．

利用が徐々に広まっています．

また，文章よりあいまいな点を減らせることも利点の一つです．例えば，UML の要素間に何らかの線があれば，何らかの関係があることを示します．逆に線がない場合は，直接の関係がないことが明確に分かります．

● 組み込みシステム開発でよく利用される図は 4 種類
組み込みシステム開発で利用されることの多い図をいくつか紹介します．
図 1（a）の「クラス図」は，システムを構成するクラスと，クそのほか，このような図を仕様の理解のための基盤とするこラス間の関係を表現します．オブジェクト指向のプログラミンとで，多くの人がかかわる設計開発において誤解なく正しく理グ言語を利用する場合，クラスとソース・コードには対応関解する助けになります．文章で仕様を表現する場合，書き方に係があります．例えば，クラスの属性や操作はそのままソー

よってはほかの人が誤読してしまう可能性があります．絵としス・コードに反映されます．この関係については図 2 をご覧くて明確に表現することで，このような誤読を減らすことができださい．

118

Oct. 2007