第11讲软件维护_第1页
第11讲软件维护_第2页
第11讲软件维护_第3页
第11讲软件维护_第4页
第11讲软件维护_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件工程软件工程 2022-6-26 Software Engineering 2022-6-26 2第第1111讲讲 软件维护软件维护Software Engineering第第1111章章 软件维护软件维护2022-6-26 311.1 11.1 软件维护概述软件维护概述11.1.1 11.1.1 软件维护的定义软件维护的定义软件维护(软件维护(Software MaintenanceSoftware Maintenance)是指软件在使用过程)是指软件在使用过程中,为了改正错误或者满足用户新的需求而修改软件的过中,为了改正错误或者满足用户新的需求而修改软件的过程。程。引起维护的原因很多,

2、以下因素是引起软件维护的主要原引起维护的原因很多,以下因素是引起软件维护的主要原因:因:(1)(1)软件在使用过程中暴露出来的一些潜在的程序错误或设软件在使用过程中暴露出来的一些潜在的程序错误或设计缺陷;计缺陷;(2)(2)运行环境(软硬件、网络、数据库等)发生变化,导致运行环境(软硬件、网络、数据库等)发生变化,导致软件不适应;软件不适应;(3)(3)用户提出新的功能或性能有要求。用户提出新的功能或性能有要求。11.1.2 11.1.2 软件维护的类型软件维护的类型1.1.修正性维护。修正性维护。软件在运行过程中暴露出开发中隐藏的软件在运行过程中暴露出开发中隐藏的问题,这时就需要对软件进行维

3、护,这一类诊断和改正问题,这时就需要对软件进行维护,这一类诊断和改正错误的维护称为修正性维护。错误的维护称为修正性维护。 2.2.适应性维护。适应性维护。为了适应新的软硬件环境变化而进行修为了适应新的软硬件环境变化而进行修改的活动,称为适应性维护。改的活动,称为适应性维护。 3.3.完善性维护。完善性维护。为了改善、加强系统的功能和性能,以为了改善、加强系统的功能和性能,以满足用户新的要求,这样的维护称为完善性维护。满足用户新的要求,这样的维护称为完善性维护。4.4.预防性维护。预防性维护。为了给未来软件的改进提供更好的基础为了给未来软件的改进提供更好的基础或改善软件未来的可维护性或可靠性而做

4、出的修改,称或改善软件未来的可维护性或可靠性而做出的修改,称为预防性维护。为预防性维护。第第1111章章 软件维护软件维护11.1 11.1 软件维护概述软件维护概述在软件运行的在软件运行的初期修正性维护的工作量较大初期修正性维护的工作量较大。随着。随着错误发生率的逐渐降低,软件运行趋于稳定,就进错误发生率的逐渐降低,软件运行趋于稳定,就进入了正常使用期。然而,由于改造的要求,适应性入了正常使用期。然而,由于改造的要求,适应性维护和完善性维护的工作量逐步增加,在维护过程维护和完善性维护的工作量逐步增加,在维护过程中又会引入新的错误,从而加重了维护的工作量。中又会引入新的错误,从而加重了维护的工

5、作量。实践表明,在几种维护活动中,实践表明,在几种维护活动中,完善性维护所占的完善性维护所占的比重最大,比重最大,即大部分维护工作是为了改善和加强软即大部分维护工作是为了改善和加强软件的功能和性能,而不是纠错。用户要求扩充、加件的功能和性能,而不是纠错。用户要求扩充、加强软件功能、性能的维护活动约占整个维护工作量强软件功能、性能的维护活动约占整个维护工作量的的5050。维护在软件生存周期中占用的时间最长,约占维护在软件生存周期中占用的时间最长,约占70%70%。第第1111章章 软件维护软件维护11.1 11.1 软件维护概述软件维护概述第第1111章章 软件维护软件维护11.1 11.1 软

6、件维护概述软件维护概述(1 1)系统规模的大小;)系统规模的大小;(2 2)程序设计语言;)程序设计语言;(3 3)系统的年龄;)系统的年龄;(4 4)软件开发技术;)软件开发技术;(5 5)数据库技术;)数据库技术;(6 6)文档质量;)文档质量;(7 7)其他因素。)其他因素。第第1111章章 软件维护软件维护11.1 11.1 软件维护概述软件维护概述n11.1.4 11.1.4 造成软件维护困难的因素造成软件维护困难的因素(1 1)理解别人写的程序比较困难;)理解别人写的程序比较困难;(2 2)文档资料不足或错误;)文档资料不足或错误;(3 3)人员和时间的差异造成维护的困难;)人员和

