UML

「さあ、UMLを勉強するぞ!!」と思っている人へ。ちょっと待ってください。あなたが勉強しなくてはならないのはUMLではありません。

UMLとは何であるか

UMLがオブジェクト指向方法論とごっちゃになって紹介されているおかげで、 UMLについて間違った理解をされている方が多く見受けられます。まずここで 基本的な用語の意味を押さえておきましょう。

モデルとは何か

「モデル」という言葉を辞書では「複雑な現象を説明するために用いられる単 純化した理論や仮説」と説明しています。普通の日本語ではこういう意味でモ デルという言葉を使う事があまりないため、「モデル」という言葉を「模型」 という意味にとらえてしまっている人があるかもしれません。しかし、科学技 術の世界ではこうした「モデル」は多数存在します。

例えば、「天動説」「地動説」というのは「天体のモデル」です。宇宙論の 分野では、宇宙がどうやってできたかを説明する「インフレーション宇宙モデ ル」があります。原子核の回りを電子が回っているという原子構造は当時提唱 した科学者の名前をとって「ラザフォードモデル」と呼ばれます。

ソフトウェア開発でも同じです。複雑なソフトウェアの動きを単純化して説明 したものを「モデル」と呼ぶのです。つまり、「モデル」あるいは「モデリン グ」というのは、わざわざ提唱しなくても昔から誰しもやっていた事なのです。 例えば、人のソフトウェアの説明をする時にホワイトボードに次のような図を 書くことがあるでしょう。

こういうのも「モデル」だ こういうのも「モデル」だ

これはまさに「配送システムのモデル化」です。「モデリング」とはこういう 図を書くことに他ならないのです。

UMLでモデルを書く

モデルを書くためにはUMLを勉強しなくてはならないというのは間違いです。 なぜなら上で挙げたような図を書けばいいだけの話ですから。しかし上の図で は見栄えが悪いし、絵を書くのも面倒で、しかも意味を取り違えている事だっ てないとは限りません。そのため図の書き方を統一しようという動きが広まり ました。それがUMLです。

上の図はUMLでいうとコラボレーション図にあたり、その書式にのっとって書 くと次のようになります。

UMLコラボレーション図の例 UMLコラボレーション図の例

見栄えが良くはなっていますが、情報量は全く増えてはいないことに注意して 下さい。UMLだから何か特別な事ができるというわけではないのです。

UMLは「図の書き方」である

結局のところ、UMLというのは「図の書き方」であり、それ以上でも以下でも ありません。例えば「機械製図法」のようなものだと思ってもらえればいいで しょう。機械製図法ではねじの部分はどう書けばいいか、寸法はどうやって書 けばいいかを説明してはいますが、どこにどういうねじを付ければいいか、寸 法はどう決めればいいかは全く説明していません。つまり、製図法というのは 単なる表現手段であって、これを学んだからといって新しい何かができるわけ ではないのです。

「UMLを勉強しよう」という人に一つ言っておかなくてはならない事がありま す。UMLは勉強するものではありません。必要に応じて参照するものなのです。 自分の思っている概念を図にする時に「こういう概念はどうやって書いたらい いんだろう」と迷ったらUMLを参照して書き方を見つければいいというだけの 話なのです。UMLを知っているのは重要な事ですが、それだけでは何の 使い道もありません。それをどう使うのかを知っていないといけないのです。