概念
净室软件工程(Cleanroom Software Engineering,简称CSE)是一种应用数学与统计学理论来经济地生产高质量软件的工程技术。其核心理念是在规约和设计中消除错误,力图通过严格的工程化的软件过程达到开发中的零缺陷或近似零缺陷,以“净”的方式制作软件,从而降低软件开发中的风险,以合理的成本开发出高质量的软件。
净室软件工程强调在软件中建立正确性要求,希望在可能产生严重危险前消除错误,它使用盒结构规约进行分析和建模,将正确性验证作为发现和排除错误的主要机制,它甚至提倡开发者不需要进行单元测试,而是进行正确性验证和统计质量控制。
净室软件工程的核心思想
通过在开发时设置一些严格的规约,第一次便直接正确书写代码,并在测试前验证它们的正确性,就能避免成本很高的错误消除过程
净室软件工程应用技术手段
- 统计过程控制下的增量开发
- 基于函数的规约与设计
- 正确性验证
- 统计测试和软件认证
净室软件过程在使用过程中的一些缺点
- 太理论化,需要更多的数学知识,正确性验证的步骤比较困难且比较费时
- 开发小组不进行传统的模块测试是不现实的