background image

现与改正得越晚,所需付出的代价也越高。因此,在每个阶段都进行严格的评审,
以便尽早发现在软件开发过程中所犯的错误,是一条必须遵循的重要原则。 

3、 实行严格的产品控制

   

 在软件开发过程中不应随意改变需求,因为改变一项需求往往需要付出较高

的代价,但是,在软件开发过程中改变需求又是难免的,由于外部环境的变化,
相应地改变用户需求是一种客观需要,显然不能硬性禁止客户提出改变需求的要
求,而只能依靠科学的产品控制技术来顺应这种要求。

也就是说,当改变需求时,为了保持软件各个配置成分的一致性,必须实行

严格的产品控制,其中主要是实行基准配置管理。所谓基准配置又称基线配置,它
们是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。基准配
置管理也称为变动控制:一切有关修改软件的建议,特别是涉及到对基准配置的
修改建议,都必须按照严格的规程进行评审,获得批准以后才能实施修改。绝对不
能谁想修改软件(包括尚在开发过程中的软件),就随意进行修改。

4、 采用现代程序设计技术

    

从提出软件工程的概念开始,人们一直把主要精力用于研究各种新的程序设

计技术。60 年代末提出的结构程序设计技术,已经成为绝大多数人公认的先进的
程序设计技术。以后又进一步发展出各种结构分析(SA)与结构设计(SD)技术。
实践表明,采用先进的技术既可提高软件开发的效率,又可提高软件维护的效率。 

5、 结果应能清楚地审查

 

 软件产品不同于一般的物理产品,它是看不峥摸不着的逻辑产品。软件开发

人员(或开发小组)的工作进展情况可见性差,难以准确度量,从而使得软件产
品的开发过程比一般产品的开发过程更难于评价和管理。为了提高软件开发过程的
可见性,更好地进行管理,应该根据软件开发项目的总目标及完成期限,规定开
发组织的责任和产品标准,从而使得所得到的结果能够清楚地审查。  

6、 开发小组的人员应该少而精

    

这条基本原理的含义是,软件开发小组的组成人员的素质应该好,而人数则

不宜过多。开发小组人员的素质和数量是影响软件产品质量和开发效率的重要因素。
素质高的人员的开发效率比素质低的人员的开发效率可能高几倍至几十倍,而且
素质高的人员所开发的软件中的错误明显少于素质低的人员所开发的软件中的错
误。此外,随着开发小组人员数目的增加,因为交流情况讨论问题而造成的通信开
销也急剧增加。当开发小组人员数为 N 时,可能的通信路径有 N(N?/FONT>1)/2
条,可见随着人数 N 的增大,通信开销将急剧增加。因此,组成少而精的开发小
组是软件工程的一条基本原理。 

7、 承认不断改进软件工程实践的必要性

  

  遵循上述六条基本原理,就能够按照当代软件工程基本原理实现软件的工

程化生产,但是,仅有上述六条原理并不能保证软件开发与维护的过程能赶上时
代前进的步伐,能跟上技术的不断进步。因此,Boehm 提出应把承认不断改进软件
工程实践的必要性作为软件工程的第七条基本原理。

按照这条原理,不仅要积极主动地采纳新的软件技术,而且要注意不断总结

经验,例如,收集进度和资源耗费数据,收集出错类型和问题报告数据等等。这些
数据不仅可以用来评价新的软件技术的效果,而且可以用来指明必须着重开发的
软件工具和应该优先研究的技术。

四、可维护性