为了保证在软件项目中能够有效地贯彻与正确地使用软件工程规程,需要有一定的原则来对软件项目加以约束。经过长期的实践,著名软件工程专家B.W.Boehm提出了以下7条软件工程的基本原则。
1.采用分阶段的生命周期计划,以实现对项目的严格管理
软件项目的开展,需要计划在先,实施在后。统计资料表明,有50%以上的失败项目是由于计划不周而造成的。在软件开发与维护的漫长生命周期中,需要完成许多性质各异的工作,这意味着,应该把软件生命周期划分为若干个阶段,并相应地制订出切实可行的计划,然后严格按照计划对软件的开发与维护进行管理。
2.坚持进行阶段评审,以确保软件产品质量
软件的质量保证工作贯穿软件开发的各个阶段。实践表明,软件的大部分错误是编程之前造成的。根据B.W.Boehm的统计,设计错误占软件错误的63%,编码错误仅占37%。软件中的错误发现与纠正得越晚,所需要付出的代价也越高。因此,在每个阶段都要进行严格的评审,尽早地发现软件中的错误,通过对软件质量实施过程监控,以确保软件在每个阶段都能够具有较高的质量。
3.实行严格的产品控制,以适应软件规格的变更
在软件开发过程中不应随意改变需求,因为改变一项需求需要付出较高的代价。但在软件开发过程中改变需求又是难免的,只能依靠科学的产品控制技术来顺应这种要求。也就是说,当改变需求时,为了保持软件各个配置成分的一致性,必须实现严格的产品控制,其中主要是实行基准配置管理。所谓基准配置是指经过阶段评审或软件配置成分(各个阶段产生的文档或程序代码)。基准配置管理也称为变动控制,是指一切有关修改软件的建议,特别是涉及对基准配置的修改建议,都必须按照严格的规程进行评审,获得批准以后,才能实施修改,绝对不能随意修改软件。实行严格的产品控制,能够对软件的规格进行跟踪记录,使软件产品的各项配置成分保持一致性,由此来适应软件的需求变更。
4.采用现代程序设计技术(www.xing528.com)
采用先进的软件开发和维护技术,不仅能够提高软件开发和维护效率,而且可以提高软件产品的质量,降低开发成本,缩短开发时间,增加软件的使用寿命。例如,构件架构系统的特点是通过创建比“类”更加抽象、更具有通用性的基本构件,可以使软件开发如同可插入的零件一样装配,这样的软件不仅开发容易,维护方便,而且可以根据用户的特定需求方便地进行改装。
5.软件成果能清楚地审查
软件成果是指软件开发各个阶段产生的一系列文档、代码、资源数据等,是对软件开发给出评价的基本依据。由于软件产品的生产过程可见性差,没有明显的生产过程,工作进展难以准确度量和控制,从而使软件产品的开发过程比其他产品的开发过程更难于评价和管理。为了提高软件开发过程的可见性,更好地进行管理,就要根据软件开发项目的总目标及完成期限,规定开发组织的责任和产品标准,从而使得所得到的结果能够清楚地审查。
6.开发小组人员应该少而精
开发小组人员的素质和数量是影响软件产品质量和开发效率的重要因素。高素质人员的开发效率和质量是低素质的人员的几倍甚至几十倍。此外,随着开发小组人员数目的增加,因为交流讨论而造成的通信开销也会急剧增加。如果小组中有N个成员,可能的通信路径就有N(N-1)/2条,这势必影响人员之间的相互协作与工作质量,因此,组成少而精的开发小组非常重要。
7.承认不断改进软件工程实践的必要性
在遵循上述6条基本原理的基础上,还应该注意不断改进软件工程实践的必要性。这说明软件工程在实际应用中,不仅要积极主动地采纳新的软件技术,而且要注意不断地总结经验。例如,收集进度和资源消耗数据,收集软件出错类型和问题报告数据等,这些数据不仅可以用来评价新的软件技术的效果,而且可以用来指明必须着重开发的软件工具和应该优先研究的技术。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。