Page 21 - 《软件学报》2021年第9期
P. 21
贾子甲 等:领域驱动设计模式的收益与挑战:系统综述 2645
对象绑定为一个整体,以控制事务;服务则充当领域模型的接口,具有无状态的特点;而资源库则用于封装领域
对象的数据库访问操作.
2 综述方法
本系统性文献综述根据 Kitchenham 等人的指南 [18] 开展研究.本节首先提出驱动本工作开展的研究问题,其
次描述了数据收集所遵循的详细策略和流程,最后描述了本研究的数据抽取和合成过程.
2.1 研究问题
本研究的总体目标是形成在软件开发中应用领域驱动设计模式的系统性理解,了解应用领域驱动设计模
式的实践情况,包括其带来的收益、挑战及应对挑战的缓解方法.为此,本研究提出了如表 1 所示的具体研究问
题.其中:研究问题 1 是为了了解 DDDP 在软件开发项目中的应用现状;研究问题 2 是为了调研应用 DDDP 所带
来的收益情况;研究问题 3 是为了总结应用 DDDP 所面对的挑战以及应对挑战的缓解方法,并挖掘未来可能的
研究方向.
Table 1 Research questions
表 1 研究问题
方面 编号 研究问题
现状 问题 1 哪些 DDDP 被应用于软件开发?
收益 问题 2 应用 DDDP 所带来的收益是什么?
挑战 问题 3 应用 DDDP 需要面对的挑战是什么?
2.2 文献收集
本小节描述了系统文献综述中的数据收集过程,包括了文献检索、文献筛选、文献整合、滚雪球、质量评
估和模式识别等.文献收集的总体流程(于 2019 年 7 月进行)如图 1 所示.本文的 3 位作者在来自手动检索、自
动检索以及滚雪球过程的 1 884 篇文献中最终确定了 26 篇高质量的基础研究(primary study)作为研究集合.
Fig.1 Literaturecollection procedure
图 1 文献收集过程
2.2.1 文献检索
为了尽量降低遗漏任何相关文献的风险,本文采用了多种文献检索策略.此外,根据 Kitchenham 等人的指导
方针 [18] ,我们通过试点(pilot)文献综述确定了一组相关文献,以用于验证检索过程的完整性.这组已知文献包括:
• Challenges of domain-driven microservice design: A model-driven perspective [J];
• Towards a UML profile for domain-driven design of microservice architectures [C];
• Designing microservice-based applications by using a domain-driven design approach [J];