タイトル
UMLモデリングの本質
著者
児玉 公信 (著)
出版社
日経BP社
Amazonで購入する

「モデリング」や「モデラー」と言う言葉に関心がある人は、『アナリシスパターン―再利用可能なオブジェクトモデル』を聞いたことがあると思います。アナリシスパターンは、モデルのパターンを集めたものになっていて、バックボーンがないと読み進めるのが難しいものです。

本書は、モデリングのポイントや考え方を解説する本になっています。一般には「良いモデル」と言うのは存在しない、人によってそれぞれだと言われますが、本書にとっての「良いモデル」とは「モデルの存在価値があること」だと私は解釈しています。「良いモデル」を書く考え方や方法を本書では解説しています。

モデリングに興味のある人は本書を読むことをおすすめします。UMLの解説書を読むだけでは本当の「モデリング」はできません。モデルには意図があり、意味があるはずです。その意図や意味を正確に相手に伝えるための方法が本書には盛り込まれています。

特徴

モデリングをはじめたばかりの人は、本書は難しいのかもしれません。UMLの記述法が頭に入っている人、『アナリシスパターン』に挑戦したけど、難しくて途中で挫折したひと向けだと思います。

本書は「概念モデリング」を主に解説しています。こういう場合はこんなモデルとモデルのつながりにするとよいといったことが、とても分かりやすく解説されています。本書を理解できれば、『アナリシスパターン』を読破できる力が備わったと考えられるかと思います。とても良い本ですので、本書を読みながら是非手を動かしてモデルを書いてみるといいと思います。

覚書き

概念をモデリングする

概念

モデリングとは、問題領域を本質的に理解する活動です。対象をどのように解釈するかによって概念の捉え方は複数存在します。

例えば、「私」というものがあります。「私」は実家に居るときには「息子」になるし、大学に行っているときは「大学生」、喫茶店に入れば「お客さん」になります。つまり、より抽象的なものの捉え方をして、良い概念構造を記述することが良いモデルにつながると言うことです。

概念

概念は集合

概念は集合です。お客さん(という概念は)「喫茶店でコーヒーを注文した人(の集合)」と定めることでお客さんとお客さんでない人が区別される(境界が引かれる)ことになります。つまり、概念は境界を持っていて、解釈するということで境界を定めることになります。

関係が概念を意味づける

概念は関係をもつことで初めて意味が定まります。つまり、お客さんとコーヒーの間に「注文する」という関係があることで、初めて意味をなします。

注文する

ポイントとなる言葉

  • モデルの所有者はモデルの中に登場しない
  • 集合の中には同じ要素が重複して存在することはない
  • 関連の属性をクラスで表現したモデルは、インスタンスが重複してはいけない(関連クラスとして表現すれば重複は許される)
  • 関連クラスは事象(履歴)を記録する
  • 再帰関連には{階層}という制約を付ける
  • カテゴライズのために知識型(パワータイプ)を使用する
  • カテゴライズとは種類を扱うこと。実際のものはである
  • 予約、予定を扱う場合はカテゴリーの概念を使うのが常套手段
  • 関連クラスを用いることによって事象(履歴、時間の流れ)を記録する

参考

  • モデラーをやる上で、アナリシスパターンははずせない気がします。
  • ビジネスをモデリングパターン化した本
  • ソフトウェアのコンポーネント化について書かれています。
  • UMLを学ぶ上で、絶対的におすすめ