版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程软件工程 2021-7-9 Software Engineering 2021-7-9 2 第第1111讲讲 软件维护软件维护 Software Engineering 第第1111章章 软件维护软件维护 2021-7-9 3 11.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 软件维
6、护概述软件维护概述 第第1111章章 软件维护软件维护 11.1 11.1 软件维护概述软件维护概述 (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)理解别人写的程序比较困难;)理解别人写的程序比较困难;
7、(2 2)文档资料不足或错误;)文档资料不足或错误; (3 3)人员和时间的差异造成维护的困难;)人员和时间的差异造成维护的困难; (4 4)软件人员的流动性大;)软件人员的流动性大; (5 5)维护工作不是一项吸引人的工作;)维护工作不是一项吸引人的工作; (6 6)追踪软件的建立过程非常困难,有时根本做)追踪软件的建立过程非常困难,有时根本做 不到。不到。 第第1111章章 软件维护软件维护 11.1 11.1 软件维护概述软件维护概述 11.1.5 11.1.5 结构化维护与非结构化维护结构化维护与非结构化维护 结构化维护与非结构化维护的区别主要是结构化维护与非结构化维护的区别主要是 的
8、区别。的区别。 n(1 1)结构化维护)结构化维护 n存在完整的软件系列文档,维护任务从分析设计文存在完整的软件系列文档,维护任务从分析设计文 件开始,确定软件的重要结构特性、功能特性和接口件开始,确定软件的重要结构特性、功能特性和接口 特性,确定修改或校正可能产生的影响,并且计划采特性,确定修改或校正可能产生的影响,并且计划采 用何种维护处理方法,修改设计并进行复审,编制出用何种维护处理方法,修改设计并进行复审,编制出 新的源程序,利用文档中的信息进行回归测试,然后新的源程序,利用文档中的信息进行回归测试,然后 重新交付软件。这种维护过程就叫做重新交付软件。这种维护过程就叫做“结构化维护结构
9、化维护”。 第第1111章章 软件维护软件维护 11.1 11.1 软件维护概述软件维护概述 n(2 2)非结构化维护)非结构化维护 n非结构化维护无说明性文档或者文档资料太少非结构化维护无说明性文档或者文档资料太少。 由于没有采用定义良好的软件项目管理过程来开由于没有采用定义良好的软件项目管理过程来开 发软件,由软件项目管理缺陷导致的维护叫发软件,由软件项目管理缺陷导致的维护叫“非非 结构化维护结构化维护”,这会使软件维护付出较高的代价。,这会使软件维护付出较高的代价。 第第1111章章 软件维护软件维护 11.1 11.1 软件维护概述软件维护概述 维护要求 评价设计 计划途径 修改设计
10、重编程序 阅读源代码 定位错误 重编程序 交付使用 是否结构化 回归测试回归测试 第第1111章章 软件维护软件维护 结构化维护和结构化维护和 非结构化维护非结构化维护 是否 11.1 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
11、.4 软件维护的实施软件维护的实施 n为了有效地进行软件维护,应事先做好软为了有效地进行软件维护,应事先做好软 件维护的组织工作。首先需要建立维护的件维护的组织工作。首先需要建立维护的 机构;提出维护申请报告及问题评价的过机构;提出维护申请报告及问题评价的过 程;为每一个维护申请规定标准的处理步程;为每一个维护申请规定标准的处理步 骤;还必须建立维护活动的登记制度以及骤;还必须建立维护活动的登记制度以及 制定评价和评审的标准。制定评价和评审的标准。 第第1111章章 软件维护软件维护 1.1.软件维护机构软件维护机构 维护管理员 维护配置员 维护负责人 维护小组1 维护负责人 维护小组3 维护
12、负责人 维护小组n 维护负责人 维护小组2 系统监督员 软件维护的组织结构软件维护的组织结构 第第1111章章 软件维护软件维护 11.4 11.4 软件维护的实施软件维护的实施 软件维护机构由维护管理员、系统监督员、维护配置员软件维护机构由维护管理员、系统监督员、维护配置员 和维护负责人组成。和维护负责人组成。 n用户将维护申请提交给维护管理员,维护管理员把申请交用户将维护申请提交给维护管理员,维护管理员把申请交 给系统监督员去评价。系统监督员是一位技术人员,他必给系统监督员去评价。系统监督员是一位技术人员,他必 须熟悉软件产品。一旦做出评价,由修改负责人确定如何须熟悉软件产品。一旦做出评价
13、,由修改负责人确定如何 进行修改。维护人员对程序进行修改的过程中,由配置管进行修改。维护人员对程序进行修改的过程中,由配置管 理员严格把关,控制修改的范围,对软件配置进行审计。理员严格把关,控制修改的范围,对软件配置进行审计。 n维护管理员、系统监督员、修改负责人等,均代表维护工维护管理员、系统监督员、修改负责人等,均代表维护工 作的某个职责范围。修改负责人、维护管理员可以是指定作的某个职责范围。修改负责人、维护管理员可以是指定 的某个人,也可以是一个包括管理人员、高级技术人员在的某个人,也可以是一个包括管理人员、高级技术人员在 内的小组。系统监督员可以有其他职责,但应具体分管某内的小组。系统
14、监督员可以有其他职责,但应具体分管某 一个软件包。一个软件包。 第第1111章章 软件维护软件维护 11.4 11.4 软件维护的实施软件维护的实施 2.2.软件维护报告软件维护报告 n软件维护报告包括维护申请报告和软件修改报告。软件维护报告包括维护申请报告和软件修改报告。 n维护申请报告维护申请报告(MRR(MRR,Maintenance Request Maintenance Request Report)Report),也称软件问题报告,由申请维护的用,也称软件问题报告,由申请维护的用 户填写。维护申请报告是软件组织外部提交的文户填写。维护申请报告是软件组织外部提交的文 档,它是维护工作
15、的基础。档,它是维护工作的基础。 第第1111章章 软件维护软件维护 11.4 11.4 软件维护的实施软件维护的实施 软件组织内部应相应地做出软件修改报告软件组织内部应相应地做出软件修改报告(SCR(SCR, Software Change Report)Software Change Report),报告中应指明:,报告中应指明: (1) (1) 所需修改变动的类型;所需修改变动的类型; (2) (2) 申请修改的优先级;申请修改的优先级; (3) (3) 为满足维护申请所需的工作量;为满足维护申请所需的工作量; (4) (4) 预计修改后的状况。预计修改后的状况。 软件修改报告应提交修改
16、负责人,经批准后才能进软件修改报告应提交修改负责人,经批准后才能进 一步安排维护工作。一步安排维护工作。 第第1111章章 软件维护软件维护 11.4 11.4 软件维护的实施软件维护的实施 第第1111章章 软件维护软件维护 11.4 11.4 软件维护的实施软件维护的实施 n3.3.软件维护工作流程软件维护工作流程 用户提出维护申请用户提出维护申请 维护人员确定更改要求维护人员确定更改要求 判明维护类型判明维护类型 评价错误严重程度和优先级评价错误严重程度和优先级 进行问题分析进行问题分析 实施维护实施维护 维护后的测试维护后的测试 维护评审维护评审 交付使用交付使用 11.4 11.4
17、软件维护的实施软件维护的实施 第第1111章章 软件维护软件维护 软件维护工作流程软件维护工作流程 第第1111章章 软件维护软件维护 11.4 11.4 软件维护的实施软件维护的实施 计算机确认:用计算机对修改的程序进行确认计算机确认:用计算机对修改的程序进行确认 测试。比如确认测试顺序,先测试修改的部分,测试。比如确认测试顺序,先测试修改的部分, 再测试没有修改的部分,然后集成起来测试,这再测试没有修改的部分,然后集成起来测试,这 种测试称回归测试。充分利用软件工具帮助测试,种测试称回归测试。充分利用软件工具帮助测试, 并邀请用户参与测试。并邀请用户参与测试。 文档验收:维护主管部门要检验
18、文档是否完备,文档验收:维护主管部门要检验文档是否完备, 更新测试用例及结果是否记载,软件配置是否有更新测试用例及结果是否记载,软件配置是否有 了副本,维护的工序和责任是否已确定,确认无了副本,维护的工序和责任是否已确定,确认无 误之后才交付给用户使用。误之后才交付给用户使用。 第第1111章章 软件维护软件维护 11.4 11.4 软件维护的实施软件维护的实施 第第1111章章 软件维护软件维护 11.4 11.4 软件维护的实施软件维护的实施 n5.5.编写维护档案记录编写维护档案记录 第第1111章章 软件维护软件维护 11.4 11.4 软件维护的实施软件维护的实施 第第1111章章
19、软件维护软件维护 11.4 11.4 软件维护的实施软件维护的实施 n6.6.维护评价维护评价 每次程序运行时的平均出错次数;每次程序运行时的平均出错次数; 花费在每类维护上的总花费在每类维护上的总“人时人时”数;数; 每个程序、每种语言、每种维护类型的程序平均修改次数;每个程序、每种语言、每种维护类型的程序平均修改次数; 因为维护增加或删除每个源程序语句所花费的平均因为维护增加或删除每个源程序语句所花费的平均“人时人时” 数;数; 用于每种语言的平均用于每种语言的平均“人时人时”数;数; 维护申请报告的平均处理时间;维护申请报告的平均处理时间; 各类维护申请的百分比。各类维护申请的百分比。
20、这七种度量值提供了定量的数据,据此可对开发技术、语这七种度量值提供了定量的数据,据此可对开发技术、语 言选择、维护工作计划、资源分配以及其他许多方面做出言选择、维护工作计划、资源分配以及其他许多方面做出 判定。判定。 第第1111章章 软件维护软件维护 11.4 11.4 软件维护的实施软件维护的实施 11.5 11.5 软件的可维护性软件的可维护性 n软件的可维护性定义为:为了纠正软件系统出软件的可维护性定义为:为了纠正软件系统出 现的错误和缺陷现的错误和缺陷, ,以及满足用户新的要求以及满足用户新的要求, , 软件软件 能够被理解、被校正、被修改或被改善的难易能够被理解、被校正、被修改或被
21、改善的难易 程度。程度。 n可维护性不但与采用的分析设计方法和开发人可维护性不但与采用的分析设计方法和开发人 员的技术熟练程度有关,更重要的是与软件项员的技术熟练程度有关,更重要的是与软件项 目的管理技术关系密切。软件的可维护性成为目的管理技术关系密切。软件的可维护性成为 软件开发各个阶段的关键目标。软件开发各个阶段的关键目标。 第第1111章章 软件维护软件维护 n11.5.1 11.5.1 影响软件可维护性的因素影响软件可维护性的因素 软件的可维护性除了与开发方法有关的因素之外,软件的可维护性除了与开发方法有关的因素之外, 以下因素会对可维护性有重要影响:以下因素会对可维护性有重要影响:
22、(1 1)软件设计人员是否受过严格的规范化工作培)软件设计人员是否受过严格的规范化工作培 训;训; (2 2)是否采用主流的编程语言;)是否采用主流的编程语言; (3 3)是否采用主流的操作系统;)是否采用主流的操作系统; (4 4)是否采用标准化的文档资料结构和文档形成)是否采用标准化的文档资料结构和文档形成 机制;机制; (5 5)是否保存了规范化的测试资料。)是否保存了规范化的测试资料。 11.5 11.5 软件的可维护性软件的可维护性 第第1111章章 软件维护软件维护 11.5 11.5 软件的可维护性软件的可维护性 第第1111章章 软件维护软件维护 11.5.2 11.5.2 软
23、件可维护性的度量软件可维护性的度量 n1. 可理解性可理解性 11.5 11.5 软件的可维护性软件的可维护性 第第1111章章 软件维护软件维护 n2.可靠性可靠性 11.5 11.5 软件的可维护性软件的可维护性 第第1111章章 软件维护软件维护 11.5 11.5 软件的可维护性软件的可维护性 第第1111章章 软件维护软件维护 度量可靠性的方法:度量可靠性的方法: 11.5 11.5 软件的可维护性软件的可维护性 第第1111章章 软件维护软件维护 n3. 可测试性可测试性 11.5 11.5 软件的可维护性软件的可维护性 第第1111章章 软件维护软件维护 11.5 11.5 软件
24、的可维护性软件的可维护性 第第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章章 软件维护软件维护 6.6.效率效率 。 : 11.5 11.5 软件的可维护性软件的可维护性 第第
25、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.间接度量可维护性的方法间接度量可维护性的方法 (1)(1
26、)了解问题的时间;了解问题的时间; (2)(2)行政管理拖延的时间;行政管理拖延的时间; (3)(3)收集维护工具的时间;收集维护工具的时间; (4)(4)分析问题的时间;分析问题的时间; (5)(5)改变规格说明的时间;改变规格说明的时间; (6)(6)具体的改错或修改的时间;具体的改错或修改的时间; (7)(7)局部测试时间;局部测试时间; (8)(8)整体测试时间;整体测试时间; (9)(9)维护重审时间;维护重审时间; (10)(10)总体恢复时间。总体恢复时间。 11.5 11.5 软件的可维护性软件的可维护性 第第1111章章 软件维护软件维护 n11.5.3 11.5.3 提高软
27、件可维护性的方法提高软件可维护性的方法 建立明确的软件质量目标和优先级;建立明确的软件质量目标和优先级; 使用提高软件质量的技术和工具;使用提高软件质量的技术和工具; 进行明确的质量保证审查;进行明确的质量保证审查; 选择可维护的程序设计语言;选择可维护的程序设计语言; 改进程序的文档。改进程序的文档。 第第1111章章 软件维护软件维护 11.5 11.5 软件的可维护性软件的可维护性 1.建立明确的软件质量目标和优先级建立明确的软件质量目标和优先级 第第1111章章 软件维护软件维护 11.5 11.5 软件的可维护性软件的可维护性 第第1111章章 软件维护软件维护 11.5 11.5
28、软件的可维护性软件的可维护性 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 软件的可维护性软
29、件的可维护性 软件开发期间各个检查点的检查重点软件开发期间各个检查点的检查重点 第第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 软件的
30、可维护性软件的可维护性 第第1111章章 软件维护软件维护 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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基于智能研修平台的个性化研修模式与学习动机激发策略研究教学研究课题报告
- 数学对称图形在平面广告中的视觉冲击课题报告教学研究课题报告
- 初中数学教师数字素养评价智能系统构建与教学效果分析教学研究课题报告
- 2025年黑龙江外国语学院马克思主义基本原理概论期末考试真题汇编
- 2025年冷链冷链发展冷链前景报告
- 2024年安徽工业大学马克思主义基本原理概论期末考试笔试真题汇编
- 2025年驻马店农业工程职业学院马克思主义基本原理概论期末考试笔试题库
- 2025年长春工业大学人文信息学院马克思主义基本原理概论期末考试笔试真题汇编
- 2025年福建船政交通职业学院马克思主义基本原理概论期末考试笔试真题汇编
- 2025年巴中职业技术学院马克思主义基本原理概论期末考试笔试题库
- 河道水质提升治理施工方案
- 汽车配件供货协议书(2篇)
- 骨折并发症早期和晚期
- 2024版强弱电安装合同范本
- 【案例】智慧旅游信息化建设方案
- 《数据库设计》课件
- 牵引供电计算专题(面向交流)
- 新员工入职背景调查表 (职员)
- 云计算环境下中小企业会计信息化建设问题
- 《材料性能学》课件-第四章 材料的断裂韧性
- 超市服务培训课程课件
评论
0/150
提交评论