ひがやすを技術ブログ

電通国際情報サービスのプログラマ

ダイコン時代の設計手法 - 奇妙なクラス抽出法

オブジェクト指向モデリングの本でこのような文章をみたことがないだろうか。


クラスを抽出するためには、ユースケースから名詞、動詞を
まず抽出します。名詞はクラス・属性の候補になり、
動詞は操作や関連の候補になります。
書いてあることは間違ってないように見えるが、しかし現実的ではない。
なぜならユースケースだけでは情報が足りないからだ。
試しに適当なユースケースを使って上記のようなクラス抽出を試みて欲しい。
1つのユースケースだけだと情報が足りないのは当たり前だが、
すべてのユースケースで試みても情報が足りないのはすぐに感じてもらえると思う。


その対策として、これまでの私は、ユースケース記述にインプット・アウトプットの
補足仕様書をつけてそこに足りない情報を記述するようにしていた。
しかし、良く考えてみるとこれも、ユースケースが情報を分析するための
道具としては中途半端なのが原因だと思う。

やっぱりユースケースはくさってる
今、私が最も現実的だと思っているのは、バウンダリ(画面・帳票など)から
項目を抽出してエンティティの属性とする方法だ。
名詞を抽出するなんて胡散臭いことはやらずに、バウンダリの項目を
エンティティの属性にマッピングする方がシンプルだと思う。
これらの作業をUI仕様書・エンティティ定義書を書きながらおこなえばいい。


これまでのオブジェクト指向ってパンドラの箱に閉じ込められていた部分が
結構あるような気がしている。
なんだか心やもやもやしているがふれてはいけないもののような。