分割した「ドメイン」と「境界づけられたコンテキスト」の評価方法
分割した「ドメイン」と「境界づけられたコンテキスト」が適切かどうかについて検証するには、いくつかの確認指針があります。それぞれ見てみましょう。
ドメイン(問題領域)の評価ポイント
構築システムの対象ドメインの整理後、以下の項目において評価を行います。
- 戦略的コアドメインの名前、ビジョン、検討するべき概念が正しいか
- 必要な支援サブドメインと汎用サブドメインの抜け漏れがないか
- 各ドメインの担当者を招集可能か
対象とするコアドメインの戦略を理解しているか、関連するサブドメインが適切に洗い出されているかが重要となります。そして、それぞれのドメインエキスパートと協力できる体制になっているかを評価します。
境界づけられたコンテキスト(解決領域)の評価ポイント
続けて「境界づけられたコンテキスト」の内容が正しいかを検証する指針は以下となります。
- 既存ソフトウェア資産の把握(再利用可否と相互接続状況の調査を含む)
- 新規ソフトウェア資産の検討(開発可能かの調査を含む)
- 既存ソフトウェアと新規ソフトウェアの統合方法検討
- 依存する関連プロジェクトのリスク検討
- ユビキタス言語の抜け漏れの確認
- 境界づけられたコンテキスト間における「重複または共有しているユビキタス言語」の調査とマッピング方法/変換方法の検討
- コアドメインの概念が境界づけられたコンテキストに適切に含まれているか確認
開発を進めるにあたり既存システムと新規システムにおいて必要な情報が集まっているか、連携方針やリスクの洗い出しができているか、ユビキタス言語の洗い出しと連携方法が適切にどのように構築するかを検討できているかがポイントとなります。
繰り返しになりますが「境界づけられたコンテキスト」の検証を行うには、「ユビキタス言語」を確認します。ユビキタス用語の変化に敏感になることで「境界づけられたコンテキスト」が適切に分割されているか分かります。
最後に
今回は「ドメイン」の種類と「境界づけられたコンテキスト」の概要、分割方法、評価方法について解説しました。またIDDD本のサンプルプロジェクトについても紹介しました。次回は、複数の「境界づけられたコンテキスト」間のお互いの関係性を示す「コンテキストマップ」について紹介します。
参考資料
- 戦略的設計入門(和智さん)
- 私的実践DDD、その3(田中さん)
- 「ドメイン駆動設計」の複雑さに立ち向かう(SlideShare 増田さん)
- FiNC DDD第一回勉強会(SlideShare 重村さん)
- ドメイン駆動設計の捉え方(SlideShare 大西さん)
- DevLOVE「戦略的設計入門」(YouTube 和智さん)
- DevLOVE「実践! ドメイン駆動設計」(YouTube 増田さん)
- 豆ナイト「DDDのためのスモールオブジェクトプログラミングのススメ」(YouTube 増田さん)
- Base DDD(ドメイン駆動設計) 参考文献を巡る旅(SlideShare かわべさん)
- DDDをScrumで廻す あるいは ScrumをDDDで廻す(SlideShare 原田さん)
- 実践ドメイン駆動設計の用語まとめ(Qiita asatohanさん)