7、时间的差异造成维护的困难;(4 4)软件人员的流动性大;)软件人员的流动性大;(5 5)维护工作不是一项吸引人的工作;)维护工作不是一项吸引人的工作;(6 6)追踪软件的建立过程非常困难,有时根本做)追踪软件的建立过程非常困难,有时根本做不到。不到。第第1111章章 软件维护软件维护11.1 11.1 软件维护概述软件维护概述 11.1.5 11.1.5 结构化维护与非结构化维护结构化维护与非结构化维护结构化维护与非结构化维护的区别主要是结构化维护与非结构化维护的区别主要是的区别。的区别。n(1 1)结构化维护)结构化维护n存在完整的软件系列文档,维护任务从分析设计文存在完整的软件系列文档,维

8、护任务从分析设计文件开始,确定软件的重要结构特性、功能特性和接口件开始,确定软件的重要结构特性、功能特性和接口特性,确定修改或校正可能产生的影响,并且计划采特性,确定修改或校正可能产生的影响,并且计划采用何种维护处理方法,修改设计并进行复审,编制出用何种维护处理方法,修改设计并进行复审,编制出新的源程序,利用文档中的信息进行回归测试,然后新的源程序,利用文档中的信息进行回归测试,然后重新交付软件。这种维护过程就叫做重新交付软件。这种维护过程就叫做“结构化维护结构化维护”。第第1111章章 软件维护软件维护11.1 11.1 软件维护概述软件维护概述n(2 2)非结构化维护)非结构化维护n非结构

9、化维护无说明性文档或者文档资料太少非结构化维护无说明性文档或者文档资料太少。由于没有采用定义良好的软件项目管理过程来开由于没有采用定义良好的软件项目管理过程来开发软件,由软件项目管理缺陷导致的维护叫发软件,由软件项目管理缺陷导致的维护叫“非非结构化维护结构化维护”,这会使软件维护付出较高的代价。,这会使软件维护付出较高的代价。第第1111章章 软件维护软件维护11.1 11.1 软件维护概述软件维护概述维护要求评价设计计划途径修改设计重编程序阅读源代码定位错误重编程序交付使用是否结构化回归测试回归测试第第1111章章 软件维护软件维护结构化维护和结构化维护和非结构化维护非结构化维护是否11.1

10、 11.1 软件维护概述软件维护概述第第1111章章 软件维护软件维护11.2 11.2 软件维护策略软件维护策略第第1111章章 软件维护软件维护11.2 11.2 软件维护策略软件维护策略第第1111章章 软件维护软件维护11.3 11.3 软件维护成本软件维护成本第第1111章章 软件维护软件维护11.3 11.3 软件维护成本软件维护成本第第1111章章 软件维护软件维护11.4 11.4 软件维护的实施软件维护的实施n为了有效地进行软件维护,应事先做好软为了有效地进行软件维护,应事先做好软件维护的组织工作。首先需要建立维护的件维护的组织工作。首先需要建立维护的机构;提出维护申请报告及

11、问题评价的过机构;提出维护申请报告及问题评价的过程;为每一个维护申请规定标准的处理步程;为每一个维护申请规定标准的处理步骤;还必须建立维护活动的登记制度以及骤;还必须建立维护活动的登记制度以及制定评价和评审的标准。制定评价和评审的标准。第第1111章章 软件维护软件维护1.1.软件维护机构软件维护机构维护管理员维护配置员维护负责人维护小组1维护负责人维护小组3维护负责人维护小组n维护负责人维护小组2系统监督员 软件维护的组织结构软件维护的组织结构第第1111章章 软件维护软件维护11.4 11.4 软件维护的实施软件维护的实施软件维护机构由维护管理员、系统监督员、维护配置员软件维护机构由维护管

12、理员、系统监督员、维护配置员和维护负责人组成。和维护负责人组成。n用户将维护申请提交给维护管理员,维护管理员把申请交用户将维护申请提交给维护管理员,维护管理员把申请交给系统监督员去评价。系统监督员是一位技术人员,他必给系统监督员去评价。系统监督员是一位技术人员,他必须熟悉软件产品。一旦做出评价,由修改负责人确定如何须熟悉软件产品。一旦做出评价,由修改负责人确定如何进行修改。维护人员对程序进行修改的过程中,由配置管进行修改。维护人员对程序进行修改的过程中,由配置管理员严格把关,控制修改的范围,对软件配置进行审计。理员严格把关,控制修改的范围,对软件配置进行审计。n维护管理员、系统监督员、修改负责

