第九章软件维 9.1软件维护的概念 92软件维护的特点 93软件维护过程 94软件可维护性 9.5软件维护的副作用 退出
9.2 软件维护的特点 9.3 软件维护过程 9.4 软件可维护性 9.5 软件维护的副作用 退出 第九章 软件维护 9.1 软件维护的概念
9.1软件维护的概念 911软件维护的种类 9.12影响维护工作量的因素 退出
9.1 软件维护的概念 9.1.1 软件维护的种类 9.1.2 影响维护工作量的因素 退出
911软件维护的种类 般来说,要求进行维护的原因大致有以下几 种 (1)改正程序中的错误和缺陷。 (2)改进设计以适应新的软、硬件环境。 (3)增加新的应用范围。 综合以上几种要求进行维护的原因,我们可以 把软件维护分为以下几类: 改正性维护 2.适应性维护 3.完善性维护 4.预防性维护
一般来说,要求进行维护的原因大致有以下几 种: (1)改正程序中的错误和缺陷。 (2)改进设计以适应新的软、硬件环境。 (3)增加新的应用范围。 综合以上几种要求进行维护的原因,我们可以 把软件维护分为以下几类: 1.改正性维护 2.适应性维护 3.完善性维护 4.预防性维护 9.1.1 软件维护的种类
91.2影响维护工作量的因素 1.系统的规模 2.系统的年龄 3.系统的结构 4.程序设计语言 5.文档的质量
9.1.2 影响维护工作量的因素 1.系统的规模 2.系统的年龄 3.系统的结构 4.程序设计语言 5.文档的质量
9.2软件维护的特点 921软件工程与软件维护的关系 9,22维护成本 923维护的成本 退出
9. 2 软件维护的特点 9.2.1 软件工程与软件维护的关系 9.2.2 维护成本 退出 9.2.3 维护的成本
921软件工程与软件维护的关系 维护要求 软件 代码 配置 评价设计 评价代码 计划途径 修改设计 重新编码 重新编码 复查 复查 交付使用
9.2.1 软件工程与软件维护的关系 配置 评价设计 计划途径 修改设计 重新编码 评价代码 ? 复查 重新编码 复查 维护要求 交付使用 软件 代码
922维护成本 无形的维护成本: (1)一些看起来是合理的改错或修改的要求不能及时 满足,使得用户不满意; (2)维护时产生的改动,可能会带来新的潜伏的故障, 从而降低了软件的整体质量; (3)当必须把软件开发人员抽调去进行维护工作时, 将在开发过程中造成混乱
无形的维护成本: (1)一些看起来是合理的改错或修改的要求不能及时 满足,使得用户不满意; (2)维护时产生的改动,可能会带来新的潜伏的故障, 从而降低了软件的整体质量; (3)当必须把软件开发人员抽调去进行维护工作时, 将在开发过程中造成混乱。 9.2.2 维护成本
用于软件维护的工作量可以分为两部分:一部分用于 生产性活动,另一部分用于非生产性活动。下面的表达 式是由 Belady和 Lehman提出的维护工作量的计算模型: M=p+K×ee=0 M:维护中消耗的总工作量; p:生产性工作量 K:经验常数 c:复杂程度 d:维护人员对软件的熟悉程度。 通过这个模型可以看出,如果使用了不好的软件开发 方法,参加维护的人员都不是原来开发的人员,那么维 护工作量(及成本)将按指数级增加
用于软件维护的工作量可以分为两部分:一部分用于 生产性活动,另一部分用于非生产性活动。下面的表达 式是由Belady和Lehman提出的维护工作量的计算模型: M=p+K×e (c – d) M:维护中消耗的总工作量; p:生产性工作量; K:经验常数; c:复杂程度; d:维护人员对软件的熟悉程度。 通过这个模型可以看出,如果使用了不好的软件开发 方法,参加维护的人员都不是原来开发的人员,那么维 护工作量(及成本)将按指数级增加
923维护的问题 (1)理解他人编写的程序一般都有一定的困难性 (2)软件配置的文档严重不足甚至没有,或者没有合 格的文档。 (3)当需要对软件进行维护时,由于软件人员经常流 动,维护阶段持续的时间又很长,所以一般不能指望由原 来的开发人员来完成或提供软件的解释。 (4)绝大多数软件在设计时没有考虑到将来的修改问 题 (5)软件维护可以说是一项毫无吸引力的工作。之所 以形成这样一种观念,一方面是因为软件维护工作量大, 看不到什么“成果”,更主要的原因是因为维护工作难度 大,又经常遭受挫折
(1)理解他人编写的程序一般都有一定的困难性。 (2)软件配置的文档严重不足甚至没有,或者没有合 格的文档。 (3)当需要对软件进行维护时,由于软件人员经常流 动,维护阶段持续的时间又很长,所以一般不能指望由原 来的开发人员来完成或提供软件的解释。 (4)绝大多数软件在设计时没有考虑到将来的修改问 题。 (5)软件维护可以说是一项毫无吸引力的工作。之所 以形成这样一种观念,一方面是因为软件维护工作量大, 看不到什么“成果” ,更主要的原因是因为维护工作难度 大,又经常遭受挫折。 9.2.3 维护的问题
9.3软件维护过程 9.3.1维护机构 9.32维护申请报告 93.3维护的工作流程 934维护记录 935维护评价 退出
9.3 软件维护过程 9.3.1 维护机构 9.3.2 维护申请报告 退出 9.3.3 维护的工作流程 9.3.4 维护记录 9.3.5 维护评价