通常,人们习惯把软件工程的方法、工具、过程称为软件工程三要素。其中软件工程方法为软件开发提供了“如何做”的技术,而软件工具为软件工程方法提供了自动的或半自动的软件支撑环境,过程则是将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的。软件工程过程定义了开发方法使用的顺序、要求交付的文档资料、为保证质量和适应变化所需要的管理、软件开发各个阶段完成的里程碑等内容。
1983年,美国TRW公司著名的软件工程专家B.W.Boehm提出了7条原理作为软件工程的基本原理。
(1)用分阶段的生命周期计划严格地管理软件开发。这些阶段包括计划、分析、设计、编程、测试和运行维护,其中计划应包括六类:项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划和运行维护计划。
(2)坚持进行阶段评审。上一阶段评审不通过,就不能进入下一阶段开发。因为错误发现越晚,所付代价越高。
(3)实行严格的产品控制。改变需求时,为保证软件各个配置成分的一致性,必须按照严格的规程进行评审,批准后才能实施修改。
(4)采用现代程序设计技术,提高软件开发和维护效率。
(5)结果应能清楚地审查。为提高软件开发过程的可见性,应根据软件开发项目的总目标和完成期限,规定开发组织的责任和产品标准;对文档要有严格的要求,使结果能清楚地审查。(www.xing528.com)
(6)开发小组的人员应少而精,只有这样才能保证效率高、错误少。
(7)承认不断改进软件工程实践的必要性。不仅要积极主动地采纳新的软件技术,还要注意不断总结经验、与时俱进。
上述7条原理,虽然是在面向过程的程序设计时代提出来的,但直到今天仍然有效。根据与时俱进的原则,还有一条基本原理需要补充,作为软件工程的第8条基本原理。
(8)“二八”定律。对软件项目进度和工作量的估计一般主观上认为已经完成了80%的,往往实际上只完成了20%。对程序中存在的问题的估计,80%的问题往往存在于20%的程序之中。对模块功能的估计,20%的模块实现了80%的功能。对人力资源的估计,20%的人解决了软件中80%的问题。对投入资金的估计,企业信息系统中80%的问题,可以用20%的资金来解决。
在软件开发和管理的历史上,有无数的案例都验证了“二八”定律,所以可以认为它是软件工程的基本原理。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。