UMLモデリングの本質

ロバストネス分析はとてもわかりやすかったのですが、
ドメイン分析ができるようになったわけではないですよね。
名詞抽出法はイヤだけれど、どうにかならんかいな、と思って
この本を買ってみました。
UMLモデリングの本質 (日経ITプロフェッショナルBOOKS)
最後まではまだ読んでいないのですが、これ、最高です。
最初のクラス抽出はやはり名詞抽出法しか解説されていない
のですが、とりあえず抽出した後の洗練方法が詳細に載っているんです。


ですが、この本を読んでいて思ったのですが、最初のクラス抽出って
本当に難しいようです。本の例として、ミシンの機能をモデリング
する例がありました。


縫う、という機能についてのみモデリングするのですが、このとき、
ミシンの動きを下から観察します。そして、ミシン全部ではなく、
針、上糸、下糸、ボビン、布について注目します。


「針の先端の穴に上糸が通っている状態で布を上から突き刺し、
たるんだでできた穴に下糸が巻いてあるボビンを通す。」


こうやってどのように縫うという仕組みが行われているのかを
観察し、理解することがモデリングの第一歩で、それを図にしたら
クラス図になる、というわけですが、果たして針、上糸、下糸、
ボビン、布だけに注目したのはなぜでしょう。


この5つだけに限定して注目したのがポイントで、これこそが
名詞抽出法に大きく関わっているわけです。
この5つこそが抽出されたクラスなわけですが、通常、いきなり抽出はできないので、
先に動きを文章にし、そこから名詞をクラス候補とするわけですね。


この本で解説しているのは、どうでもよさそうな名詞は最初から抽出する必要はなく、
動きの中心となりそうなオブジェクト、つまり他のオブジェクトと一番関連がありそうな
ものについて、ものすごく簡単にクラス図を作り、少しずつそれを洗練していけば
いい、ということです。


名詞抽出法はイヤだ、とかたくなに思っていたのですが、慣れるまではそれでも
いいのかな、と思いました。


最後まで本を読んでからまた考えてみます。