楽しく読めるUML業務モデリングのカラー図鑑

Javaエンタープライズ・コンポーネント―カラーUMLによるJavaモデリング

Javaエンタープライズ・コンポーネント―カラーUMLによるJavaモデリング

  • 作者: ピーターコード,ジェフデ・ルーカ,エリックレイフェイブル,Peter Coad,Jeff De Luca,Eric Lefebvre,依田光江,依田智夫,今野睦
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2000/09
  • メディア: 大型本
  • クリック: 1回
  • この商品を含むブログ (10件) を見る
先日紹介したアナリシスパターン―再利用可能なオブジェクトモデル (Object Technology Series)と共に、私が気に入っているモデリングの本です。残念ながら、原書、和訳ともに既に絶版となっているようで、現在では古本としてしか購入できないようですが。著者のピーター・コードもソフトウェア業界から完全に引退してしまったみたいですし、非常に残念です。
この本の最大の特徴はUMLモデリングでクラスを抽出するヒントとして4種類のアーキタイプを紹介し、それぞれ色分けするという手法を紹介しているところです。

  • 瞬間-時間間隔(ピンク)
  • 役割(黄色)
  • パーティ、場所、物(緑)
  • カタログ的記述(青)

そして、製造や販売、財務会計などさまざまなドメインに適用した多数の例がクラス図やシーケンス図で記述されています。本もカラフルできれいですし、カラー図鑑を眺めているようで、楽しい気分で読めます。
まず、「注文」「発注」「契約」など日付や期間が属性になるようなピンクのエンティティを抽出し、それに関連付く「発注者」などの黄色のロール、「商品」などの緑、「商品属性」などの青という具合にクラスを抽出していくのは楽しいものです。従来のようにトランザクション系、マスター系という2種類でエンティティを抽出するのに比べて、4色の色分けで思いがけない有効なクラスが抽出されることもあり、より深いドメインモデルへと到達できる可能性があります。カラフルな本の見かけが一見子供だましのようにも見えてしまい、上っ面だけ読んで馬鹿にする人も多いようですが、実は奥が非常に深い本だと思います。青のカタログ的記述が緑やピンクのオブジェクトに対する知識レベルのクラスになっていたり、アナリシスパターン―再利用可能なオブジェクトモデル (Object Technology Series)と相互に比較しながら読むと理解が深まると思います。
ただし、この本の手法は概念レベルのモデリングでは非常に有効ですが、この本に書かれているクラス図を直接Javaのコードに落とすなどと考えると悲惨なことになると思います。この本のタイトルになぜかJavaと入っており、また、TogetherやFeature Driven Development(FDD)方法論の宣伝ということもあったのでしょうか、非常に実装とのつながりを強く意識した表現になっています。実際はオブジェクトDBなのかRDBなのか、EJBなのかJPAなのか、実装手法によって実際のクラス設計は大きく異なるはずなので、この本のクラス図をそのままJavaコードに落として実装しても決してうまくいかないでしょう。その点を勘違いして失敗した人が多いのかamazon.comの評判も賛否両論があります。なお、この本の姉妹書として、よりJavaの実装に近い本としてUMLによるJavaオブジェクト設計も良い本だったのですが、さすがに今となっては時代遅れな内容ですね。
あと、この本はUMLを使ってはいますが、結局アナリシスパターン―再利用可能なオブジェクトモデル (Object Technology Series)と同じで、ピーター・コード流の独自の記法と思った方がよいです。以前あったコード/ヨードン記法のクラス図と同じで、クラスとインスタンスを同一視したような表現が出てきますし、関連(association)は、リンク(link)などと記述されています。このあたりはUMLの記述の厳密性を求める人にはかなり違和感があるかもしれませんが、私は実用上は問題ないと思います。