软件维护PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

9.3.5 维护评价
一般来说,可以从以下七个方面来评价维护工 作: (1)每次程序运行时的平均出错次数; (2)用于每一类维护活动的总“人时”数; (3)每个程序、每种语言、每种维护类型所做 的平均修改数; (4)维护过程中,增加或删除每条源程序语句 花费的平均“人时”数; (5)用于每种语言的平均“人时”数; (6)一张维护申请报告的平均处理时间; (7)各类维护类型所占的百分比。
计划途径 ? 修改设计 重新编码 重新编码
复查
复查
交付使用
9.2.2 维护成本
无形的维护成本: (1)一些看起来是合理的改错或修改的要求不能及时 满足,使得用户不满意; (2)维护时产生的改动,可能会带来新的潜伏的故障, 从而降低了软件的整体质量; (3)当必须把软件开发人员抽调去进行维护工作时, 将在开发过程中造成混乱。
9.3 软件维护过程
9.3.1 维护机构 9.3.2 维护申请报告 9.3.3 维护的工作流程 9.3.4 维护记录 9.3.5 维护评价
退出
9.3.1 维护机构
维护要求 维护管理员 修改负责人
系统管理员
来自百度文库



软件系统
维护管理员 负责接受维护申 请,然后把维护 申请交给某个系 统管理员去评价。 系统管理员是一 名技术人员,他 必须熟悉软件产 品的某一部分。 系统管理员对维 护申请做出评价, 然后交与修改负 责人确定如何进 行修改。
9.3.4 维护记录
对于维护记录中的内容, Swanson 给出了下述 的项目表: (1)程序名称; (2)源程序语句条数; (3)机器代码指令条数; (4)使用的程序设计语言; (5)程序的安装日期; (6)程序安装后的运行次数; (7)与程序安装后运行次数有关的处理故障的 次数;
(8)程序修改的层次和名称; (9)由于程序修改而增加的源程序语句条数; (10)由于程序修改而删除的源程序语句条数; (11)每项修改所付出的“人时”数; (12)程序修改的日期; (13)软件维护人员的姓名; (14)维护申请报告的名称; (15)维护类型; (16)维护开始时间和维护结束时间; (17)用于维护的累计“人时”数; (18)维护工作的净收益。
9.3.2 维护申请报告
维护申请报告是由软件组织外部提交的文档, 它是计划维护活动的基础。软件组织内部应依此制 定相应的软件修改报告,这个报告包括以下内容: (1)为满足某个维护申请要求所需的工作量; (2)所需修改变动的性质; (3)申请修改的优先级; (4)与修改有关的事后数据。 软件修改报告应提交修改负责人进行审核批准, 以便进行下一步工作。
9.2.3 维护的问题
(1)理解他人编写的程序一般都有一定的困难性。 (2)软件配置的文档严重不足甚至没有,或者没有合 格的文档。 (3)当需要对软件进行维护时,由于软件人员经常流 动,维护阶段持续的时间又很长,所以一般不能指望由原 来的开发人员来完成或提供软件的解释。 (4)绝大多数软件在设计时没有考虑到将来的修改问 题。 (5)软件维护可以说是一项毫无吸引力的工作。之所 以形成这样一种观念,一方面是因为软件维护工作量大, 看不到什么“成果”,更主要的原因是因为维护工作难度 大,又经常遭受挫折。
9.4 软件可维护性
9.4.1 软件可维护性的度量 9.4.2 提高软件可维护性的方法 退出
9.4.1 软件可维护性的度量
可以从以下四个方面来度是软件的可维护性: 1.可理解性 2.可测试性 3.可修改性 4.可移植性
9.4.2 提高软件可维护性的方法
1.建立明确的软件质量标准 2.利用先进的软件技术和工具 3.建立明确的质量保证制度 4.选择可维护的程序设计语言 5.改进软件的文档
9.3.3 维护的工作流程
改正性 维护要求 确定类型 不严重 安排改正 完善性 或适应性 性维护 人员安排 评价错误 严重程度 严重 开始 问题分析
维护任务 评价 优先次序 低 错误改正目录 高 人员安排 开始分析 开发目录 复审 修改后的软件
通过后交付使用的软件
无论是哪一种类型的维护,都要进行以下工作: (1)修改软件设计; (2)设计复审; (3)对源代码的必要修改; (4)单元测试; (5)集成测试,包括回归测试; (6)验收测试; (7)软件配置复审。 在每次软件维护任务完成后,需要进行必要的情况评审。 这种评审是对以下问题的一个小结: (1)在当前情况下,设计、编码、测试中的哪些方面 能够改进? (2)哪些维护资源是应该有而实际上却没有的? (3)工作中的主要和次要的障碍是什么? (4)要求的维护类型中有预防性维护吗?
用于软件维护的工作量可以分为两部分:一部分用于 生产性活动,另一部分用于非生产性活动。下面的表达 式是由Belady和Lehman提出的维护工作量的计算模型: M=p+K×e(c – d) M:维护中消耗的总工作量; p:生产性工作量; K:经验常数; c:复杂程度; d:维护人员对软件的熟悉程度。 通过这个模型可以看出,如果使用了不好的软件开发 方法,参加维护的人员都不是原来开发的人员,那么维 护工作量(及成本)将按指数级增加。
第九章 软件维护
9.1 软件维护的概念
9.2 软件维护的特点
9.3 软件维护过程 9.4 软件可维护性 9.5 软件维护的副作用
退出
9.1 软件维护的概念
9.1.1 软件维护的种类
9.1.2 影响维护工作量的因素 退出
9.1.1 软件维护的种类
一般来说,要求进行维护的原因大致有以下几 种: (1)改正程序中的错误和缺陷。 (2)改进设计以适应新的软、硬件环境。 (3)增加新的应用范围。 综合以上几种要求进行维护的原因,我们可以 把软件维护分为以下几类: 1.改正性维护 2.适应性维护 3.完善性维护 4.预防性维护
9.1.2 影响维护工作量的因素
1.系统的规模 2.系统的年龄 3.系统的结构 4.程序设计语言 5.文档的质量
9. 2 软件维护的特点
9.2.1 软件工程与软件维护的关系 9.2.2 维护成本 9.2.3 维护的成本
退出
9.2.1 软件工程与软件维护的关系
维护要求
软件 配置 评价设计
代码
评价代码
相关文档
最新文档