OOAよりもDOAの方がモデリングしやすい
モデリングを考え始めてから、オブジェクト指向分析(OOA)からどんどん離れて、DOAの考え方を理解しようと努めている。
DOAの方がOOAよりもモデリングが自然なように感じる理由は何か?
モデリングでは、エンティティの洗い出し、オブジェクトの状態の変化(トランザクション)の二つを深く考える事に尽きる気がする。その二つを突き詰めていくと「洗い出したオブジェクトが現実の業務と整合性があるか?」を考える事に行き着く。
データがオブジェクトの相互作用で、どのように変化していくのか?
データがメッセージ送信先できちんと一意に定まるか?
(だから、クラス図の多重度は重要だ!)
オブジェクトの振る舞いを考えるのが重要な場面は、例外的なユースケースを洗い出す時だ。
つまり、作成したモデルが現実の業務を反映しているか、チェックするのに使えるだけ。概念/仕様モデル作成時は、振る舞いの全てを洗い出す必要はないから。
OOAが有意義に使える場面は、概念/仕様モデルから実装モデルへ落とす作業。GRASPパターンでメソッドを配置していく。
逆に、概念モデル作成時は、DOAの方がイメージしやすい。
エンティティを洗い出す基準は、主キーとなるようなデータが存在するかどうか、だから。
トランザクションの洗い出しも、どんな履歴情報を残したいのか、を突き詰めると、モデリングの文脈に沿ったエンティティ同士の関連から自然に発生する。
ユースケースを考えるのは手間がかかるし、そもそも難しい。
但し、概念モデル=DOA、実装モデル=OOAで開発しても、結局最後は、O-Rマッピングがネックになる。
O-Rマッピングが解決されない限り、OOAの唯一の弱点(?)は残されたままになる。
| 固定リンク
「日記・コラム・つぶやき」カテゴリの記事
- TwitterやFacebookは人力キュレーションツールとして使う(2022.10.02)
- 「現代病「集中できない」を知力に変える 読む力 最新スキル大全」の感想(2022.08.28)
- 人類は海辺から生まれた~水生類人猿説が面白い(2022.08.09)
- 戦前の日本人の気質はまだ成熟していない青年期と同じだった(2022.06.14)
- 物理学を攻略するためのマップ(2022.04.18)
「モデリング」カテゴリの記事
- 「システム開発・刷新のためのデータモデル大全」を読み直した感想~親子頻出アンチパターンは初心者モデラーに多い(2024.08.31)
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「システムアーキテクチャ構築の原理」の感想(2024.05.06)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- アーキテクチャ量子の考え方はソフトウェア工学に物理学アプローチを適用したアイデアではないか(2024.02.12)
コメント