1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
hasoivho.ppt

Software Engineering 软件维护 软件维护的概念 软件维护活动 程序修改的步骤及修改的副作用 可维护性 提高可维护性的方法 软件维护的概念 软件维护的定义 影响维护工作量的因素 软件维护的策略 维护成本 软件维护的定义 在软件运行/维护阶段对软件产品进行的修改就是所谓的维护。 软件维护的定义 软件维护的种类 一般来说,要求进行维护的原因大致有以下几种: (1)改正程序中的错误和缺陷。 (2)改进设计以适应新的软、硬件环境。 (3)增加新的应用范围。 综合以上几种要求进行维护的原因,我们可以把软件维护分为以下几类: 1.改正性维护 2.适应性维护 3.完善性维护(占整个维护工作的50% ) 4.预防性维护 在整个软件维护阶段所花费的全部工作量中,完善性维护占了几乎一半的工作量。 软件维护活动所花费的工作占整个生存期工作量的70%以上。 影响维护工作量的因素 1.系统的规模 2.系统的年龄 3.系统的结构 4.程序设计语言 5.文档的质量 软件维护的策略 改正性维护 通常要生成100%可靠的软件并不一定合算,成本太高。但通过使用新技术,可大大减少进行改正性维护的需要。 这些技术包括:数据库管理系统、软件开发环境、程序自动生成系统、较高级(第四代)的语言。以及新的开发方法、软件复用、防错程序设计及周期性维护审查等。 软件维护的策略 适应性维护 这一类维护不可避免,可以控制。 (1) 在配置管理时,把硬件、操作系统和其它相关环境因素的可能变化考虑在内。 (2) 把与硬件、操作系统以及其它外围设备有关的程序归到特定的程序模块中。 (3) 使用内部程序列表、外部文件,以及处理的例行程序包,可为维护时修改程序提供方便。 软件维护的策略 完善性维护 利用前两类维护中列举的方法,也可以减少这一类维护。 建立软件系统的原型,在实际系统开发之前提供给用户。用户通过研究原型,进一步完善其功能要求,就可以减少以后完善性维护的需要。 维护成本 有形的软件维护成本是花费了多少钱,无形的维护成本有更大的影响。 一些合理的修复或修改请求不能及时安排,使得客户不满意; 变更的结果引入新的故障,使得软件整体质量下降; 把软件人员抽调到维护工作中,干扰了软件开发工作。 维护成本 业务应用系统:维护费用与开发成本大体相同 。 嵌入式实时系统:维护费用是开发成本的四倍以上。 维护成本 软件维护的代价是降低了生产率,在做老程序的维护时非常明显。 例如,开发每一行源代码耗资25美元,维护每一行源代码需要耗资1000美元。 维护工作量包括生产性活动(如分析和评价、设计修改和实现)和“轮转”活动(如力图理解代码在做什么、试图判明数据结构、接口特性、性能界限等)。 维护工作量的模型 M是维护中消耗的总工作量 p是上面描述的生产性工作量 K是一个经验常数 c是因缺乏好的设计和文档而导致复杂性的度量 d是对软件熟悉程度的度量。 维护工作量的模型 模型指明,如果使用了不好的软件开发方法(未按软件工程要求做),原来参加开发的人员或小组不能参加维护,则工作量(及成本)将按指数级增加。 软件维护活动 为了有效地进行软件维护,应事先就开始做组织工作。 首先建立维护的机构 申明提出维护申请报告的过程及评价的过程 为每一个维护申请规定标准的处理步骤 建立维护活动的登记制度以及规定评价和评审的标准。 维护机构 除了较大的软件开发公司外,通常在软件维护工作方面,并不保持一个正式的组织机构。 虽然不要求建立一个正式的维护机构,但是在开发部门确立一个非正式的维护机构则是非常必要的。 软件维护申请报告 维护申请报告是由软件组织外部提交的文档(用户),它是计划维护活动的基础。软件组织内部应依此制定相应的软件修改报告,这个报告包括以下内容: (1)为满足某个维护申请要求所需的工作量; (2)所需修改变动的性质; (3)申请修改的优先级; (4)与修改有关的事后数据。 软件修改报告应提交修改负责人进行审核批准,以便进行下一步工作。 软件维护申请报告 软件维护申请处理 尽管维护申请的类型不同,但都要进行同样的技术工作。 修改软件需求说明 修改软件设计 设计评审 对源程序做必要的修改 单元测试 集成测试( 回归测试) 确认测试 软件配置评审等。 软件维护申请处理 在每次软件维护任务完成后进行情况评审,对以下问题做一总结: (1) 在目前情况下,设计、编码、测试中的哪一方面可以改进? (2) 哪些维护资源应该有但没有? (3) 工作中主要的或次要的障碍是什么? (4) 从维护申请的类型来看是否应当有预防性维护? 情况评审对将来的维护工作如何进行会产生重要的影响。 维护档案记录 程序名称 源程序语句条数 机器代码指令条数 所用

文档评论(0)

5566www + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6122115144000002

1亿VIP精品文档

相关文档