📖
業務の理解がドメインモデルを洗練させる
現場で役立つシステム設計を読んだので覚えておきたいことをメモしました。
業務知識を取捨選択し、重要な関心事に注力して学ぶ
開発者がアプリケーションの対象とする業務を効率的に学び、役に立つドメインモデルを設計するための基本は次のふたつ。
- 重要な言葉とそうでない言葉を判断する
- 言葉と言葉の関係性を見つける
具体的にどうすれば良いか→業務知識の暗黙知を引き出す
業務の経験者の言葉はクラス名やメソッド名の候補で、業務に熟知した業務の専門家と会話し、業務用語を習得することが、ドメインモデルを設計する基本の活動。
形式的な資料はかえって危険
形式的に議事録やドキュメントを整えることは危険。形式的なドキュメントを大量に作っているときは「思考停止」が始まっている。
形式的なドキュメントを大量に作るよりも、重要な言葉が何で、骨格となる関係は何かを判断することに時間とエネルギーを使ったほうが、大きな成果を手に入れることができる。
全体を俯瞰しながら要点と重要な関係を共通理解するためには、例えば下記のような図法が役に立つ。
- コンテキスト図
- 業務フロー図
- パッケージ図
- 主要クラス図
図法名 | 目的 |
---|---|
コンテキスト図 | システムの目的を表す言葉を探す(重要なクラスの発見の手がかり) |
業務フロー図 | コトの発生を時系列に整理する |
パッケージ図 | 業務の関心事を俯瞰する(用語の全体的な整理) |
主要クラス図 | 重要な関心事とその関係を明確にする |
Discussion