《软件工程导论第9章》由会员分享,可在线阅读,更多相关《软件工程导论第9章(24页珍藏版)》请在金锄头文库上搜索。
1、中北大学电子与计算机科学技术学院软件工程 王素红 第九章第九章 维护方法维护方法 学习方法学习方法1、理解为什么要对软件进行维护;、理解为什么要对软件进行维护;2、掌握软件维护的技术。、掌握软件维护的技术。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.1中北大学电子与计算机科学技术学院软件工程 王素红 9.1 维护的基本概念维护的基本概念 软件维护软件维护是指软件系统交付使用以后,是指软件系统交付使用以后,为了改正
2、错误或满足新的需要而修改软件为了改正错误或满足新的需要而修改软件的过程。的过程。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2中北大学电子与计算机科学技术学院软件工程 王素红 软件维护的原因:软件维护的原因:l在运行中发现软件错误和设计缺陷,这些错在运行中发现软件错误和设计缺陷,这些错误和缺陷在测试阶段未能发现;误和缺陷在测试阶段未能发现;l需要改进设计,以便增强软件的功能,提高需要改进设计,以便增强软件的功能,
3、提高软件的性能;软件的性能;Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.3中北大学电子与计算机科学技术学院软件工程 王素红 l 要求已运行的软件能适应特定的硬件、软要求已运行的软件能适应特定的硬件、软件、外部设备和通信设备等的工作环境,件、外部设备和通信设备等的工作环境,或是要求适应已变动的数据或文件;或是要求适应已变动的数据或文件;l为使投入运行的软件与其它相关的程序有良为使投入运行的软件与其它相关的程序有良好
4、的接口,以利于协同工作;好的接口,以利于协同工作;l为使运行软件的应用范围得到必要的扩充。为使运行软件的应用范围得到必要的扩充。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.4中北大学电子与计算机科学技术学院软件工程 王素红 软件软件“维护维护”与硬件与硬件“维护维护”的区别:的区别:l硬件硬件“维护维护”包括替换已损坏的零部件、纠正包括替换已损坏的零部件、纠正缺陷、加强设计以及保养等。缺陷、加强设计以及保养等。l
5、软件软件“维护维护”不仅可以改正原设计中的错误或不仅可以改正原设计中的错误或不当之处,而且还可以增强软件功能,提不当之处,而且还可以增强软件功能,提高软件性能。高软件性能。 软件维护工作处于软件生命期的最后阶软件维护工作处于软件生命期的最后阶段,占段,占67。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.5中北大学电子与计算机科学技术学院软件工程 王素红 9.2维护的种类维护的种类 维护工作可分为维护工作可分为4类
6、:类: 完善性维护、纠错性维护、适应性维护、完善性维护、纠错性维护、适应性维护、预防性维护。预防性维护。l完善性维护完善性维护扩充原有系统的功能、扩充原有系统的功能、提高原有系统的性能,提高原有系统的性能,满足用户的实际需求。满足用户的实际需求。图1 各类维护所占比例Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6中北大学电子与计算机科学技术学院软件工程 王素红 l纠错性维护纠错性维护 纠错性维护实在软件运行中发生
7、异常或纠错性维护实在软件运行中发生异常或故障时进行的。故障时进行的。l适应性维护适应性维护 适应性维护就是要使运行的软件能适应适应性维护就是要使运行的软件能适应外部环境的变动。外部环境的变动。l预防性维护预防性维护 预防性维护是为了进一步改进软件的易预防性维护是为了进一步改进软件的易维护性和可靠性,以提供更好的基础对软件维护性和可靠性,以提供更好的基础对软件进行维护。进行维护。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty
8、Ltd.7中北大学电子与计算机科学技术学院软件工程 王素红 9.3维护的步骤与方法维护的步骤与方法一、维护步骤一、维护步骤图2 维护处理步骤Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.8中北大学电子与计算机科学技术学院软件工程 王素红 尽管维护请求类型不同,但都要进行同样尽管维护请求类型不同,但都要进行同样的维护技术工作,包括:的维护技术工作,包括:l修改软件的设计修改软件的设计l设计的复审设计的复审l必要的代码
9、修改必要的代码修改l模块测试模块测试l联合测试联合测试l系统测试系统测试l复审复审Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.9中北大学电子与计算机科学技术学院软件工程 王素红 二、维护方法二、维护方法1、基本工作、基本工作l检查用户需求说明书,对用户原来的需求做检查用户需求说明书,对用户原来的需求做到心中有数;到心中有数;l同用户和开发人员商讨,明确维护的类型;同用户和开发人员商讨,明确维护的类型;l检查程序和
10、相应的文档;检查程序和相应的文档;Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.10中北大学电子与计算机科学技术学院软件工程 王素红 l确定程序错误的性质与位置,或要增加功能确定程序错误的性质与位置,或要增加功能的部分;的部分;l研究程序修改可行性和修改可能引起的副作研究程序修改可行性和修改可能引起的副作用;用;l对改变的部分进行编码;对改变的部分进行编码;l修改相应的程序文档和程序库。修改相应的程序文档和程序库。
11、Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.11中北大学电子与计算机科学技术学院软件工程 王素红 改进维护方法的一些建议:改进维护方法的一些建议:l使用结构化程序设计技术来修改程序;使用结构化程序设计技术来修改程序;l鼓励维护人员与用户和开发人员互相商讨问鼓励维护人员与用户和开发人员互相商讨问题;题;l建立和加强程序设计和文档标准;建立和加强程序设计和文档标准;l改进现有软件的文档;改进现有软件的文档;l为检查维
12、护工作的质量严格执行维护复审;为检查维护工作的质量严格执行维护复审;Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.12中北大学电子与计算机科学技术学院软件工程 王素红 l提高用户对维护工作的重视;提高用户对维护工作的重视;l应以成批方式处理维护请求,而不是以分散应以成批方式处理维护请求,而不是以分散的方式处理维护请求;的方式处理维护请求;l当软件被修改后,应该特别重视重复测试和当软件被修改后,应该特别重视重复测试和
13、重复确认;重复确认;l应对维护人员加强应用领域新只是和新技术应对维护人员加强应用领域新只是和新技术的培训,有利于搞好维护工作。的培训,有利于搞好维护工作。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.13中北大学电子与计算机科学技术学院软件工程 王素红 2、理解现有系统理解现有系统3、修改现有系统修改现有系统 一般过程:一般过程:(1)制订修改计划)制订修改计划(2)按计划修改系统)按计划修改系统(3)控制系统修改
14、的波动效应)控制系统修改的波动效应4、重新确定修改后的系统重新确定修改后的系统Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.14中北大学电子与计算机科学技术学院软件工程 王素红 9.4 可维护性可维护性 软件的可维护性软件的可维护性是指维护人员为纠正软是指维护人员为纠正软件系统出现的错误或缺陷,以及为新的要件系统出现的错误或缺陷,以及为新的要求而理解、修改和完善软件系统的难易程求而理解、修改和完善软件系统的难易程度
15、。度。 提高可维护性是决定软件工程方法论提高可维护性是决定软件工程方法论所有步骤的关键目标。所有步骤的关键目标。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.15中北大学电子与计算机科学技术学院软件工程 王素红 决定可维护性的因素主要有决定可维护性的因素主要有3个:个:l可理解性:可理解性:可理解性被定义为人们通过阅读可理解性被定义为人们通过阅读代码和相关文档了解软件系统的结构、接代码和相关文档了解软件系统的结构、
16、接口、功能、内部过程以及如何运行的难易口、功能、内部过程以及如何运行的难易程度。程度。l可测试性:可测试性:可测试性被定义为诊断和测试系可测试性被定义为诊断和测试系统的难易程度。统的难易程度。l可修改性:可修改性:可修改性被定义为修改软件系统可修改性被定义为修改软件系统的难易程度。的难易程度。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.16中北大学电子与计算机科学技术学院软件工程 王素红 可维护性是所有软件系统都
17、应具备的特点。可维护性是所有软件系统都应具备的特点。在软件工程的每一阶段都应该努力提高系在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前的审查统的可维护性,在每个阶段结束前的审查和复审中,应着重对可维护性进行复审。和复审中,应着重对可维护性进行复审。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.17中北大学电子与计算机科学技术学院软件工程 王素红 9.5 维护的管理维护的管理 维护人员:维护人员:
18、 开发人员、专职人员开发人员、专职人员 软件系统的维护工作不仅是技术性的,软件系统的维护工作不仅是技术性的,它还需要大量的管理工作与之相配合,才它还需要大量的管理工作与之相配合,才能保证维护工作的质量。能保证维护工作的质量。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.18中北大学电子与计算机科学技术学院软件工程 王素红 图3 软件维护管理流程Evaluation only.Created with Aspose.
19、Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.19中北大学电子与计算机科学技术学院软件工程 王素红 软件维护阶段所产生的文档主要有两个:软件维护阶段所产生的文档主要有两个:l一个是软件问题报告,一个是软件问题报告,l一个是软件修改报告。一个是软件修改报告。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.20中
20、北大学电子与计算机科学技术学院软件工程 王素红 软件问题报告的主要内容软件问题报告的主要内容 l登记号与登记日期登记号与登记日期l软件名称、编号、版本号软件名称、编号、版本号l开发单位名称开发单位名称l报告人姓名、单位、电话报告人姓名、单位、电话l报告时间报告时间Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.21中北大学电子与计算机科学技术学院软件工程 王素红 l问题来源(程序、数据库、文件或其他来源)问题来源(程
21、序、数据库、文件或其他来源)l问题描述(包括运行环境、测试用例、问题问题描述(包括运行环境、测试用例、问题特征及其影响)特征及其影响)l处理意见(包括负责人签名和签名日期)处理意见(包括负责人签名和签名日期)l附注附注Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.22中北大学电子与计算机科学技术学院软件工程 王素红 软件修改报告的主要内容软件修改报告的主要内容l登记号和登记日期登记号和登记日期l上次修改登记号上次修
22、改登记号l修改日期修改日期l软件名称、编号、版本号软件名称、编号、版本号l开发单位开发单位l“软件修改申请报告软件修改申请报告”登记号和登记日期登记号和登记日期l修改时的运行环境(包括硬件、软件和其它修改时的运行环境(包括硬件、软件和其它环境)环境)l修改内容(包括程序、数据库、文件等)修改内容(包括程序、数据库、文件等)l批注者姓名批注者姓名Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.23中北大学电子与计算机科
23、学技术学院软件工程 王素红 l测试情况(包括测试项目、测试用例和测测试情况(包括测试项目、测试用例和测试成功与否)试成功与否)l修改的影响(包括对软件系统、运行环境修改的影响(包括对软件系统、运行环境和使用者);和使用者);l修改时的资源消耗(包括人工数和计算机修改时的资源消耗(包括人工数和计算机时数)时数)l附注附注l修改者和校审者姓名修改者和校审者姓名l标准化情况标准化情况l批注者姓名批注者姓名Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.24