软件工程复习笔记——第六章 软件维护
第六章 软件维护
6.1 软件维护的类型
- 软件维护是指软件系统交付使用以后,为了改正错误或满足新的需求而修改软件的过程。
一、软件维护的分类
按照不同的维护目的,维护工作可分为4类:
- 完善性维护50%:扩充原有系统的功能,提高性能,满足用户的实际需要
- 纠错性维护25%:对测试阶段未暴露的问题进行即使的修改等
- 适应性维护21%:使运行的软件能适应运行环境的变动而修改软件的过程
- 预防性维护4%:为进一步改善软件的可靠性和易维护性,为未来的维护打下基础而进行的修改
二、维护的步骤
三、维护工作的组织管理
- 软件维护工作不仅是技术性的,它还需要大量的管理工作与之相配合,才能保证维护工作的质量。管理部门应对提交的修改方案进行分析和审查,并对修改带来的影响作充分的估计,对于不妥的修改予以撤销。需修改主文档时,管理部门更应仔细审查。
- 软件维护的管理流程
6.2 软件维护的特性
一、结构化维护与非结构化维护
- 结构化维护—— 指软件开发过程是按照软件工程方法,软件的维护过程,有一整套完整的方案、技术、审定过程。
- 非结构化维护——缺乏必要的文档说明,难于确定数据结构、系统接口等特性。
二、软件维护的代价
-
维护费用高,逐年上涨
-
维护中可能引入新的错误
-
Belady 和 Lehman 提出软件维护工作模型:
M = P + K ∗ E X P ( C − D ) M=P+K*EXP(C-D) M=P+K∗EXP(C−D)
M—维护总工作量 P—生产性活动 K—经验常数 C—程序复杂度(由非结构化维护引起的) D—对维护软件熟悉程度的度量。
6.3 软件维护的技术
一、面向维护的技术
- 在软件开发阶段用来减少错误,提高软件可维护性的技术。涉及到软件开发的所有阶段。
- 可维护性(可测试性、可理解性、可修改性)
二、软件支援技术
- 在软件维护阶段用于提高维护工作的效率和质量的技术。主要用到测试阶段的技术。
- (信息收集、错误原因分析、软件分析与理解、维护方案评价、代码与文档的修改、修改后的确认。)
三、软件维护中应注意的问题
- 谨慎、工具使用
第六章完
ReTo ant: 好帮
qq_54873889: 请问您用的是哪一本书?