第7章 软件维护 软件工程课件.ppt

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

第11章 软件维护 软件维护的概念 软件维护活动 程序修改的步骤及副作用 软件的维护性 提高软件维护性的方法 11.1 软件维护的概念 软件维护的定义 软件维护:在软件运行/维护阶段对软件产品所进行的修改就是所谓的维护。 根据维护工作的性质,软件维护的活动可以分为以下4种类型: 改正性维护 适应性维护 完善性维护 预防性维护 11.1 软件维护的概念 1.改正性维护(corrective maintenance) 为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应进行的诊断和改正错误的过程。 例如,改正性维护可以是改正原来程序中开关使用的错误;解决开发时未能测试各种可能情况带来的问题等。 11.1 软件维护的概念 2.适应性维护(adaptive maintenance) 软件运行的外部环境(新的硬、软件配置)或数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化,为了使软件适应这种变化,而修改软件的过程。 例如,需要对已运行的软件进行改造,以适应网络环境或已升级改版的操作系统要求。 11.1 软件维护的概念 3.完善性维护(perfective maintenance) 为满足新的功能与性能要求,修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性所进行进行的维护活动。 例如,完善性维护可能是修改一个计算工资的程序,使其增加新的扣除项目;缩短系统的应答时间,使其达到特定的要求等。 11.1 软件维护的概念 11.1 软件维护的概念 维护工作量在软件生存期中所占比例 软件维护活动花费的工作量占整个生存期工作量的70%以上(工作量的比例直接反映了成本的比例) 11.1 软件维护的概念 1.改正性维护 应用一些诸如数据库管理系统、软件开发环境、程序自动生成系统和高级语言等新技术可大大提高可靠性,并减少进行改正性维护的需要。 此外,还可考虑利用应用软件包、防错性程序设计、通过周期性维护审查等策略。 11.1 软件维护的概念 2.适应性维护 这一类的维护不可避免,但可以采用以下策略加以控制。 (1)在配置管理时,把硬件、操作系统和其他相关环境因素的可能变化考虑在内,可以减少某些适应性维护的工作量。 (2)把与硬件、操作系统,以及其他外围设备有关的程序归到特定的程序模块中。可把因环境变化而必须修改的程序局部于某些程序模块之中。 11.1 软件维护的概念 2.适应性维护 (3)使用内部程序列表、外部文件,以及处理的例行程序包,可为维护时修改程序提供方便。 (4)使用面向对象技术,增强软件系统的稳定性,易于修改和移植。 软件维护工作流程如下图所示。 内容包括:程序名称、源程序语句条数、机器代码指令条数、所用的程序设计语言、程序安装的日期、程序安装后的运行次数、与程序安装后运行次数有关的处理故障次数、程序改变的层次及名称、修改程序所增加的源程序语句条数、修改程序所减少的源程序语句条数、每次修改所付出的“人时”数、修改程序的日期、软件维护人员的姓名、维护申请报告的名称、维护类型、维护开始时间和维护结束时间、花费在维护上的累计“人时”数、维护工作的净收益等。对每项维护任务都应该收集上述数据。 评价维护活动可参考的度量值有: 每次程序运行时的平均出错次数; 花费在每类维护上的总“人时”数; 每个程序、每种语言、每种维护类型的程序平均修改次数; 因为维护,增加或删除每个源程序语句所花费的平均“人时”数; 用于每种语言的平均“人时”数; 维护申请报告的平均处理时间; 各类维护申请的百分比。 对程序的修改,必须事先做出计划,有准备地、周密有效地实施修改。 1.设计程序的修改计划 程序的修改计划要考虑人员和资源的安排。修改计划主要包括以下内容: (1)规格说明信息:数据修改、处理修改、作业控制语言修改、系统之间接口的修改等。 (2)维护资源:新程序版本、测试数据、所需的软件系统、计算机时间等。 (3)人员:程序员、用户相关人员、技术支持人员、厂家联系人、数据录入员等。 (4)提供:纸质、计算机媒体等。 针对以上每一项,要说明必要性、从何处着手、是否接受、日期等。通常,可采用自顶向下的方法,在理解程序的基础上做如下工作: (1)研究程序的各个模块、模块的接口及数据库,从全局的观点提出修改计划。 (2)依次把要修改的、以及那些受修改影响的模块和数据结构分离出来。 (3)详细地分析要修改的,以及那些受变更影响的模块和数据结构的内部细节,设计修改计划,标明新逻辑及要改动的现有逻辑。 (4)向用户提供回避措施。用户的某些业务因软件中发生问题而中断,为不让系统长时间停止运行,需把问题局部化,在可能的范围内继续开展业务。 2.修改

文档评论(0)

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

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

1亿VIP精品文档

相关文档