/note/tech

データモデルはドメインモデルに先行する

我々はまず、泥臭い分析と設計を重ね、あるべきデータモデルを完成させた。そのうえで実装方式の専門家の協力を仰ぎ、クラス図が出来上がった。つまり、データモデルからドメインモデルが導かれたのであって、その逆ではない。じっさい、ドメインモデルからデータモデルを導くことが不可能であったことは、両者を並べたら一目瞭然なのであった。

これは重要な論点だ。データモデリングとドメインモデリングのどちらを先行させるべきか。データモデリングである。

[...]ドメインモデリングをデータモデリングに先行させるというのは、そのアンチパターンの類型に他ならない。他の分野では知らないが、テーブルを数十個以上含むような業務システムの開発でこれをやってはいけない。

[...]多くの技術者にとって、DB設計という課題が何やらメンドウで得体の知れないものだからだ。それゆえ、アプリやUIの設計を先行させればプロジェクトとして動き始めたように思えるし、少なくとも初期段階ではおおいに進捗していると上長に報告できるからだ。結果的に、DB構造がグダグダになって、それをゴリゴリのロジックでカバーして、心身ともクタクタになるといういつものデスマーチが始まる。

NOTE: