摘要:背景:近年来,领域驱动设计(domain driven design,简称DDD)作为一种软件设计方法在业界中逐渐流行起来,并形成了若干应用的固有范式,即领域驱动设计模式(domain driven design pattern,简称DDDP).然而,目前软件开发社区却仍然对DDDP在软件项目中的作用缺少较为全面的了解.目的:旨在揭示DDDP的应用情况,即哪些DDDP被应用到了软件开发中,以及其所带来的收益、挑战及相应的缓解挑战方法.方法:应用系统化文献综述方法,对2003年~2019年7月之间发表的相关文献进行了识别、筛选、汇总和分析.结果:通过结合手动检索、自动检索和滚雪球等过程,覆盖了1 884篇相关文献,经过筛选,最终得到26篇高质量文献,对应26个独立的研究.总结了基础研究中DDDP的应用概况,即已经被应用到软件开发中的DDDP以及应用DDDP所获得的11项收益、17个挑战以及相应的缓解挑战方法.结论:因为对领域知识非常重视,领域驱动设计能够帮助实践者更好地进行软件设计,但在具体应用领域驱动设计模式时却存在着诸多挑战.虽然目前存在一些缓解方法能够在一定程度上应对挑战,但是仍然存在很多不足.通过系统文献综述,填补了学术界在这一领域的空白.考虑到DDDP的实践价值与当前理论成熟度的不匹配,未来工业界和学术界应该给予该领域更多关注.
Abstract:In recent years, domain driven design (DDD), as a software design method, has gradually become popular in the industry and formed several inherent paradigms of application, namely domain driven design pattern (DDDP). However, the software development community still lacks a comprehensive understanding of the role of DDDP in software projects. Objective:This study aims to reveal the application status of DDDP, including which DDDP is applied to software development, the benefits, challenges, and mitigation methods for challenges. Methods:In our study, a systematic literature review is performed to identify, screen, summarize and analyze the relevant literature published between 2003 and July 2019. Results:Through the combination of manual retrieval, automatic retrieval and snowballing, this paper covered 1 884 relevant literatures, and after screening, 26 high-quality literatures were finally obtained, corresponding to 26 independent studies. This study summarized theoverview of DDDP in the primarystudies, including the 11 benefits, 17 challenges and the mitigation methods of challenges for the DDDP which applied in software development. Conclusion:DDD can help practitioners design software better since its prominent emphasis on domain knowledge, but there are still some challenges when applying DDD patterns. While these mitigation methods may tacklethe challenges to a certain extent, there are also some deficiencies remained. This study fills in the knowledge gaps in this field through SLR. Considering the mismatch between the practical value of DDDP and the current theoretical maturity, the industry and academia should pay more attention to this field in the future.
PDF全文下载地址:
http://jos.org.cn/jos/article/pdf/6275
删除或更新信息,请邮件至freekaoyan#163.com(#换成@)
领域驱动设计模式的收益与挑战:系统综述
本站小编 Free考研考试/2022-01-02
相关话题/软件 设计 文献 过程 系统
软件缺陷自动修复技术综述
摘要:软件缺陷是软件开发和维护过程中不可避免的.随着现代软件规模的不断变大,软件缺陷的数量以及修复难度随之增加,为企业带来了巨大的经济损失.修复软件缺陷,成为了开发人员维护软件质量的重大负担.软件缺陷自动修复技术有希望将开发者从繁重的调试中解脱出来,近年来成为热门的研究领域之一.搜集了94篇该领域最 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02国产复杂异构高性能数值软件的研制与测试专题前言
摘要:中国科学院首个C类战略性先导科技专项XDC01000000主要目标已经达到.在数值软件层面,该先导专项第1阶段的主要任务是在复杂异构先进计算系统上研制高水平的基准测试软件HPL(highperformanceLinpack)和HPCG(highperformanceconjugategradi ...中科院软件研究所 本站小编 Free考研考试 2022-01-02国产异构系统上HPL的优化与分析
摘要:随着异构系统成为建造超级计算机的重要选择,如何让CPU与加速器协调工作以充分发挥异构系统的计算性能具有重要意义.HPL是高性能计算领域最重要的基准测试程序,传统面向纯CPU系统的HPL算法通过加速器加速矩阵乘法的做法已经无法取得很好的性能.针对这一问题,提出了基于国产处理器-国产加速器异构系统 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02复杂异构计算系统HPL的优化
摘要:当今世界的主流超级计算机越来越多地使用带有加速器的异构系统.随着加速器的浮点性能不断提高,超级计算机内计算节点的CPU、内存、总线、网络以及系统架构都要与之相适应.HPL(highperformanceLinpack)是高性能计算机评测的传统基准测试程序,复杂异构系统给HPL评测带来很多机遇与 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02国产异构系统上的HPCG并行算法及高效实现
摘要:HPCG基准测试程序是一种新的超级计算机排名度量标准.该测试基准主要用于衡量超级计算机解决大规模稀疏线性系统的能力,更贴近实际应用,近年来广受关注.基于国产超级计算机研究异构众核并行HPCG软件具有非常重要的意义,其不仅可以提升国产超级计算机HPCG的排名,还对很多应用提供了并行算法、优化技术 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02面向异构计算的高性能计算算法与软件
摘要:研发适应国产异构计算环境的高性能计算算法与软件是非常重要的课题,对我国高性能计算软件研发匹配高性能计算硬件高水平发展的速度具有重要意义.首先,简要介绍高性能计算应用软件的现状、趋势和面临挑战,并对几类典型高性能计算应用软件开展并行计算算法特征分析,涵盖了宇宙N体模拟、地球系统模式、计算材料相场 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02SW26010众核任务并行调度系统及其嵌套并行算法应用
摘要:任务并行是并行程序设计的基础设计模式.但由于算法本身的复杂性及目标平台的特殊性,设计实现高效率的任务并行程序对程序员来说往往充满挑战.基于新兴的SW26010众核CPU,提出了支持任务嵌套并行模式的通用运行时框架SWAN.SWAN对任务并行程序的实现提供了高层次的抽象,使程序员能够专注于算法逻 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02泛在嵌入式智能系统专题前言
摘要:目前,世界范围的科技革命和产业变革正在孕育兴起,一些重要科学问题和关键核心技术正在呈现革命性的突破先兆.同时,“万物智联”时代正在加速到来,IOT/CPS、AIOT等蓬勃发展,以泛在感知、泛在互联、泛在智能为特征的各类智慧系统,以嵌入式系统为基础,与大数据、区块链、云计算呈现融合发展趋势.随着 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02面向非确定性的软件质量保障方法与技术专题前言
摘要:随着互联网、物联网、云计算等新计算平台、新应用模式、及智能化等新软件模式的广泛运用,软件系统内外各种来源的非确定性不断增强.从软件系统内部的不确定性看,并发程序是一类典型的非确定性软件系统.并发程序由于其随机性高的特点,容易导致并发缺陷且难以调试.从软件系统外部的不确定性看,软件所处的网络环境 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02复杂软件系统的不确定性
摘要:复杂软件系统(如信息物理系统CPS、物联网IoT以及自适应软件系统等)在其开发和运行过程中会遇到各种类型的不确定性问题.针对这些不确定性问题,研究人员开展了大量的研究工作,提出了一系列的方法,取得了诸多成果.然而,由于此类系统本身固有的复杂性和其内在与外在不确定性的共同作用,截止目前研究人员针 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02