软件工程的基本原理

自1968年软件工程的概念提出以来,研究软件工程的专家学者们陆续提出了100多条关于软件工程的准则或“信条”。著名的软件工程专家Barry·Boehm(巴利·玻姆)于1983年综合了这些专家学者们的意见,并总结了开发软件的经验,提出了软件工程的7条基本原理。这7条原理被认为是确保软件产品质量和开发效率的最小集合,7条原理是互相独立的,其中任意6条原理的组合都不能代替另1条原理,因此,它们是缺一不可的最小集合。并且这7条原理又是相当完备的集合,在此之前提出的100多条软件工程原理都可以由这7条原理任意组合或派生得到。下面简单介绍下这7条基本原理。

1.用分阶段的生命周期计划严格管理

经统计发现,在不成功的软件项目中有一半左右是由于计划不周而造成,可见把建立完善的计划作为第一条基本原理是吸取了前人的教训而提出来的。在软件开发与维护的漫长的生命周期中,需要完成许多性质各异的工作。这条基本原理意味着,应该把软件生命周期划分成若干个阶段,并相应地制定出切实可行的计划,然后严格按照计划对软件的开发与维护工作进行管理。Boehm认为,在软件的整个生命周期中应该制定并严格执行六类计划,它们分别是项目概要计划,里程碑计划,项目控制计划,产品控制计划,验证计划和运行维护计划。不同层次的管理人员都必须严格按照计划各尽其职地管理软件开发与维护工作,绝不能受客户或上级人员的影响而擅自背离预定计划。

2.坚持进行阶段评审

当时已经认识到,软件的质量保证工作不能等到编码阶段结束之后再进行。这样说至少有两个理由:第一,大部分错误是在编码之前造成的,据统计,编码阶段之前的错误占63%,而编码错误仅占37%;第二,错误发现与改正得越晚,所需付出的代价越高。因此,在每个阶段都进行严格的评审,以便尽早发现在软件开发过程中所犯的错误,是一条必须遵循的重要原理。

3.实行严格的产品控制

在软件开发过程中不应随意改变需求,因为改变一项需求往往需要付出较高的代价,但是,由于外部环境的变化,在软件开发过程中改变需求又是难免的,所以只能依靠科学的产品控制技术来顺应这种要求。也就是说,当改变需求时,为了保持软件各个配置成分的一致性,必须实行严格的产品控制,其中主要是实行基准配置管理。所谓基准配置又称基线配置,它们是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。基准配置管理也称为变动控制:一切有关修改软件的建议,特别是涉及对基准配置的修改建议,都必须按照严格的规程进行评审,获得批准以后才能实施修改。绝对不能谁想修改软件(包括尚在开发过程中的软件),就随意进行修改。

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

从提出软件工程的概念开始,人们一直致力于研究新的程序设计技术。20世纪60年代末提出的结构程序设计技术,已经成为绝大多数人公认的先进的程序设计技术。后面又进一步发展出结构分析(SA)与结构设计(SD)技术,之后又出现面向对象分析(OOA)、面向对象设计(OOD)技术等。实践表明,采用先进的技术既可提高软件开发的效率,又能提高软件维护的效率。

5.结果应能清楚地审查

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

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

这条基本原理的含义是,软件开发小组的组成人员的素质应该好,而人数则不宜过多。开发小组人员的素质和数量是影响软件产品质量和开发效率的重要因素。素质高的人员的开发效率比素质低的人员的开发效率可能高几倍至几十倍,而且素质高的人员所开发的软件中的错误明显少于素质低的人员所开发的软件中的错误。此外,随着开发小组人员数目的增加,人员之间交流情况、讨论问题的通信开销将急剧增加,增加人数不但不能提高生产效率,相反会由于通信等问题而降低生产效率。当开发小组人员数为 时,可能的通信路径有 ( -1)/2条,可见随着人数 的增大,通信开销将急剧增加。因此,组建少而精的开发小组是软件工程的一条基本原理。

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

遵循上述6条基本原理,就能够按照当代软件工程基本原理实现软件的工程化生产,但是,仅有上述6条原理并不能保证软件开发与维护的过程能赶上时代前进的步伐,能跟上技术的不断进步。因此,Boehm提出应把承认不断改进软件工程实践的必要性作为软件工程的第7条基本原理。按照这条原理,不仅要积极主动地采纳新的软件技术,而且要注意不断地总结经验。此外,需要收集进度和积累资源耗费、出错类型和问题报告等数据,用以评价软件技术的效果和软件人员的能力,确定必须着重开发的软件工具和应该优先研究的技术。

版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。http://www.apmygs.com/428.html
返回顶部