Context: Domain-Driven Design (DDD) addresses software challenges, gaining attention for refactoring, reimplementation, and adoption. It centers on domain knowledge to solve complex business problems. Objective: This Systematic Literature Review (SLR) analyzes DDD research in software development to assess its effectiveness in solving architecture problems, identify challenges, and explore outcomes. Method: We selected 36 peer-reviewed studies and conducted quantitative and qualitative analysis. Results: DDD effectively improved software systems, emphasizing Ubiquitous Language, Bounded Context, and Domain Events. DDD in microservices gained prominence for system decomposition. Some studies lacked empirical evaluations, identifying challenges in onboarding and expertise. Conclusion: Adopting DDD benefits software development, involving stakeholders like engineers, architects, managers, and domain experts. More empirical evaluations and open discussions on challenges are needed. Collaboration between academia and industry advances DDD adoption and knowledge transfer in projects.
翻译:语境:领域驱动设计(DDD)解决了软件开发中的难题,并在重构、再实现与采用方面获得广泛关注。它聚焦于领域知识以解决复杂的业务问题。目标:本系统性文献综述(SLR)旨在分析软件工程中的DDD研究,评估其在解决架构问题中的有效性,识别相关挑战,并探究其成果。方法:我们筛选了36篇经同行评审的研究,并进行了定量与定性分析。结果:DDD有效改进了软件系统,其中通用语言、限界上下文和领域事件是核心要素。DDD在微服务架构中因系统解耦需求而凸显优势。部分研究缺乏实证评估,并指出新成员培训及专业经验方面存在挑战。结论:采用DDD对软件开发具有积极效益,可促进工程师、架构师、项目经理及领域专家等利益相关方的协作。未来需加强实证评估与针对挑战的公开讨论,同时推动学术界与工业界的合作,以促进DDD在项目中的应用与知识迁移。