11.1软件维护的概念 维护的概念: 在软件已经交付使用之后,为了改正错误或满足新的需要 而修改软件的过程。 维护的目的: 满足用户对已开发产品的性能与运行环境不断提高的要求, 进而达到延长软件寿命的目的。 2
2 11.1 软件维护的概念 维护的目的: 满足用户对已开发产品的性能与运行环境不断提高的要求, 进而达到延长软件寿命的目的。 维护的概念: 在软件已经交付使用之后,为了改正错误或满足新的需要 而修改软件的过程
维护的种类: 1、改正性维护:对程序使用期间发现的程序错误进行诊 断和改正的过程;占维护工作量17-21%。 2、适应性维护:配合变化了的环境进行修改软件的活动; 占维护工作量18-25%。 3、完善性维护:满足用户在使用过程中提出增加新的功 能或修改已有功能的建议而进行的改进工作;占维护工 作量50-66%。 4、预防性维护:为了改善未来的可维护性或可靠性而修 改软件的工作:占维护工作量4%左右。 3
3 1、改正性维护:对程序使用期间发现的程序错误进行诊 断和改正的过程;占维护工作量17-21%。 2、适应性维护:配合变化了的环境进行修改软件的活动; 占维护工作量18-25%。 3、完善性维护:满足用户在使用过程中提出增加新的功 能或修改已有功能的建议而进行的改进工作;占维护工 作量50-66%。 4、预防性维护:为了改善未来的可维护性或可靠性而修 改软件的工作;占维护工作量4%左右。 ◼ 维护的种类:
11.2维护的特点 一.维护方式 方式 结构化维护 非结构化维护 配置 每个阶段文档与程序代码 仅有程序代码 开始 评价设计文档开始 评价代码开始 作 (1)确定软件的结构特征、性能特性和接口特性,(2)确 软件结构、全程数据 定软件修改带来的影响,找出一种处理方法: 结构、系统接口、性 (3)修改设计、复审; 能要求、设计约束等 (4)再编写源程序代码,进行回归测试; 具体特点不清楚而很 (5)将修改后的软件交付使用。 难确定。 成本 维护成本较低。 很高 难度 易于维护。 维护困难
4 11.2 维护的特点 一. 维护方式 方式 结构化维护 非结构化维护 配置 每个阶段文档与程序代码 仅有程序代码 开始 评价设计文档开始 评价代码开始 工作 (1)确定软件的结构特征、性能特性和接口特性,(2)确 定软件修改带来的影响,找出一种处理方法; (3)修改设计、复审; (4)再编写源程序代码,进行回归测试; (5)将修改后的软件交付使用。 软件结构、全程数据 结构、系统接口、性 能要求、设计约束等 具体特点不清楚而很 难确定。 成本 维护成本较低。 很高 难度 易于维护。 维护困难
11.2维护的特点 二.有关的问题 开发方法 开发条件 (1)模块化详细设计文档有助于理解软件的结构、 软件开发及维护人员的水平; 影响 界面功能和内部流程; 维护 使用标准的程序设计语言; 因素 (2)开发过程中严格而科学的管理规划及清晰可靠 使用标准的操作系统接口; 的文档资料对发生错误后的理解与纠错无疑是很 重要的。 使用规范化的文档资料; (3)模块的独立程度对软件修改的难易程度、改进 测试用例的有效性。 和移植影响是很大的 理解 别人写的程序在没有说明文档时,理解很困难,不为人喜欢; 维护 时间 维护持续时间都很长,开发人员一般不在现场,对软件没有人说明。 困难 设计 绝大多数软件在设计时都没有考虑将来的修改。除非设计中强调了模块的独立性 问题 否则软件的修改既困难又易发生差错
5 11.2 维护的特点 二. 有关的问题 影响 维护 因素 开发方法 开发条件 (1)模块化详细设计文档有助于理解软件的结构、 界面功能和内部流程; 软件开发及维护人员的水平; 使用标准的程序设计语言; (2)开发过程中严格而科学的管理规划及清晰可靠 的文档资料对发生错误后的理解与纠错无疑是很 重要的。 使用标准的操作系统接口; 使用规范化的文档资料; (3)模块的独立程度对软件修改的难易程度、改进 和移植影响是很大的 测试用例的有效性。 维护 困难 理解 别人写的程序在没有说明文档时,理解很困难,不为人喜欢; 时间 维护持续时间都很长,开发人员一般不在现场,对软件没有人说明。 设计 问题 绝大多数软件在设计时都没有考虑将来的修改。除非设计中强调了模块的独立性, 否则软件的修改既困难又易发生差错
11.3维护的过程 1.建立软件维护的组织 总负责人、系统管理员和维护管理员等。 2.编写维护的报告 用标准化的格式表达所有软件维护的要求。包括: 1.满足维护要求表中提出的要求所需要的工作量; 2.维护要求的性质; 3.该项要求的优先顺序; 4.与修改有关的事后数据。 6
6 11.3 维护的过程 1. 建立软件维护的组织 总负责人、系统管理员和维护管理员等。 2. 编写维护的报告 用标准化的格式表达所有软件维护的要求。包括: 1.满足维护要求表中提出的要求所需要的工作量; 2.维护要求的性质; 3.该项要求的优先顺序; 4.与修改有关的事后数据