ドメイン駆動設計
Domain-Driven Design
どめいんくどうせっけい
ビジネスドメイン(業務領域)の知識を中心に据えてソフトウェアを設計する手法。ドメインモデル、ドメインロジック、ユビキタス言語などの概念を用い、業務の複雑さをソフトウェアに正確に反映する。DDDと略される。
Related
他の資格での定義
業務ドメインの知識を中心にソフトウェアを設計する手法。ドメインモデル、ドメインロジック、コンテキストマップ、ユビキタス言語、エンティティ、値オブジェクト、サービスなどの概念を用いて、業務の本質をコードに反映する。
ビジネスドメインの知識を中心に据えてソフトウェアを設計する手法。ユビキタス言語、境界づけられたコンテキスト、集約、エンティティ、値オブジェクトなどの概念を用いる。Eric Evansが提唱した。
ビジネスドメインの知識を中心に据えてソフトウェアを設計する手法。ユビキタス言語、境界づけられたコンテキスト、集約、エンティティ、値オブジェクトなどの概念を用いる。Eric Evansが提唱した。
業務の対象領域(ドメイン)の知識をモデルとして表し、そのモデルを中心にソフトウェアを設計する手法で、エリック・エヴァンスが提唱した。業務の専門家と開発者がユビキタス言語でモデルを作り、境界づけられたコンテキストで範囲を区切り、エンティティや値オブジェクトなどの要素で実装する。
Related
関連キーワードの用語
プログラムを独立性の高い機能単位のモジュールに分割する設計手法。STS分割やTR分割、共通機能分割などの手法がある。モジュールの凝集度を高め、結合度を低くすることが良い設計の基準であり、保守性と再利用性の向上に寄与する。
オブジェクト指向のソフトウェア設計を視覚的に表現するための標準化された表記法。クラス図、シーケンス図、ユースケース図、アクティビティ図、ステートマシン図など複数のダイアグラムで構成され、システムの構造や振る舞いを多角的に表現できる。
実体(エンティティ)、関連(リレーションシップ)、属性(アトリビュート)を図で表現し、データの構造を視覚化する手法。エンティティを矩形、リレーションシップをひし形、属性を楕円で表す。データベースの概念設計や要件定義に用いられる。
システム要件をハードウェア、ソフトウェア、手作業に振り分け、システムの構成品目を決定するプロセス。アーキテクチャの選定、機能分割、データベース方式の決定などを含む。
システムの一部に障害が発生しても全体としての機能を維持できるように設計する手法。冗長化やフェールセーフ、フェールソフトなどの考え方を取り入れ、高信頼性を実現する。
ソフトウェアの依存関係を内側(ビジネスロジック)から外側(UI・DB等)への一方向に制御するアーキテクチャパターン。レイヤー間の疎結合を実現し、テスト容易性と保守性を高める。
