自从1968年提出“软件工程”这一术语以来,研究软件工程的专家学者们陆续提出了100多条关于软件工程的准则或信条。 美国著名的软件工程专家 Boehm 综合这些专家的意见,并总结了TRW公司多年的开发软件的经验,于1983年提出了软件工程的七条基本原理。
Boehm 认为,这七条原理是确保软件产品质量和开发效率的原理的最小集合。它们是相互独立的,是缺一不可的最小集合;同时,它们又是相当完备的。
人们当然不能用数学方法严格证明它们是一个完备的集合,但是可以证明,在此之前已经提出的100多条软件工程准则都可以有这七条原理的任意组合蕴含或派生。
下面简要介绍软件工程的七条原理:
1 用分阶段的生命周期计划严格管理
这一条是吸取前人的教训而提出来的。统计表明,50%以上的失败项目是由于计划不周而造成的。在软件开发与维护的漫长生命周期中,需要完成许多性质各异的工作。这条原理意味着,应该把软件生命周期分成若干阶段,并相应制定出切实可行的计划,然后严格按照计划对软件的开发和维护进行管理。 Boehm 认为,在整个软件生命周期中应指定并严格执行6类计划:项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划、运行维护计划。
2 坚持进行阶段评审
统计结果显示: 大部分错误是在编码之前造成的,大约占63%; <2> 错误发现的越晚,改正它要付出的代价就越大,要差2到3个数量级。 因此,软件的质量保证工作不能等到编码结束之后再进行,应坚持进行严格的阶段评审,以便尽早发现错误。
3 实行严格的产品控制
开发人员最痛恨的事情之一就是改动需求。但是实践告诉我们,需求的改动往往是不可避免的。这就要求我们要采用科学的产品控制技术来顺应这种要求。也就是要采用变动控制,又叫基准配置管理。当需求变动时,其它各个阶段的文档或代码随之相应变动,以保证软件的一致性。
4 采纳现代程序设计技术
从六、七时年代的结构化软件开发技术,到最近的面向对象技术,从第一、第二代语言,到第四代语言,人们已经充分认识到:方法大似气力。采用先进的技术即可以提高软件开发的效率,又可以减少软件维护的成本。
5 结果应能清楚地审查
软件是一种看不见、摸不着的逻辑产品。软件开发小组的工作进展情况可见性差,难于评价和管理。为更好地进行管理,应根据软件开发的总目标及完成期限,尽量明确地规定开发小组的责任和产品标准,从而使所得到的标准能清楚地审查。
6 开发小组的人员应少而精
开发人员的素质和数量是影响软件质量和开发效率的重要因素,应该少而精。这一条基于两点原因:高素质开发人员的效率比低素质开发人员的效率要高几倍到几十倍,开发工作中犯的错误也要少的多; 当开发小组为N人时,可能的通讯信道为N(N-1)/2, 可见随着人数N的增大,通讯开销将急剧增大。
7 承认不断改进软件工程实践的必要性
遵从上述六条基本原理,就能够较好地实现软件的工程化生产。但是,它们只是对现有的经验的总结和归纳,并不能保证赶上技术不断前进发展的步伐。因此,Boehm提出应把承认不断改进软件工程实践的必要性作为软件工程的第七条原理。根据这条原理,不仅要积极采纳新的软件开发技术,还要注意不断总结经验,收集进度和消耗等数据,进行出错类型和问题报告统计。这些数据既可以用来评估新的软件技术的效果,也可以用来指明必须着重注意的问题和应该优先进行研究的工具和技术。
分享到:
相关推荐
### 软件工程七条基本原理详解 #### 原理一:需求定义的重要性 Boehm强调需求定义是软件开发过程中的首要任务。需求定义越准确,后期的变更就越少,因此在项目早期阶段,应当投入足够的时间和资源来精确地定义用户...
Boehm提出的软件工程七条基本原理包括: 1. 采用分阶段的生命周期计划进行管理,确保每个阶段都有明确的目标和计划。 2. 在开发过程中坚持阶段性的评审,以便及时发现问题并纠正。 3. 强化产品控制,保证软件质量的...
4. **软件工程七条基本原理**: - 分阶段的生命周期计划:软件开发按照预定义的阶段进行,每个阶段都有明确的目标。 - 阶段评审:在每个阶段结束时进行检查,确保软件质量。 - 产品控制:对软件版本和变更进行...
B.W.Boehm提出的软件工程七条基本原理,包括分阶段管理、阶段评审、产品控制等,至今仍对软件开发具有指导意义。 然而,软件项目常常面临一系列困境,如需求不明确、评估计划不当、项目管理经验不足等。这可能导致...
6. **软件工程的7条基本原理**:这七条原则指导软件开发的实践,强调了需求的清晰性、设计的模块化、测试的重要性、维护的持续性等。这些原则在不同类型的软件开发中依然具有现实意义,尤其在实时系统和复杂项目中。...
1. 软件工程的基本原理有七条:软件错误发现的越早改正的成本越低、软件错误发现的时机很重要、需求阶段一般不会引入错误、软件错误只能通过运行代码才能发现等。 2. 软件工程的出现是由于软件危机的出现,软件危机...
软件工程的七条基本原理强调了生命周期的严格管理、阶段评审、产品控制、现代技术的应用、明确的审查标准、精干的开发团队以及持续改进的重要性。这些原则指导着软件工程方法学的发展,后者包括方法、工具和过程三个...
点:软件工程的基本概念,软件生存周期的各个阶段及其任务,瀑布模型和演化模型的理解难点:软件危机的深层原因,软件工程七条原理的应用教学内容与过程:在软件工程这门课程中,我们首先会深入探讨软件的起源与发展...
#### 四、软件工程的七条基本原理 这七条原理至今仍具有重要的现实意义,尤其在实时跟踪监控系统等领域有着广泛的应用。此外,书中还提出了第八条原理——软件工程中的二八定律,进一步丰富了软件工程的基本原则。 ...
Boehm提出的七条基本原理为软件工程提供了理论基础,它们旨在通过规范化的流程和先进的技术手段,降低软件危机的影响,提高软件开发的成功率和可持续性。随着技术的发展,软件工程的实践也在不断进化,例如敏捷开发...
**软件工程的7+1条基本原理**:这七条原理最初是在面向过程的程序设计时代提出的,即便在当前面向数据和面向对象的时代,依然具备指导意义。例如,在实时跟踪监控系统中有着广泛应用。近年来,软件工程界又提出了第...
为达成这些目标,软件工程遵循一系列准则,其中包括B.W.Boehm提出的七条基本原理,如分阶段的生命周期管理、阶段评审、严格的产品控制、现代程序设计技术的应用、清晰的审查机制、精干的开发团队以及持续改进的意识...
例如,著名软件工程专家Barry Boehm提出的七条基本原理强调了严格的管理、阶段评审、产品控制和现代编程技术的重要性。 【研究生阶段学习能力提升】 在研究生阶段,提高学习能力的关键包括立志、增强理论思维、培养...
Boehm提出了软件工程的七条基本原理,包括阶段性的生命周期计划管理、阶段评审、严格的产品控制、采用现代程序设计技术、结果的清晰审查、精干的开发团队以及持续改进实践。 2. **软件工程过程** - 软件生命周期...
软件工程遵循七条基本原理,例如分阶段生命周期管理、阶段评审、产品控制、现代程序设计技术的运用等,以确保软件项目的顺利进行。面向对象方法学是软件工程中的一种重要方法,它将数据和操作结合成对象,并通过类的...
软件工程试题答案涵盖了软件工程的十个知识域、七条基本原理、结构化开发方法、类图关系、软件模块耦合度等多方面的知识点。 一、软件工程的十个知识域 软件工程的十个知识域包括软件工程过程、软件工程工具和方法...
8. **软件工程的基本原理**:软件工程遵循七条基本原理,如阶段评审、产品控制、模块化设计等,以确保软件开发的规范性和有效性。 9. **软件工程开发原则**:模块化、抽象和信息隐蔽、高内聚和低耦合、确定性、一致...
Boehm 提出了七条基本原理,以确保软件质量和开发效率。 软件生命周期是指软件从定义到维护的整个过程,包括需求分析、软件设计、编码、测试和维护等阶段。技术复审和管理复审是软件工程中重要的一环,目的是为了...