第十一章 GIS软件维护工程.ppt

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

软件维护的代价高昂 根据软件维护的不同原因,软件维护可以分成四种类型: 改正性维护 适应性维护 完善性维护 预防性维护 改正性维护 在软件交付使用后,因开发时测试的不彻底、不完全,必然会有部分隐藏的错误遗留到运行阶段。 为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程就叫做改正性维护。 适应性维护 在使用过程中, 外部环境(新的硬、软件配置) 数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质) 可能发生变化。 为使软件适应这种变化,而去修改软件的过程就叫做适应性维护。 完善性维护 在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。 为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。 这种情况下进行的维护活动叫做完善性维护。 预防性维护 预防性维护,是为了提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础。 采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编制和测试,称为预防性维护。 各种维护类型和维护工作量的比例 在维护活动开始之前就明确维护责任是十分必要的,这样可以大大减少维护过程中可能出现的混乱。 ⑴ 维护申请报告(Maintenance Request Form) 由用户填写的外部文件,提供错误情况说明(输入数据,错误清单等),或修改说明书等。 要求说明: ①所需修改变动的性质; ②申请修改的优先级; ③为满足某个维护申请报告,所需的工作量; ④预计修改后的状况。 软件维护记录示例 1. 可理解性 可理解性表明人们通过阅读源代码和相关文档,了解程序功能及其如何运行的容易程度。 一个可理解的程序应具备以下一些特性:模块化,风格一致性,不使用令人捉摸不定或含糊不清的代码,使用有意义的数据名和过程名,结构化,完整性等。 2. 可靠性 可靠性表明一个程序按照用户的要求和设计目标,在给定的一段时间内正确执行的概率。 关于可靠性,度量的标准主要有: 平均失效间隔时间MTTF= 平均修复时间MTTR 有效性A = MTBD/(MTBD+MDT) 3. 可测试性 可测试性表明论证程序正确性的容易程度。程序越简单,证明其正确性就越容易。而且设计适用的测试用例,取决于对程序的全面理解。 一个可测试的程序应当是可理解的,可靠的,简单的。 用于可测试性度量的检查项目如下: 程序是否模块化? 结构是否良好? 程序是否可理解? 程序是否可靠? 程序是否能显示任意中间结果? 程序是否能以清楚的方式描述它的输出? 程序是否能及时地按照要求显示所有的输入? 程序是否有跟踪及显示逻辑控制流程的能力? 程序是否能从检查点再启动? 程序是否能显示带说明的错误信息? 4. 可修改性 可修改性表明程序容易修改的程度。 一个可修改的程序应当是可理解的、通用的、灵活的、简单的。 通用性是指程序适用于各种功能变化而无需修改。 灵活性是指能够容易地对程序进行修改。 测试可修改性的一种定量方法是修改练习。其基本思想是通过做几个简单的修改,来评价修改的难度。 设C是程序中各个模块的平均复杂性,C是必须修改的模块数,A 是要修改的模块的平均复杂性。 则修改的难度D由下式计算: D = A / C D ? 1表示修改很困难。 5. 可移植性 可移植性表明程序转移到一个新的计算环境的可能性的大小。或者它表明程序可以容易地、有效地在各种各样的计算环境中运行的容易程度。 一个可移植的程序应具有结构良好、灵活、不依赖于某一具体计算机或操作系统的性能。 用于可移植性度量的检查项目如下: 是否是用高级的独立于机器的语言来编写程序? 是否使用广泛使用的标准化的程序设计语言来 编写程序? 是否仅使用了这种语言的标准版本和 特性? 程序中是否使用了标准的普遍使用的库功能和 子程序? 程序中是否极少使用或根本不使用操作系统的 功能? 6. 效率 效率表明一个程序能执行预定功能而又不浪费机器资源的程度。 这些机器资源包括内存容量、外存容量、通道容量和执行时间。 用于效率度量的检查项目如下: 程序是否模块化? 结构是否良好? 是否消除了无用的标号与表达式,以充分发挥编译器优化作用? 程序的编译器是否有优化功能? 是否把特殊子程序和错误处理子程序都 归入了单独的模块中? 是否以快速的数学运算代替了较慢的数 学运算? 是否在表达式中避免了混合数据类型的 使用,消除了不必要的类型转换? 7. 可使用性 从用户观点出发,可使用性定义为程序方便、实用、及易于使用的程

文档评论(0)

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

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

1亿VIP精品文档

相关文档