Page 23 - 《软件学报》2021年第9期
P. 23

贾子甲  等:领域驱动设计模式的收益与挑战:系统综述                                                       2647


             (3)  滚雪球
             在手动检索与自动检索之后,本研究中还使用了反向滚雪球(backward snowballing,简称 BSB)和前向滚雪
         球(forward snowballing,简称 FSB)方法对检索结果进行补充.考虑到滚雪球的初始论文集决定了该过程的效率
         和完整性,本研究将手动检索和自动检索所得进行文献选择并合并后的结果(见图 1 和表 4)作为滚雪球的初始
         集合.注意,所有手动检索的结果都被自动检索的结果覆盖.在这个阶段,我们遵循 Wohlin                          [19] 的指导方法,并且反
         复迭代滚雪球的过程,直到不再有新的文献被发现.
             表 4 中,第 1 次迭代和第 2 次迭代最终分别获得 16 项(5+12=17,其中 1 篇文献重复,最终得到 16)和 2 项新
         研究文献.
                                    Table 4    Intermediate result in snowballing
                                         表 4   滚雪球过程的中间结果
                       检索阶段     初始文献数量     来自 BSB 的文献数量     来自 FSB 的文献数量     文献总数
                        迭代 1        44            5                12          16
                        迭代 2        16            2                0           2
             (4) DDDP 的自动检索
             为了进一步确保研究集合的完整性,本研究通过基于 DDDP 名称的自动检索来补充现有的检索策略.具体
         来说,我们在 Scopus 中执行了另一个自动检索过程,其检索的字符串由每个模式的名称以及“domain”(“领域驱
         动设计”的最通用术语)和“software”(软件工程最通用的术语)组成.比如,与 DDDP“Entity”(及“Entities”)相关的
         检索字符串为如下:
                                    (“Entit*” AND “domain” AND “software”).
             对于 DDDP 的完整列表,我们遵循了 Evans         [20] 在 2014 年的总结,总共包含 45 个模式.然而,虽然这种检索方
         法使用 Scopus 中的字段码 TITLE-ABS-KEY 检索到了 7 515 篇论文,但经过文献筛选后,并未获得新的文献.两
         次检索所得论文数量的巨大反差,可能是因为许多 DDDP 的名称在软件工程中也非常通用,比如服务(service)
         和资源库(repository)等.因此,本文并没有在图 1 中包含此检索过程.
         2.2.2   文献筛选
             本系统文献综述使用的文献纳入和排除标准如下所示.注意,只有符合所有纳入标准的基础研究文献才会
         被纳入,而符合任何一项排除标准的文献都将被排除.
             (1)  纳入标准(include criteria)
             •   IC1:文献提供了关于 DDD 的某种形式的数据.在这一阶段,我们的目标是最大限度地扩大文献范围,以
                确保研究的完整性;
             (2)  排除标准(exclude criteria)
             •   EC1:发表于 2003 年 DDD 被发表之前的文献(因为 DDD 于 2003 年被提出);
             •   EC2:无法获得电子版全文的文献;
             •   EC3:用英语以外的语言撰写的文献;
             •   EC4:没有经过同行评审的文献;
             •   EC5:存在更加完整的文献.即同一基础研究(primary study)有多篇文献,此时将最完整的文献纳入.
             具体筛选过程如下:
             •   前期准备:按主题筛选——我们通过浏览自动检索得到的每篇文献的标题,并确定其是否属于软件工
                程领域.注意,这个阶段是专门为自动检索设计的,因为一些数字图书馆(例如 Scopus 和 ScienceDirect)
                不支持基于主题的筛选,或者其基于主题的筛选功能相对有限;
             •   第 1 阶段:按标题筛选——我们通过浏览手动检索、自动检索以及滚雪球所得到的文献列表的标题,
                以确定哪些文献符合纳入/排除标准;
             •   第 2 阶段:按关键词和摘要筛选——我们分析通过第 1 阶段的文献的关键词和摘要,进一步确定它们是
   18   19   20   21   22   23   24   25   26   27   28