第十一章-GIS软件维护工程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

GIS软件维护工程第十一章11.GIS软件维护工程GIS软件经过试运行后,即可投入使用,进入了GIS软件的维护阶段。本章介绍GIS软件维护涉及的主要内容。第一节介绍软件维护的类型与费用等内容;第二节介绍软件维护的过程、维护技术、维护工作量影响因素、维护策略等内容;第三节介绍软件维护活动的相关内容;第四节介绍程序修改的步骤及副作用;第五节介绍软件可维护性。11.GIS软件维护工程11.1概述11.2软件系统的维护11.3软件维护活动11.4程序修改的步骤及副作用11.5软件可维护性11.1概述11.1.1软件维护的类型11.1.2软件维护的困难11.1.3软件维护的费用11.1.4软件维护的分类11.1.1软件维护的类型结构化维护非结构化维护11.1.2软件维护的困难表现在如下几个方面:(1)读懂别人的程序是困难的。(2)文档的不一致性。这种不一致性表现在各种文档之间的不一致以及文档与程序之间的不一致。(3)软件开发和软件维护在人员和时间上的差异。(4)软件维护不是一项吸引人的工作。11.1.3软件维护的费用软件维护的费用在总费用中的比重是不断在增加的,它在1920年占35%~40%,1980年上升到40%~60,1990年上升到70%~80%。11.1.4软件维护的分类1.改正性维护2.适应性维护3.完善性维护4.预防性维护11.2软件系统的维护11.2.1概述11.2.2软件维护的过程11.2.3软件维护技术11.2.4软件维护工作量的因素11.2.5软件维护的策略11.2.6维护成本11.2.1概述1.数据维护2.硬件维护11.2.1概述3.软件维护的原因(1)改正在特定的使用条件下暴露出来的一些潜在程序错误或设计缺陷。(2)因在软件使用过程中数据环境发生变化(例如一个事务处理代码发生改变)或处理环境发生变化(例如安装了新的硬件或操作系统),需要修改软件以适应这种变化。(3)用户和数据处理人员在使用时常提出改进现有功能,增加新的功能,以及改善总体性能的要求,为满足这些要求,就需要修改软件把这些要求纳入到软件之中。11.2.2软件维护的过程1)首先要确定要进行维护的类型。2)对校正性维护从评价错误的严重性开始。3)适应性和完善性维护。4)实施维护任务。5)“救火”维护。11.2.3软件维护技术1)面向维护的技术2)维护支援技术①信息收集。②错误原因分析。③软件分析与理解。④维护方案评价。⑤代码与文档修改。⑥修改后的确认。⑦远距离的维护。11.2.4软件维护工作量的因素a)系统大小b)程序设计语言c)系统年龄d)数据库技术的应用e)先进的软件开发技术f)其他11.2.5软件维护的策略1.改正性维护:数据库管理系统软件开发环境程序自动生成系统较高级(第四代)的语言11.2.5软件维护的策略2.适应性维护:(1)在配置管理时,把硬件、操作系统和其他相关环境因素的可能变化考虑在内,可以减少某些适应性维护的工作量。(2)把与硬件、操作系统,以及其他外围设备有关的程序归到特定的程序模块中。可把因环境变化而必须修改的程序局部于某些程序模块之中。(3)使用内部程序列表、外部文件,以及处理的例行程序包,可为维护时修改程序提供方便。11.2.5软件维护的策略3.完善性维护11.2.6维护成本有形的维护成本无形的维护成本这个模型指明,如果使用了不好的软件开发方法(未按软件工程要求做),原来参加开发的人员或小组不能参加维护,则工作量(及成本)将按指数级增加。11.3软件维护活动11.3.1软件维护机构11.3.2软件维护申请报告11.3.3软件维护的流程11.3.4软件维护记录11.3.5软件维护活动的评价11.3.1软件维护机构11.3.2软件维护申请报告维护申请报告是由软件组织外部提交的文档,它是计划维护工作的基础。软件组织内部应相应地做出软件修改报告(SCR,SoftwareChangeReport),指明:(1)所需修改变动的性质。(2)中请修改的优先级。(3)为满足某个维护申请报告,所需的工作量。(4)预计修改后的状况。软件修改报告应提交修改负责人,经批准后才能开始进一步安排维护工作。11.3.3软件维护的流程11.3.4软件维护记录为了估计软件维护的有效程度,确定软件产品的质量,同时确定维护的实际开销,需要在维护的过程中做好维护档案记录。11.3.4软件维护记录其内容包括:程序名称、源程序语句条数、机器代码指令条数、所用的程序设计语言、程序安装的日期、程序安装后的运行次数、与程序安装后运行次数有关的处理故障次数、程序改变的层次及名称等等。11.3.5软件维护活动的评价可参考的度量值如下:1.每次程序运行时的平均出错次数。2.花费在每类维护上的总“人时”数。3.每个程序、每种语言、每种维护类型的程序平均修改次数。11.3.5软件维护活动的评价可参考的度量值如下:4.因为维护,增加或删除每个源程序语句所花费的平均“人时”数。5.用于每种语言的平均“人时”数。6.维护申请报告的平均处理时间。7.各类维护申请的百分比。11.4程序修改的步骤及副作用11.4.1分析和理解程序11.4.2修改程序11.4.3重新验证程序11.4.1分析和理解程序必须:(1)理解程序的功能和目标。(2)掌握程序的结构信息,即从程序中细分出若干结构成分。(3)了解数据流信息,即所涉及到数据来源何处,在哪里被使用。(4)了解控制流信息,即执行每条路径的结果。(5)理解程序的操作(使用)要求。11.4.1分析和理解程序可采用如下的方法:(1)分析程序结构图(2)数据跟踪(3)控制跟踪11.4.1分析和理解程序可采用如下的方法:(4)在分析的过程中,充分阅读和使用源程序清单和文档,分析现有文档的合理性。(5)充分使用由编译程序或汇编程序提供的交又引用表、符号表、以及其他有用的信息。(6)如有可能,积极参加开发工作。11.4.2修改程序1.设计程序的修改计划(1)规格说明信息(2)维护资源(3)人员(4)提供:纸面、计算机媒体等。11.4.2修改程序2.修改代码,以适应变化(4)不要试图共用程序中已有的临时变量或工作区,为了避免冲突或混淆用途,应白行设置自己的变量。(5)插人错误检测语句。(6)在修改过程中做好修改的详细记录,消除变更中任何有害的副作用(波动效应)。11.4.2修改程序2.修改代码,以适应变化(4)不要试图共用程序中已有的临时变量或工作区,为了避免冲突或混淆用途,应白行设置自己的变量。(5)插人错误检测语句。(6)在修改过程中做好修改的详细记录,消除变更中任何有害的副作用(波动效应)。11.4.2修改程序3.修改程序的副作用1)代码的副作用2)数据的副作用3)文档的副作用11.4.3重新验证程序1.静态确认2.计算机确认3.维护后的验收11.5软件可维护性11.5.1软件可维护性的定义11.5.2软件可维护性的度量11.5.3提高可维护性的方法11.5.1软件可维护性的定义软件可维护性是指纠止软件系统出现的错误和缺陷,以及为满足新的要求进行修改、扩充或压缩的容易程度。可维护性、可使用性、可靠性是衡量软件质量的几个主要质量特性,也是用户十分关心的几个方面。11.5.1软件可维护性的定义目前广泛使用如下的七个特性来衡量程序的可维护性。11.5.2软件可维护性的度量软件可维护性的度量1.可理解性2.可靠性3.可测试性4.可修改性5.可移植性6.效率7.可使用性8.其他间接的度量方法11.5.3提高可维护性的方法提高可维护性的方法:•1.建立明确的软件质量目标和优先级•2.使用提供软件质量的技术和工具•3.进行明确的质量保证审查•4.选择可维护的程序设计语言(图)•5.改进程序的文档11.5.3提高可维护性的方法4.选择可维护的程序设计语言返回思考题1.软件维护有哪几种类型?请介绍各自的特点。2名词解释:(1)改正性维护;(2)适应性维护;(3)完善性维护;(4)预防性维护;(5)数据维护;(6)硬件维护;(7)软件维护;(8)面向维护的技术;(9)维护支援技术。3.简要叙述软件维护的过程。4.简要列出影响软件维护工作量的因素。5.针对三种不同的维护类型,应各自采取什么样的维护策略?6.简要叙述软件维护的工作流程。思考题7.为了理解程序,请间如何分析程序结构图?8.简要回答:采用哪些方法才能分析和理解程序?9.简要叙述修改程序的主要过程10.名词解释:(1)代码的副作用;(2)数据的副作用;(3)文档的副作用;(4)软件可维护性;(5)可理解性;(6)可靠性;(7)可测试性;(8)可修改性;(9)可移植性;(10)可使用性11.简要叙述提高软件可维护性的方法12.简要回答如何进行软件可维护性的质量保证审查?

1 / 43
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功