少しずつ理解してきました。

相変わらず、この本を読んでいるのです。
UMLモデリングの本質 (日経ITプロフェッショナルBOOKS)
とはいっても、すでに3回目です。
この本は読めば読むほど理解が深まって良いです。
本の例について自分なりにモデリングしてみたりすると、またそこで
疑問がでて、本を読んで納得する。なんて日々を送っていました。

でも、まだなんかすっきりしなかったんです。
どうしても名詞抽出法が気に入らないのです。
で、そこでこの本を買ってみました。
思考系UMLモデリング即効エクササイズ―モデ力を鍛える13の自主トレメニュー
中身をぱらぱらと見てみると、こんなんで本当に役に立つのか?
というような内容だったのですが、読み進めてみると大ショック!
「よくある間違い」として載っていた例にことごとくはまってしまいました・・・。
そこでこの本の正解例を読み、何が自分の考えと違うのかをよく考えみました。
そしてなんとな〜くわかってきた時に再び「UMLモデリングの本質」を読んだときに
モヤが晴れるかのような思いをしたのです!そこには答えがずばり書いてありました。


モデリングとはある概念を図示したもの、とは思っていたのですが、それだけでは
不十分でした。


モデリングとは、エンティティとエンティティがどういう「関連」があるかを図示したもの
だったんですね。


アイスクリームの例が「思考系UMLモデリング即効エクササイズ〜」の最初に出てきます。
アイスクリームをモデリングしろ、と言われたとき、私はすぐにアイスクリームは
アイスとコーンでできている。これは集約の関係だなぁと考えます。
そして、集約の図を書きます。ですが、そこから先が進みません。これではモデリング
したとは言わないわけです。これでは構成図を書いただけにしかすぎません。


モデリングの場合、アイスとコーンの関連を考え、図示します。関連を考えなかったら
ただの構成図にしかすぎません。そして、その構成図はDBレイアウトを作るのと同じ
考え方だったといえます。


そう、DB設計をするのとモデリングするのとではここが一番違うところだとわかりました。
DB設計であっても、関連をエンティティとする場合は多分にありますが、それはその
関連が履歴を持つ場合です。保存する、という目的がないとエンティティとして抽出
されません。


でも、モデリングの場合は違うんですね。この場合、アイスはコーンの上に「乗っている」
という関連で結ばれるのです。そして関連で結ばれたことで、やっとアイスクリームは
モデリングされた、といえるのです。


そしてふと思ったのです。名詞抽出法では名詞をエンティティを抽出しますが、関連は
動詞とした記述されるのでエンティティとしては抽出されません。ですが、モデリングでは
関連が大事なのです。さらに言うなら、動詞=関連こそがモデリングのポイントな気が
しています。

「注目すべきは名詞ではない!動詞だ!」
どこかの本に書いてあったのですが、ある人が名詞抽出法を説明していると、
このような反論がプログラマから出たそうです。


今の私はその人に賛同します。
だって、動詞=関連が見出せれば、その動詞がつないでいるものこそがエンティティな
わけですから、そのエンティティを関連で結べばいいだけなのですから。