AI 中文总结
针对软件工程中质量、期限与需求适配的难题,提出算法驱动开发方法,经达索系统四年工业项目评估,其可实现高代码覆盖率、低缺陷密度与稳定交付。
AI 中文摘要
在软件工程实践中,既要保证软件质量,又要满足交付期限并适配不断变化的需求,是一项长期存在的挑战。本文介绍了算法驱动开发(Algorithm-Driven Development,ADD),这是一种从工业实践中发展而来的方法,用于解决将需求转化为可靠、可测试且可维护的软件行为时反复出现的难题。ADD将需求转化为算法流程图,再从这些流程图中系统地导出验收测试。这些流程图既作为规范工件,又作为技术蓝图,支持利益相关者与开发者之间达成共识。通过将需求建模与自动化测试生成相连接,ADD从开发初期就覆盖了包括边界情况在内的功能场景。该方法在达索系统(Dassault Systèmes)的一个工业项目中接受了为期四年的评估,涉及两个开发团队:第一团队的生产代码为22444行,第二团队分析了157个应用程序编程接口(API)。评估结合了纵向质量与交付指标,以及ADD、测试驱动开发(TDD)和测试后置开发实践在不同复杂度API功能上的对比分析。从内部生命周期管理和持续集成/持续部署(CI/CD)系统收集的经验数据显示,ADD支持持续达到95%以上的代码覆盖率,在质量保证(QA)和发布后阶段均保持低缺陷密度,且交付节奏稳定。这些发现为ADD在工业软件开发场景中强化需求、测试与实现之间的联系提供了潜在证据。
英文摘要
Ensuring software quality while meeting deadlines and adapting to evolving requirements is a persistent challenge in software engineering practice. This paper introduces Algorithm-Driven Development (ADD), a methodology developed from industrial practice to address recurring challenges in translating requirements into reliable, testable, and maintainable software behavior. ADD translates requirements into algorithmic flowcharts from which acceptance tests are systematically derived. These flowcharts serve both as specification artifacts and as technical blueprints, supporting shared understanding between stakeholders and developers. By linking requirement modeling with automated test generation, ADD provides systematic coverage of functional scenarios, including edge cases, from the outset of development. The approach was evaluated over a four-year period within an industrial project at Dassault Systèmes, involving two development teams, 22,444 lines of production code for Team 1, and 157 APIs analyzed for Team 2. The evaluation combined longitudinal quality and delivery indicators with a comparative analysis of ADD, TDD, and test-last development practices across API functions of different complexity levels. Empirical data collected from internal lifecycle management and CI/CD systems show that ADD supported sustained code coverage above 95%, low defect density in both QA and post-release phases, and a stable delivery cadence. These findings provide evidence of ADD's potential to strengthen the connection between requirements, testing, and implementation in industrial software development contexts.
CommentsAccepted for publication in The Journal of Systems & Software. Manuscript reference: JSSOFTWARE-D-26-00383R2