软件维护

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

精编资料

理解可维性的定义,可维性的度量及提高可维护性的方法.深刻理解改正性维护,适应性维护,完善性维护,预防性维护. 软件维护的定义和特点...

维护

第五章软件维护 (3)

软件维护的定义和特点 (4)

软件维护的定义 (4)

软件维护的特点 (4)

软件维护的过程 (4)

软件的可维护性 (5)

决定软件的可维护性的因素 (5)

提高可维护性的方法 (6)

软件再工程 (7)

本章小结 (7)

第五章软件维护

本章要点

✧软件维护的特点

✧软件可维护性

✧软件再工程

本章学习目标

✧了解软件维护的各种困难,软件维护的特点,软件维护的文档。

✧理解软件维护的内容,维护任务的实施。

✧理解可维性的定义、可维性的度量及提高可维护性的方法。

✧深刻理解改正性维护、适应性维护、完善性维护、预防性维护。

软件维护的定义和特点

任何软件在交付使用之后;由于本身潜在的错误或者满足新的需要,因此我们不得不进行软件的维护。

软件维护的定义

正如前面所述,软件维护的类型是多样的,不同类型的维护有不同的定义。在国标GB/T 11457-89中明确指出软件运行、维护阶段是软件生存期中的一部分,“对软件产品进行检测,以期获得满意性能;当需要是对软件产品进行修改以改正问题或对变化了的需求做出响应”。可见,这是从软件生命周期层面对软件维护做出的定义。从另一方面看,软件维护是一种技术措施,需要从技术的角度加以说明。国标GB/T 11457-89对软件维护给出了如下两个定义:

1、在一软件产品交付使用后对其进行修改,以纠正故障。

2、在一软件产品交付使用后对其进行修改,以纠正故障,改进其性能和其他属性,

以使产品适应改变了的环境。

软件维护的特点

我们把为了改正软件系统中的错误,使软件能够满足预期的正常运行状态的要求向进行的维护叫做改正型维护,随着计算机科学技术领域的各个方面都在迅速的进步,特别是80年代之后,大约每过36个月就有新一代的硬件宣告出现,经常推出新的操作,软件驱动的外围设备的增加或者发生变更时所做的软件维护,我们称适应型维护。当一个软件顺利地进行时,常常会出现第三项维护的活动:在维护的使用过程中用户往往会提出增加新功能或修改已有功能的建议,还有可能提出一些改进的意见,为了满足这类要求,需要进行完善型的维护,据统计,这类维护活动通常占软件维护的一半左右,为了改进软件效率,可靠行和可维护而进行的维护,出现第四项维护活动在我们现代的软件业中是很少的。

通过以上对软件的定义,软件维护不仅限于纠正使用的错误等活动,据国外权威数字统计,完善性占全部软件维护的%,改正性占维护的%,适应性占18%,其他只占4%左右。

软件维护的过程

早在维护申请提出之前,与维护有关的工作已经开始。首先的工作是要建立一个机构,对每一个维护申请写出报告并对其过程进行评价,而且对每类维护都要制定规范化的工作程序。虽然对于大多数软件开发机构并未建立专门的维护机构,但很有必要委派一个非专门的人员来负责相关工作,可以称之为维护控制元。所有维护请求都必须唯一提交给该人员,由他提交给相关系统管理人员对该维护请求进行评价。所有维护请求都必须采用标准格式,一般包含以下内容:1、所需工作量2、修改要求的性质、该申请的优先次序、修改后的结果。

总的来说,软件维护过程,涉及到下列12项工作:

(1)评价系统提升请求:根据软件功能和使用环境的分析,对用户提升系统的请求进行评价,评价后提出提升建议。

(2)评价改正问题请求:分析系统在用户使用环境中出现的问题和请求,评价后应提出改正问题请求解决方法。

(3)程序紧急排错:根据改正问题请求解决办法,对出现故障的程序实施紧急排错,使程序尽快恢复正常工作。

(4)指定系统维护更新计划:根据用户的请求和系统提升建议“改正问题请求解决办法”和“程序紧急排错”措施的效果,制定系统更新计划,确定优先级

别和维护更新版本日期。

(5)维护更新版本需求分析:详细地分析与系统更新版本有关的需求。编写出版维护更新版本的需求文档。

(6)维护更新版本的设计,设计维护更新版本的程序及数据结构完成版本的概要设计和详细设计。

(7)维护更新版本编写和测试:对正常维护的更新版本进行编码新版本的概要设计和详细设。

(8)新版本的发布。

(9)实行预防性维护:对投入市场,正在使用的软件进行监督,及时掌握进行情况,如确实需要适当地对程序进行预防性维护,使软件处于最佳运行状态。

(10)人员培训:针对拥护和市场需要编写维护更新版本培训资料,组织员工培训,提高员工的能力,支持新版本发布后的用户服务工作。

(11)周期性系统评估:软件开发维护单位主动对软件进行一种定期评估,用来考察本系统开发的软件产品的效能和适用性,每次贫农巩固后应撰写出评估报

告。

(12)进行执行后评审:在软件使用相当长时间后,对系统的功能和性能进行全面和生如的评审,评估后应撰写出执行后评审报告。实施上,软件维护就是

世纪软件工程的循环应用,不同的是维护类型不同,重点不同,但整个方法

没有改变。

软件的可维护性

软件可维护性可以定性地定义为:维护人员理解改正,改动和改正这个软件的难易程度。我们一直在强调,提高可维护型是支配软件工程方法论所有步骤的关键目标,也是延长软件生产期的最好的方法。

决定软件的可维护性的因素

维护就是在交付使用后进行的修改,修改之前必须理解修改的对象,修改之后应该进行必要的测试,以保证所做的修改是正确的。如果是改正性修改,还必须预先进行调试以确故障。因此,影响软件可维护的因数主要又下述3个。

1) .可理解性

软件可理解性表现为外来读者理解软件的结构、接口、功能和内部过程的难易程度。模块化、详细的设计文档、结构化设计、源代码内部的文档和良好的高级设计语言等等,都对改进软件的可理解性又重要贡献。

2). 可测试性

诊断和测试的难易程度主要取决于软件容易理解的程度,良好的文档对诊断和测试是至关重要的,此外,软件结构,可用的测试工具和调试工具,以及以前设计的测试也都是非常

相关文档
最新文档