UML

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

UMLの歴史

UMLとは「Unified Modelling Language」の略です。日本語にすれば「統一モ デル記述言語」でしょうか。「統一」というのは「モデル記述言語」にかかり ます。つまり、昔はモデル記述言語がたくさんあったのを一つに統一しま した、ということです。

こうした経緯がわかれば「UMLとは何か」についての正しい認識もできるので はないでしょうか。ここではこの経緯についてお話ししたいと思います。

オブジェクト指向方法論

「どうやってソフトウェアを作ったらいいのか?」という問いに答えるために、 昔から様々な「こうやって作ったらいい」という方法論が議論されてきました。 その昔は(ごく大ざっぱに言えば)「ソフトウェアを階層構造にしなさい」とい うのを合言葉にした「構造化分析/設計論」が主流でした。そこに「オブジェク ト指向分析/設計論」という言葉が出だしたのは1990年代のはじめです。

その頃、いくつかのグループが独自にその方法論を展開し始めました。「コー ド・ヨードン法」とか「シュレイアー・メラー法」といったように提唱者の名 前を冠して呼ぶのが一般的でした。それぞれ、「ソフトウェアはこんな段階を 踏んで設計するのがいい」という方法を半ばマニュアル的に提示し、それを学 べば品質の高いソフトウェアが作れるというものでした。

彼らは、構造化分析で使用されてきたER図や状態遷移図を流用して、それぞれ に自分に都合のいい記法を足してソフトウェアの構造を表現しました。線につ ける矢印の種類を変えてみたり、人の形や吹き出しの中に文字を書いてみたり、 四角い箱に独自のマークをつけてみたりしたのです。

UML=統一記法

こうした方法論がいくつか出てきて一般に浸透すると、困った問題が起き始め ました。それぞれが自分勝手に図の書き方を決めたせいで、違った方法論を習っ た人の間での意思疎通が困難になってきたのです。お互いにほとんど同じ事を 言っているにも関らず、図の書き方が違うというだけの理由で理解が妨げられ ているのは困った問題です。

そこで記法を統一しようという動きが始まりました。すべての方法論を集めて きて、同じ事を言っている部分は同じ表記にすることにしました。こうやって 「同じ事を言っているのに表記が違う」という事態をなくすことに成功したの です。これがUMLです。

UMLの目的が、同じ事を言っているのに表記が違うという事態を避けるためで あることに注意して下さい。基本的にUMLは単なる統一ルールであり、それは すべての方法論の表記法の寄せ集めです。

UML準拠とは

さて、UMLは単なる統一記法であると書きました。これがわかってないと「UML 準拠」の意味を取り違えてしまいます。

最近のソフトウェア開発CASEツールではほとんどが「UML準拠」と書いてある でしょう。しかし、これは「UMLの図を全部サポートしている」という意味で はありません。「ここでサポートしている図はすべてUMLの形式にのっとって います」というだけに過ぎません。「準拠」というのは「標準に従っている」 という意味ですから、UMLの書き方に反する図でなければたとえそれが一部し かサポートされていなくても「準拠」なのです。

そしてそれでいいのです。UMLの図を全部サポートするのは単なる無駄で、 利用者にとって決して使い易いものではありません。機械製図ツールに建 築用の製図法がついていないことが問題になるでしょうか?UMLの図のどれを サポートするかを取捨選択するのもまたツール作成者の腕なのです。