您现在的位置是:首页 >技术杂谈 >软件工程基本原理网站首页技术杂谈
软件工程基本原理
美国著名的软件工程专家B.W.Boehm 于 1983 年提出了软件工程的7条基本原理。Boehm 认为这7 条原理是确保软件产品质量和开发效率的原理的最小集合。
1. 用分阶段的生命周期计划严格管理
有统计表明,50%以上的失败项目是由于计划不周造成的。在软件开发与维护的漫长生命周期中,需要完成许多各种各样的工作。这条基本原理意味着应该把软件生命周期划 分成若干个阶段,并相应地制订出切实可行的计划,然后严格按照计划对软件的开发与维护工作进行管理。Boehm认为,在软件的整个生存周期中应该制定并严格执行六类计划: 项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划和运行维护计划。
2. 坚持进行阶段评审
据统计结果显示,大部分错误是在编码之前造成的。根据Boehm等人的统计,设计错误占软件错误的63%,编码错误仅占37%,而且错误发现与改正得越晚,所需付出的代价越高。因此,在每个阶段都应进行严格的评审,以便尽早发现在软件开发过程中所犯的错误。
3. 实现严格的产品控制在软件开发过程中不应随意改变需求,因为改变 一项需求需要 付出较高的代价
但是,在软件开发过程中改变需求又是难免的,由于外部环境的变化,相应地改变用户需求是一种客观需要,这就要采用科学的产品控制技术来顺应这种要求。在改变需求时, 为了保持软件各个配置成分的一致性 ,必须实行严格的产品控制,其中主要是实行基准配罝管理。基淮配置又称为基线配置,它是经过阶段评审后的软件配置成分( 各个阶段产生的文档或程序代码)。基准配置管理也称为变动控制, 一切有关修改软件的建议,特别是涉及基准配置的修改建议,都必须按照严格的规程进行评审,在获得批准以后才能实施修改。
4. 采用现代程序设计技术
从20世纪60年代和70年代的结构化软件开发技术到面向对象技术,从第一代、第二代语言到第四代语言,人们已经充分认识到: 方法大于力气。采用先进的技术既可以提高软件开发的效率,又可以降低软件维护的成本。
5. 结果应能清楚地审查
软件是一种看不见、摸不着的逻辑产品。软件开发小组的工作进展情况可见性差,难以评价和管理。为了更好地进行管理,应根据软件开发的总目标及完成期限尽量明确地规 定开发小组的责任和产品标准,从而使所得到的结果能够清楚地审查。
6 .开发小组的人员应少而精开发人员的素质和数量是影响软件质量和开发效率的重要因素,应该少而精
这一条基于两点原因: 高素质开发人员的效率比低素质开发人员的效率要高几 倍到几十倍,开发工作中犯的错误也要少得多;当开发小组为N人时,可能的通信信道为N(N-1)/2。可见,随着人数N的增大,通信开销将急剧增大。
7. 承认不断改进软件工程实践的必要性
遵循上述6条基本原理,就能够按照当代软件工程基本原理实现软件的工程化生产。 但是它们只是对现有经验的总结和归纳,并不能保证软件开发与维护的过程能赶上时代前 进的步伐,能跟上技术的不断进步。因此,Boehm提出应把“承认不断改进软件工程实践的必要性” 作为软件工程的第7条原理。根据这条原理,用户不仅要积极采纳新的软件开发技术,还要注意不桥总结经验,收集进度和消耗等数据,进行出错类型和问题报告统计。这些数据既可以用来评估新的软件技术的效果,也可以用来指明必须着重注意的问题和应该优先进行研究的工具和技术。