UMLモデリングレッスン

昨年、いちばん読み込んだ技術書かもしれない。

UMLモデリングレッスン

UMLモデリングレッスン

クラス図とオブジェクト図を使ってモデリングをする本です。ちょこっとだけステートマシン図とER図も登場します。

ソフトウェア開発でドメインモデルを作成するとき、Fowlerのアナリシスパターンを適用できると、拡張性が高いクラス構造を構築できます。しかし、アナリシスパターンは抽象度が相当に高くて難解なため、実際に活用しようとしてもなかなかうまくいかなさそうです。本書では、アナリシスパターンをもっと平易にしたパターンが21個用意されています。例を挙げてみましょう。ドメインモデルを作るときには、オブジェクトを「リソース」と「イベント」に分けて作成する手法がよく使われます。この「イベント」について本書では、

  • イベントと関与者
  • イベントと対象
  • イベントと場所
  • イベントと在庫
  • イベントと後続イベント

といった、5つのパターンが提示されています。この中で「イベントと在庫」パターンでは、在庫を更新するイベントを記録するためにはどのようなクラス構造を用意するとよいのか、詳しく説明されています。このように、本書ではアナリシスパターンほど抽象度が高くなく、すぐに実践できるようなパターンが用意されているのです。

ということで、ドメインモデルを構築するときの「使える」パターン集として、本書をお勧めします。ただ、「ドメインモデル」と言うと「あ、オレ関係ないや」と思う人もいるでしょう。しかし、オブジェクト指向プログラミング言語で開発をするとき、ほとんどの場合でクラスを設計する必要があると思います。そんな訳で「僕はRailsのアプリをアジャイルに開発するから、モデリングなんていらない」というような人でも、有効に使える本になっています。UMLのクラス図のことを知っていれば、だいたい読めるはずです。ぜひご一読を。