13、人等,均代表维护工维护管理员、系统监督员、修改负责人等,均代表维护工作的某个职责范围。修改负责人、维护管理员可以是指定作的某个职责范围。修改负责人、维护管理员可以是指定的某个人,也可以是一个包括管理人员、高级技术人员在的某个人,也可以是一个包括管理人员、高级技术人员在内的小组。系统监督员可以有其他职责,但应具体分管某内的小组。系统监督员可以有其他职责,但应具体分管某一个软件包。一个软件包。第第1111章章 软件维护软件维护11.4 11.4 软件维护的实施软件维护的实施2.2.软件维护报告软件维护报告n软件维护报告包括维护申请报告和软件修改报告。软件维护报告包括维护申请报告和软件修改报告。n维

14、护申请报告维护申请报告(MRR(MRR,Maintenance Request Maintenance Request Report)Report),也称软件问题报告,由申请维护的用,也称软件问题报告,由申请维护的用户填写。维护申请报告是软件组织外部提交的文户填写。维护申请报告是软件组织外部提交的文档,它是维护工作的基础。档,它是维护工作的基础。第第1111章章 软件维护软件维护11.4 11.4 软件维护的实施软件维护的实施软件组织内部应相应地做出软件修改报告软件组织内部应相应地做出软件修改报告(SCR(SCR,Software Change Report)Software Change R

15、eport),报告中应指明:,报告中应指明:(1) (1) 所需修改变动的类型;所需修改变动的类型;(2) (2) 申请修改的优先级;申请修改的优先级;(3) (3) 为满足维护申请所需的工作量;为满足维护申请所需的工作量;(4) (4) 预计修改后的状况。预计修改后的状况。软件修改报告应提交修改负责人,经批准后才能进软件修改报告应提交修改负责人,经批准后才能进一步安排维护工作。一步安排维护工作。第第1111章章 软件维护软件维护11.4 11.4 软件维护的实施软件维护的实施第第1111章章 软件维护软件维护11.4 11.4 软件维护的实施软件维护的实施n3.3.软件维护工作流程软件维护工

16、作流程用户提出维护申请用户提出维护申请维护人员确定更改要求维护人员确定更改要求判明维护类型判明维护类型评价错误严重程度和优先级评价错误严重程度和优先级进行问题分析进行问题分析实施维护实施维护维护后的测试维护后的测试维护评审维护评审交付使用交付使用11.4 11.4 软件维护的实施软件维护的实施第第1111章章 软件维护软件维护软件维护工作流程软件维护工作流程第第1111章章 软件维护软件维护11.4 11.4 软件维护的实施软件维护的实施计算机确认:用计算机对修改的程序进行确认计算机确认:用计算机对修改的程序进行确认测试。比如确认测试顺序,先测试修改的部分,测试。比如确认测试顺序,先测试修改的

17、部分,再测试没有修改的部分,然后集成起来测试,这再测试没有修改的部分,然后集成起来测试,这种测试称回归测试。充分利用软件工具帮助测试,种测试称回归测试。充分利用软件工具帮助测试,并邀请用户参与测试。并邀请用户参与测试。文档验收:维护主管部门要检验文档是否完备,文档验收:维护主管部门要检验文档是否完备,更新测试用例及结果是否记载,软件配置是否有更新测试用例及结果是否记载,软件配置是否有了副本,维护的工序和责任是否已确定,确认无了副本,维护的工序和责任是否已确定,确认无误之后才交付给用户使用。误之后才交付给用户使用。第第1111章章 软件维护软件维护11.4 11.4 软件维护的实施软件维护的实施

18、第第1111章章 软件维护软件维护11.4 11.4 软件维护的实施软件维护的实施n5.5.编写维护档案记录编写维护档案记录第第1111章章 软件维护软件维护11.4 11.4 软件维护的实施软件维护的实施第第1111章章 软件维护软件维护11.4 11.4 软件维护的实施软件维护的实施n6.6.维护评价维护评价每次程序运行时的平均出错次数;每次程序运行时的平均出错次数;花费在每类维护上的总花费在每类维护上的总“人时人时”数;数;每个程序、每种语言、每种维护类型的程序平均修改次数;每个程序、每种语言、每种维护类型的程序平均修改次数;因为维护增加或删除每个源程序语句所花费的平均因为维护增加或删除

