« オブ・カレーの味(^^) | トップページ | 「地球大進化」は凄い! »

2004/07/16

OOAよりもDOAの方がモデリングしやすい

 モデリングを考え始めてから、オブジェクト指向分析(OOA)からどんどん離れて、DOAの考え方を理解しようと努めている。
 DOAの方がOOAよりもモデリングが自然なように感じる理由は何か?
 
 モデリングでは、エンティティの洗い出し、オブジェクトの状態の変化(トランザクション)の二つを深く考える事に尽きる気がする。その二つを突き詰めていくと「洗い出したオブジェクトが現実の業務と整合性があるか?」を考える事に行き着く。

 データがオブジェクトの相互作用で、どのように変化していくのか?
 データがメッセージ送信先できちんと一意に定まるか?
 (だから、クラス図の多重度は重要だ!)

 オブジェクトの振る舞いを考えるのが重要な場面は、例外的なユースケースを洗い出す時だ。
 つまり、作成したモデルが現実の業務を反映しているか、チェックするのに使えるだけ。概念/仕様モデル作成時は、振る舞いの全てを洗い出す必要はないから。

 OOAが有意義に使える場面は、概念/仕様モデルから実装モデルへ落とす作業。GRASPパターンでメソッドを配置していく。
 逆に、概念モデル作成時は、DOAの方がイメージしやすい。
 エンティティを洗い出す基準は、主キーとなるようなデータが存在するかどうか、だから。
 トランザクションの洗い出しも、どんな履歴情報を残したいのか、を突き詰めると、モデリングの文脈に沿ったエンティティ同士の関連から自然に発生する。
 ユースケースを考えるのは手間がかかるし、そもそも難しい。
 
 但し、概念モデル=DOA、実装モデル=OOAで開発しても、結局最後は、O-Rマッピングがネックになる。
 O-Rマッピングが解決されない限り、OOAの唯一の弱点(?)は残されたままになる。

|

« オブ・カレーの味(^^) | トップページ | 「地球大進化」は凄い! »

モデリング」カテゴリの記事

日記・コラム・つぶやき」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/49479/1231077

この記事へのトラックバック一覧です: OOAよりもDOAの方がモデリングしやすい:

« オブ・カレーの味(^^) | トップページ | 「地球大進化」は凄い! »