Skip to main content
QUICK REVIEW

[論文レビュー] Domain-Driven Design in Software Development: A Systematic Literature Review on Implementation, Challenges, and Effectiveness

Ozan Özkan, Önder Babur|arXiv (Cornell University)|Oct 3, 2023
Software Engineering Techniques and Practices被引用数 4
ひとこと要約

本系統的文献レビューでは、ソフトウェア開発におけるドメイン駆動設計(DDD)に関する36編の査読付き論文を分析し、マイクロサービスアーキテクチャにおける有効な実装、オンボーディングおよび専門知識要件の課題、および既存研究における限られた実証的検証を特定した。研究は、DDDがシステム設計および複雑性管理を向上させることを示唆しているが、より厳密な評価および学界と産業界の連携を求める。

ABSTRACT

Context: Domain-Driven Design (DDD) has gained significant attention in software development for its potential to address complex software challenges, particularly in the areas of system refactoring, reimplementation, and adoption. Using domain knowledge, DDD aims to solve complex business problems effectively. Objective: This SLR aims to provide an analysis of existing research on DDD in software development, paint a picture of DDD in solving software problems, identify the challenges encountered during its application and explore the results of these studies. Method: We systematically selected 36 peer reviewed studies and conducted quantitative and qualitative analyzes to synthesize the findings. Results: DDD has effectively improved software systems, with its key concepts. The application of DDD in microservices has gained prominence for its ability to facilitate system decomposition. Some studies lacked empirical evaluations, highlighting challenges in onboarding and the need for expertise. Conclusion: Adopting DDD benefits software development, involving stakeholders such as engineers, architects, managers, and domain experts. More empirical evaluations and open discussions on challenges are needed. Collaboration between academia and industry advances the adoption and transfer of knowledge of DDD in projects.

研究の動機と目的

  • ソフトウェア開発におけるドメイン駆動設計(DDD)に関する既存研究を分析すること。
  • DDDが複雑なシステムやマイクロサービスにおいて実際の開発でどのように適用されているかを特定すること。
  • DDDの導入における課題、特にオンボーディングの困難さと専門知識要件を明らかにすること。
  • 実証的結果の統合を通じて、DDDの有効性を評価すること。
  • 実証的検証のギャップを強調し、学界と産業界の連携強化を求める。

提案手法

  • 関連する査読付き論文を特定および選定するために、系統的文献レビュー(SLR)手法を適用した。
  • 含める基準は、DDDの実装、課題、または有効性に関する議論を含む研究に焦点を当てた。
  • 事前に定めた基準を用いたスクリーニングおよび品質評価の結果、36件の研究が選定された。
  • 定量的および定性的な統合手法を用いて、選定された研究間の発見を分析した。
  • 実装、課題、結果に関する繰り返しパターンを抽出するために、テーマ的分析を適用した。
  • 研究選定の透明性と再現可能性を確保するため、PRISMAガイドラインに従った。

実験結果

リサーチクエスチョン

  • RQ1ドメイン駆動設計(DDD)は、実際のソフトウェア開発プロジェクトでどのように実装されているか?
  • RQ2ソフトウェアチームにおけるDDDの導入に伴って生じる主な課題は何か?
  • RQ3DDDがソフトウェアシステムの品質および保守性を向上させることに関して、どのような証拠が存在するか?
  • RQ4現在のDDD研究において、実証的評価はどの程度存在するか?
  • RQ5ドメインエキスパート、アーキテクト、開発者が、成功したDDD導入において果たす役割は何か?

主な発見

  • DDDはマイクロサービスアーキテクチャにおいて効果的に適用されており、システムの分解とビジネスドメインとの整合性を向上させている。
  • 普遍的言語、境界付きコンテキスト、集約といった主要なDDD概念は、ソフトウェア設計および保守性を顕著に改善している。
  • 多くの研究で実証的検証が不足しており、パフォーマンス向上や欠陥削減といった測定可能な成果を報告している研究は少数にとどまっている。
  • オンボーディングの困難さが頻繁に報告されており、特に深いドメイン知識とクロスファンクショナルな連携が求められるためである。
  • DDDの専門知識は大きな障壁となっており、多くのチームが十分な経験を持つ人材を確保または育成するのに苦慮している。
  • 長期的かつ大規模な実証的研究のギャップが顕著であり、産業現場におけるより厳密な評価の必要性が示唆されている。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。