19、每个源程序语句所花费的平均“人时人时”数;数;用于每种语言的平均用于每种语言的平均“人时人时”数;数;维护申请报告的平均处理时间;维护申请报告的平均处理时间;各类维护申请的百分比。各类维护申请的百分比。这七种度量值提供了定量的数据,据此可对开发技术、语这七种度量值提供了定量的数据,据此可对开发技术、语言选择、维护工作计划、资源分配以及其他许多方面做出言选择、维护工作计划、资源分配以及其他许多方面做出判定。判定。第第1111章章 软件维护软件维护11.4 11.4 软件维护的实施软件维护的实施11.5 11.5 软件的可维护性软件的可维护性n软件的可维护性定义为:为了纠正软件系统出软件的可维护性

20、定义为:为了纠正软件系统出现的错误和缺陷现的错误和缺陷, ,以及满足用户新的要求以及满足用户新的要求, , 软件软件能够被理解、被校正、被修改或被改善的难易能够被理解、被校正、被修改或被改善的难易程度。程度。n可维护性不但与采用的分析设计方法和开发人可维护性不但与采用的分析设计方法和开发人员的技术熟练程度有关,更重要的是与软件项员的技术熟练程度有关,更重要的是与软件项目的管理技术关系密切。软件的可维护性成为目的管理技术关系密切。软件的可维护性成为软件开发各个阶段的关键目标。软件开发各个阶段的关键目标。第第1111章章 软件维护软件维护n11.5.1 11.5.1 影响软件可维护性的因素影响软件

21、可维护性的因素软件的可维护性除了与开发方法有关的因素之外,软件的可维护性除了与开发方法有关的因素之外,以下因素会对可维护性有重要影响:以下因素会对可维护性有重要影响:(1 1)软件设计人员是否受过严格的规范化工作培)软件设计人员是否受过严格的规范化工作培训;训;(2 2)是否采用主流的编程语言;)是否采用主流的编程语言;(3 3)是否采用主流的操作系统;)是否采用主流的操作系统;(4 4)是否采用标准化的文档资料结构和文档形成)是否采用标准化的文档资料结构和文档形成机制;机制;(5 5)是否保存了规范化的测试资料。)是否保存了规范化的测试资料。11.5 11.5 软件的可维护性软件的可维护性第

22、第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护11.5.2 11.5.2 软件可维护性的度量软件可维护性的度量n1. 可理解性可理解性11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护n2.可靠性可靠性11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护 度量可靠性的方法:度量可靠性的方法:11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护n3. 可测试

23、性可测试性11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护n5.5.可移植性可移植性11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维

24、护软件维护6.6.效率效率。:11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护7.7.可使用性可使用性11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护在各类维护中的侧重点在各类维护中的侧重点11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护。n8.8.间

25、接度量可维护性的方法间接度量可维护性的方法(1)(1)了解问题的时间;了解问题的时间; (2)(2)行政管理拖延的时间;行政管理拖延的时间; (3)(3)收集维护工具的时间;收集维护工具的时间; (4)(4)分析问题的时间;分析问题的时间; (5)(5)改变规格说明的时间;改变规格说明的时间; (6)(6)具体的改错或修改的时间;具体的改错或修改的时间; (7)(7)局部测试时间;局部测试时间; (8)(8)整体测试时间;整体测试时间; (9)(9)维护重审时间;维护重审时间; (10)(10)总体恢复时间。总体恢复时间。11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维

26、护软件维护n11.5.3 11.5.3 提高软件可维护性的方法提高软件可维护性的方法建立明确的软件质量目标和优先级;建立明确的软件质量目标和优先级;使用提高软件质量的技术和工具;使用提高软件质量的技术和工具;进行明确的质量保证审查;进行明确的质量保证审查;选择可维护的程序设计语言;选择可维护的程序设计语言;改进程序的文档。改进程序的文档。第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性 1.建立明确的软件质量目标和优先级建立明确的软件质量目标和优先级第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件

27、维护11.5 11.5 软件的可维护性软件的可维护性2.使用提高软件质量的技术和工具使用提高软件质量的技术和工具第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性3.进行明确的质量保证审查进行明确的质量保证审查第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性(1)在检查点进行复审)在检查点进行复审第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件

28、的可维护性软件开发期间各个检查点的检查重点软件开发期间各个检查点的检查重点第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性n(2)验收检查)验收检查第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性第第11

29、11章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性(3)(3)周期性地维护审查周期性地维护审查第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性(4)(4)对软件包进行检查对软件包进行检查第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性4.4.选择可维护的程序设计语言选择可维护的程序设计语言第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性5.5.改进程序的文档改进程序的文档第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性第第1111章章 软件维护软件维护11.5 11.5 软件的可维护性软件的可维护性11.6 11.6 软件维护的副作用软件维护的副作用软件维护的副作用是指由于修改软件而造软件维护的副作用是指由于修改软件而造成的错误或发生其他不希望发生的情况。成的错误或发生

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论