第11章 软件维护要点课件.ppt
《第11章 软件维护要点课件.ppt》由会员分享,可在线阅读,更多相关《第11章 软件维护要点课件.ppt(49页珍藏版)》请在三一办公上搜索。
1、第11章 软件维护,软件维护的概念软件维护活动程序修改的步骤及副作用软件的维护性提高软件维护性的方法,11.1 软件维护的概念,软件维护的定义软件维护是指在软件运行/维护阶段对软件产品所进行的修改就是所谓的维护。根据维护工作的性质,软件维护的活动可以分为以下4种类型。改正性维护适应性维护完善性维护预防性维护,11.1 软件维护的概念,1改正性维护 改正性维护(corrective maintenance)为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应进行的诊断和改正错误的过程。例如,改正性维护可以是改正原来程序中开关使用的错误;解决开发时未能测试各种可能情况带来的问题等。
2、,2适应性维护 随着信息技术的飞速发展,软件运行的外部环境(新的硬、软件配置)或数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化,为了使软件适应这种变化,而修改软件的过程叫做适应性维护(adaptive maintenance)。例如,需要对已运行的软件进行改造,以适应网络环境或已升级改版的操作系统要求。,11.1 软件维护的概念,11.1 软件维护的概念,3完善性维护 为了满足新的功能与性能要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。这种情况下进行的维护活动叫做完善性维护(perfective maintenance)
3、。例如,完善性维护可能是修改一个计算工资的程序,使其增加新的扣除项目;缩短系统的应答时间,使其达到特定的要求等。,4预防性维护 预防性维护(preventive maintenance)是指把今天的方法学用于昨天的系统以满足明天的需要。也就是说,采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编码和测试。,11.1 软件维护的概念,各类维护占总维护工作量的比例,在整个软件维护阶段花费的全部工作量中,预防性维护只占很小的比例,而完善性维护占了几乎一半的工作量。,11.1 软件维护的概念,11.1 软件维护的概念,维护工作量在软件生存期中所占比例软件维护活动花费的工作量占
4、整个生存期工作量的70%以上(工作量的比例直接反映了成本的比例),在软件维护中,影响维护工作量的因素主要有以下6种:(1)系统规模。(2)程序设计语言。(3)系统年龄大小。(4)数据库技术的应用水平。(5)所采用的软件开发技术及软件开发工程化的程度。(6)其他:如应用的类型、数学模型、任务的难度、IF嵌 套深度、索引或下标数等,对维护工作量都有影响。,影响维护工作量的因素,11.1 软件维护的概念,根据影响软件维护工作量的各种因素,针对3种典型维护,James Martin等提出了一些策略,以控制维护成本。1改正性维护 应用一些诸如数据库管理系统、软件开发环境、程序自动生成系统和高级(第四代)
5、语言等新技术可大大提高可靠性,并减少进行改正性维护的需要。此外,还可考虑利用应用软件包、防错性程序设计、通过周期性维护审查等策略。,软件维护的策略,11.1 软件维护的概念,2适应性维护 这一类的维护不可避免,但可以采用以下策略加以控制。(1)在配置管理时,把硬件、操作系统和其他相关环境因素的可能变化考虑在内,可以减少某些适应性维护的工作量。(2)把与硬件、操作系统,以及其他外围设备有关的程序归到特定的程序模块中。可把因环境变化而必须修改的程序局部于某些程序模块之中。,11.1 软件维护的概念,11.1 软件维护的概念,2适应性维护(3)使用内部程序列表、外部文件,以及处理的例行程序包,可为维
6、护时修改程序提供方便。(4)使用面向对象技术,增强软件系统的稳定性,易于修改和移植。,3完善性维护 利用前两类维护中列举的方法,也可以减少这一类维护。特别是数据库管理系统、程序生成器、应用软件包,可减少系统或程序员的维护工作量。此外,建立软件系统的原型,把它在实际系统开发之前提供给用户。用户通过研究原型,进一步完善他们的功能要求,可以减少以后完善性维护的需要。,11.1 软件维护的概念,11.2 软件维护活动,软件维护申请报告,所有软件维护申请应按规定的方式提出。软件维护组织通常提供维护申请报告(maintenance request form,MRF),或称软件问题报告,由申请维护的用户填写
7、。如果遇到一个错误,用户必须完整地说明产生错误的情况,包括输入数据、错误清单以及其他有关材料。如果申请的是适应性维护或完善性维护,用户必须提出一份修改说明书,列出所有希望的修改。维护申请报告将由维护管理员和系统监督员来研究处理。,维护申请报告是由软件组织外部提交的文档,它是计划维护工作的基础。软件组织内部应相应地做出软件修改报告(software change report,SCR),指明:所需修改变动的性质;申请修改的优先级;为满足某个维护申请报告,所需的工作量;预计修改后的状况。软件修改报告应提交修改负责人,经批准后才能开始进一步安排维护工作。,11.2 软件维护活动,软件维护工作流程如下
8、图所示。,11.2 软件维护活动,软件维护工作流程,在每次软件维护任务完成后,最好进行一次情况评审,对以下问题做一总结:在目前情况下,设计、编码、测试中的哪一方面可以改 进?哪些维护资源应该有,但没有?工作中主要的或次要的障碍是什么?从维护申请的类型来看是否应当有预防性维护?情况评审对将来的维护工作如何进行会产生重要的影响,并可为软件机构的有效管理提供重要的反馈信息。,11.2 软件维护活动,11.2 软件维护活动,维护档案记录,内容包括程序名称、源程序语句条数、机器代码指令条数、所用的程序设计语言、程序安装的日期、程序安装后的运行次数、与程序安装后运行次数有关的处理故障次数、程序改变的层次及
9、名称、修改程序所增加的源程序语句条数、修改程序所减少的源程序语句条数、每次修改所付出的“人时”数、修改程序的日期、软件维护人员的姓名、维护申请报告的名称、维护类型、维护开始时间和维护结束时间、花费在维护上的累计“人时”数、维护工作的净收益等。对每项维护任务都应该收集上述数据。,评价维护活动可参考的度量值有:每次程序运行时的平均出错次数;花费在每类维护上的总“人时”数;每个程序、每种语言、每种维护类型的程序平均修改次数;因为维护,增加或删除每个源程序语句所花费的平均“人时”数;用于每种语言的平均“人时”数;维护申请报告的平均处理时间;各类维护申请的百分比。,11.2 软件维护活动,维护评价,为了
10、正确、有效地进行程序修改,需要经历3个步骤:分析和理解程序、实施修改以及重新验证程序。,11.3 程序修改的步骤及修改的副作用,分析和理解程序 经过分析,全面、准确、迅速地理解程序是决定维护成败和质量好坏的关键。在这方面,软件的可理解性和文档的质量非常重要。为此必须:(1)研究程序的使用环境及有关资料,尽可能得到更多的 背景信息;(2)理解程序的功能和目标;,(3)掌握程序的结构信息,即从程序中细分出若干结构成 分,如程序系统结构、控制结构、数据结构和输入/输 出结构等;(4)了解数据流信息,即所涉及的数据来自何处,在哪里 被使用;(5)了解控制流信息,即执行每条路径的结果;(6)如果设计存在
11、,则可利用它们来帮助画出结构图和高 层流程图;(7)理解程序的操作(使用)要求。,11.3 程序修改的步骤及修改的副作用,为了容易地理解程序,要求自顶向下地理解现有源程序的程序结构和数据结构,为此可采用如下几种方法。(1)分析程序结构图。(2)数据跟踪。(3)控制跟踪。可采用符号执行或实际动态跟踪的方法,了解数据是如何从一个输入源到达输出点的。(4)在分析的过程中,应充分阅读和使用源程序清单和文 档,分析现有文档的合理性。(5)充分使用由编译程序或汇编程序提供的交叉引用表、符号表,以及其他有用的信息。(6)如有可能,争取参加开发工作。,11.3 程序修改的步骤及修改的副作用,对程序的修改,必须
12、事先做出计划,有准备地、周密有效地实施修改。1设计程序的修改计划 程序的修改计划要考虑人员和资源的安排。修改计划的内容主要包括以下几项:(1)规格说明信息:数据修改、处理修改、作业控制语言 修改、系统之间接口的修改等。(2)维护资源:新程序版本、测试数据、所需的软件系 统、计算机时间等。,11.3 程序修改的步骤及修改的副作用,修改程序,(3)人员:程序员、用户相关人员、技术支持人员、厂家 联系人、数据录入员等。(4)提供:纸质、计算机媒体等。针对以上每一项,要说明必要性、从何处着手、是否接受、日期等。通常,可采用自顶向下的方法,在理解程序的基础上做如下工作:(1)研究程序的各个模块、模块的接
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第11章 软件维护要点课件 11 软件 维护 要点 课件

链接地址:https://www.31ppt.com/p-2163284.html