软件开发实验原则与方法解析
1. 软件开发现状与实验的必要性
目前,我们对软件开发过程的认知大多基于无效或不完整的信息,这导致我们开发出的软件系统往往不可靠且不安全。在软件开发的现阶段,我们应将重点放在研究和实验上,为软件开发技术建立科学基础,而测量方法将是这一探索过程的主要驱动力。
要理解如何开发高质量的软件,我们首先要识别开发过程中可能的变异来源。必须精心构建过程和产品的操作定义,以实现准确可靠的测量,同时要深入理解量化水平和测量过程的质量。软件开发过程与炼金术颇为相似,如今的软件开发实践就像炼金术士试图找到将铅变成金子的神奇配方一样,期望通过某种神奇的过滤器将源代码和高层设计转化为可维护且无故障的代码,但实际上并不存在这样的魔法,努力工作才是关键。
2. 科学探究的两种方法
科学探究主要有两种常见方法:事后分析(ex post facto)和实验研究。
2.1 事后分析
在计算机科学和软件工程领域,现有的结构化探究大多采用事后分析方法。这种方法通常是比较两种已知的软件开发技术在某一特性上的差异。例如,比较面向对象(O - O)编程方法和传统非面向对象方法在软件开发场景中的应用。支持净室软件开发方法的许多研究文献都属于事后分析研究。其显著特点是在提出研究问题之前就必须分析已存在的数据,且很少或几乎没有对数据中可能相关的外部变异来源进行控制。
以净室技术为例,该技术开发的软件可能故障较少,但这可能仅仅是因为在生命周期早期对问题的高度关注。也许其他任意的软件开发技术在初始生命周期投入类似的时间后,也能达到同样的效果,但由于缺乏科学控制的实验,我们并不清楚这一点。
超级会员免费看
订阅专栏 解锁全文
5万+

被折叠的 条评论
为什么被折叠?



