




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第9章章 IT软件项目维护管理软件项目维护管理n9.1 软件项目维护概述软件项目维护概述 n9.2 软件项目维护成本软件项目维护成本 n9.3 项目可维护性的度量项目可维护性的度量 n9.4 软件再造工程软件再造工程 2022-4-25上海海事大学计算机系上海海事大学计算机系19.1 软件项目维护概述软件项目维护概述n9.1.1 软件项目维护管理理论软件项目维护管理理论 n9.1.2 软件项目发展动力学软件项目发展动力学 n9.1.3 软件项目维护的特点软件项目维护的特点 2022-4-25上海海事大学计算机系上海海事大学计算机系29.1.1 软件项目维护管理理论软件项目维护管理理论n1项目
2、维护项目维护n定义:项目发布后,所做的修改过程定义:项目发布后,所做的修改过程n内容:内容:n修改错误源代码修改错误源代码n重新写代码重新写代码n重新变更需求重新变更需求n特点:没有不需要维护的项目,维护不可避免特点:没有不需要维护的项目,维护不可避免n原因:原因:n实际工作变化导致需求不断变化实际工作变化导致需求不断变化n项目环境发生变化项目环境发生变化n测试没有发现的错误可能出现测试没有发现的错误可能出现2022-4-25上海海事大学计算机系上海海事大学计算机系3n解决办法:提高项目的可维护性,使得维护量尽量小解决办法:提高项目的可维护性,使得维护量尽量小n可维护性:指维护软件项目正常运行
3、所需要的努力,可维护性:指维护软件项目正常运行所需要的努力,包括包括纠正软件系统出现的错误和缺陷纠正软件系统出现的错误和缺陷,以及,以及为满足新为满足新的要求进行修改、扩充或压缩的要求进行修改、扩充或压缩n可维护性、可使用性、可靠性是衡量软件质量的主要可维护性、可使用性、可靠性是衡量软件质量的主要质量特性质量特性n软件的可维护性是软件开发阶段各个时期的关键目标软件的可维护性是软件开发阶段各个时期的关键目标2022-4-25上海海事大学计算机系上海海事大学计算机系4n目前广泛使用的是用如下的七个特性来衡量程序的可维护目前广泛使用的是用如下的七个特性来衡量程序的可维护性。性。n可理解性,可重用性,
4、可测试性,可移植性,可修改可理解性,可重用性,可测试性,可移植性,可修改性效率,可靠性性效率,可靠性n对于对于不同类型的维护不同类型的维护,这七种特性的侧重点也不相同,这七种特性的侧重点也不相同2022-4-25上海海事大学计算机系上海海事大学计算机系5n可理解性表明人们通过阅读源代码和相关文档,了解可理解性表明人们通过阅读源代码和相关文档,了解程序功能及其如何运行的容易程度。程序功能及其如何运行的容易程度。n可靠性表明一个程序按照用户的要求和设计目标,在可靠性表明一个程序按照用户的要求和设计目标,在给定的一段时间内正确执行的概率。给定的一段时间内正确执行的概率。n可测试性表明论证程序正确性的
5、容易程度。可测试性表明论证程序正确性的容易程度。n可修改性表明程序容易修改的程度。可修改性表明程序容易修改的程度。n可移植性表明程序转移到一个新的计算环境的可能性可移植性表明程序转移到一个新的计算环境的可能性的大小。的大小。n效率表明一个程序能执行预定功能而又不浪费机器资效率表明一个程序能执行预定功能而又不浪费机器资源的程度。源的程度。n从用户观点出发,可使用性定义为程序方便、实用、从用户观点出发,可使用性定义为程序方便、实用、及易于使用的程度。及易于使用的程度。2022-4-25上海海事大学计算机系上海海事大学计算机系6n2. 维护主要工作维护主要工作n类型类型n完善性维护完善性维护:在不改
6、变系统整体功能的前提下,提高:在不改变系统整体功能的前提下,提高和改善某部分的功能。一般占和改善某部分的功能。一般占65%。n适应性维护适应性维护:调整系统使之能适应一个已经发生变化:调整系统使之能适应一个已经发生变化的系统环境。一般占的系统环境。一般占17%。n纠错性维护(改正性维护)纠错性维护(改正性维护):纠正以前未发现的系统:纠正以前未发现的系统错误。一般占错误。一般占17%。2022-4-25上海海事大学计算机系上海海事大学计算机系72022-4-25上海海事大学计算机系上海海事大学计算机系8在各类维护中的侧重点在各类维护中的侧重点 n原因:原因:n完善性维护的原因:使用过程中,用户
7、对软件提出新完善性维护的原因:使用过程中,用户对软件提出新的功能和性能要求,的功能和性能要求,n适应性维护的原因:应用系统、外部环境和数据环境适应性维护的原因:应用系统、外部环境和数据环境发生变化发生变化n纠错性维护的原因:测试的不彻底、不完全,使得一纠错性维护的原因:测试的不彻底、不完全,使得一部分隐藏错误被带到运行阶段中部分隐藏错误被带到运行阶段中2022-4-25上海海事大学计算机系上海海事大学计算机系9n预测性维护预测性维护:为了提高软件项目的可维护性、可靠性等,:为了提高软件项目的可维护性、可靠性等,为以后进一步改善软件项目功能和使用而进行的活动。一为以后进一步改善软件项目功能和使用
8、而进行的活动。一般占般占1%。n方法:采用先进的软件项目管理方法对需要维护的软方法:采用先进的软件项目管理方法对需要维护的软件项目或项目中的部分(重新)设计、编制和测试件项目或项目中的部分(重新)设计、编制和测试n注意:编码阶段错误修改成本低,设计阶段错误修改注意:编码阶段错误修改成本低,设计阶段错误修改成本高,需求定义错误维护成本最高成本高,需求定义错误维护成本最高n原因:设计错误设计多个模块的重新设计与编码,需原因:设计错误设计多个模块的重新设计与编码,需求分析错误意味着要重新定义需求、设计、编码求分析错误意味着要重新定义需求、设计、编码n总结总结n需要花费需要花费50%的时间来维护系统的
9、时间来维护系统2022-4-25上海海事大学计算机系上海海事大学计算机系10n3. 维护的主要过程维护的主要过程2022-4-25上海海事大学计算机系上海海事大学计算机系11图图9.2 软件项目维护的主要过程软件项目维护的主要过程需求变化需求变化冲突分析化冲突分析化维护计划维护计划功能更改功能更改系统发布系统发布完善维护完善维护适应性维护适应性维护纠错维护纠错维护n特点:特点:n1. 大多数维护过程发生都是由于用户或管理上的需求大多数维护过程发生都是由于用户或管理上的需求的变化而触发的变化而触发n2. 根据变化需要支出的成本及其他属性,来判断是否根据变化需要支出的成本及其他属性,来判断是否接受
10、变动接受变动n3. 接受变动后确定修改或发布新版本接受变动后确定修改或发布新版本n4. 维护某种程度上是开发过程的一次重复,因此有相维护某种程度上是开发过程的一次重复,因此有相应的标准、程序应的标准、程序n5. 维护工程师应尽量使维护对程序结构变化影响最小维护工程师应尽量使维护对程序结构变化影响最小2022-4-25上海海事大学计算机系上海海事大学计算机系12n注意事项:注意事项:n把项目目标与组织目标相结合把项目目标与组织目标相结合 n把项目维护报酬与工作相结合把项目维护报酬与工作相结合 n使维护人员参与到开发小组中去使维护人员参与到开发小组中去 n制定一个完善的维护计划,并允许维护人员决定
11、系统制定一个完善的维护计划,并允许维护人员决定系统是否该重新设计是否该重新设计n使维护人员介入到系统目标准备、测试等工作中去使维护人员介入到系统目标准备、测试等工作中去n总结总结n维护的重要性与开发相等维护的重要性与开发相等2022-4-25上海海事大学计算机系上海海事大学计算机系139.1.2 软件项目发展动力学软件项目发展动力学n1. 项目发展动力学的概念项目发展动力学的概念n含义:进行系统变化的研究,发现与系统变化相关的一些含义:进行系统变化的研究,发现与系统变化相关的一些列规律或规则列规律或规则nLehman & Belady 通过测试大量大规模系统的增长和发通过测试大量大规模
12、系统的增长和发展,提出了展,提出了Lehman规律。规律。2022-4-25上海海事大学计算机系上海海事大学计算机系142022-4-25上海海事大学计算机系上海海事大学计算机系15表表9.1 Lehman 9.1 Lehman 规律规律 规规 律律定定 义义 连续变化规律连续变化规律在不断变化的环境里,软件必须要发生变化,不然,该软件的用途在不断变化的环境里,软件必须要发生变化,不然,该软件的用途就变得会越来越小就变得会越来越小 复杂度增加规律复杂度增加规律作为一个不断发展和变化的软件,其结构将会变得更加复杂,必须作为一个不断发展和变化的软件,其结构将会变得更加复杂,必须引入外在的资源来保持
13、和简化这个结构引入外在的资源来保持和简化这个结构 大规模软件发展大规模软件发展规律规律 软件的发展变化是一个自我调节的过程,系统属性软件的发展变化是一个自我调节的过程,系统属性(如规模、版本如规模、版本发布间隔时间、发现的错误数等发布间隔时间、发现的错误数等)对每个系统版本来说都应当是大对每个系统版本来说都应当是大致不变的致不变的 组织稳定规律组织稳定规律在软件的整个生命周期里,它的发展变化速度大致是不变的,并且在软件的整个生命周期里,它的发展变化速度大致是不变的,并且与投入系统开发的资源无关与投入系统开发的资源无关保持一致规律保持一致规律在软件的整个生命周期中,每个版本增加的系统变化量都是大
14、致相在软件的整个生命周期中,每个版本增加的系统变化量都是大致相当的当的 9.1.2 软件项目发展动力学(软件项目发展动力学(2)n连续变化规律连续变化规律表明系统维护是一个必须的过程。错误修复表明系统维护是一个必须的过程。错误修复只是维护活动的一小部分工作。一个设计好的软件系统必只是维护活动的一小部分工作。一个设计好的软件系统必须是可维护的。须是可维护的。n复杂度增加规律复杂度增加规律说明随着系统的变化,软件原有的整体结说明随着系统的变化,软件原有的整体结构将不断退化。如果希望改变这种结构退化的趋势,就必构将不断退化。如果希望改变这种结构退化的趋势,就必须增加一些额外的成本,有时这种成本将成为
15、是否实施软须增加一些额外的成本,有时这种成本将成为是否实施软件改变的重要影响因素。因此,减少结构退化的成本必须件改变的重要影响因素。因此,减少结构退化的成本必须是可以接受的,而且,维护过程可能要包括系统结构的重是可以接受的,而且,维护过程可能要包括系统结构的重新设计。新设计。n组织稳定规律组织稳定规律说明大多数大规模的软件项目都处于一种说明大多数大规模的软件项目都处于一种“饱和饱和”的状态。即任何一个资源或人员的变化都会对系的状态。即任何一个资源或人员的变化都会对系统的长期发展产生不利的影响。统的长期发展产生不利的影响。2022-4-25上海海事大学计算机系上海海事大学计算机系169.1.2
16、软件项目发展动力学(软件项目发展动力学(3)n大规模软件发展规律大规模软件发展规律表明大型系统在开发的早期阶段就有表明大型系统在开发的早期阶段就有了自身的动态性和可调节能力,即决定了系统维护过程大了自身的动态性和可调节能力,即决定了系统维护过程大致的趋势和系统可能变化的数量,维护管理不能也不应该致的趋势和系统可能变化的数量,维护管理不能也不应该做系统变化所要求的所有事情。由于变化是针对整个系统做系统变化所要求的所有事情。由于变化是针对整个系统的,所以变化也会引入新的错误到系统中,这时就需要更的,所以变化也会引入新的错误到系统中,这时就需要更多的变化来纠正这些错误,一旦系统超过了一定的规模,多的
17、变化来纠正这些错误,一旦系统超过了一定的规模,这些变化所起的作用如同惯性系统一样,同时也阻碍着更这些变化所起的作用如同惯性系统一样,同时也阻碍着更大的变化,这些变化导致系统的可靠性降低。所以在任何大的变化,这些变化导致系统的可靠性降低。所以在任何时候实施的变化数量都是有限的。系统变化的过程在一定时候实施的变化数量都是有限的。系统变化的过程在一定程度上受组织的决策过程所控制。程度上受组织的决策过程所控制。n保持一致规律保持一致规律关心的是软件系统每个版本发行时的变化增关心的是软件系统每个版本发行时的变化增加量,变化量保持适度的增加是必须的。加量,变化量保持适度的增加是必须的。2022-4-25上
18、海海事大学计算机系上海海事大学计算机系179.1.3 软件项目维护的特点软件项目维护的特点 n非结构化维护:非结构化维护:n软件项目开发过程对软件的维护有较大的影响,如果不遵软件项目开发过程对软件的维护有较大的影响,如果不遵循软件工程的方法开发软件项目,软件往往只有程序而没循软件工程的方法开发软件项目,软件往往只有程序而没有文档,这样软件维护工作是非常困难的。有文档,这样软件维护工作是非常困难的。n采用采用软件工程方法进行软件项目开发软件工程方法进行软件项目开发,则各个阶段都有相,则各个阶段都有相应的文档,使软件容易进行维护工作,这是一种结构化的应的文档,使软件容易进行维护工作,这是一种结构化
19、的维护。维护。n维护的困难性:维护的困难性:n无论哪种维护方式,软件项目的维护都存在着一定的困难,无论哪种维护方式,软件项目的维护都存在着一定的困难,它主要是由软件需求分析和开发方法的缺陷造成的。它主要是由软件需求分析和开发方法的缺陷造成的。2022-4-25上海海事大学计算机系上海海事大学计算机系18n困难主要表现在如下几个方面:困难主要表现在如下几个方面:n读懂别人的程序一般是非常困难的。读懂别人的程序一般是非常困难的。n文档的不一致性。文档的不一致性。 n软件开发和软件维护在人员和时间上的差异。软件开发和软件维护在人员和时间上的差异。 n软件维护在大多数人看来是一件没有挑战性的工作。软件
20、维护在大多数人看来是一件没有挑战性的工作。 2022-4-25上海海事大学计算机系上海海事大学计算机系199.2 软件项目维护成本软件项目维护成本 n9.2.1 影响软件项目维护成本的因素影响软件项目维护成本的因素 n9.2.2 软件项目维护成本的预测软件项目维护成本的预测 2022-4-25上海海事大学计算机系上海海事大学计算机系209.2.1 影响软件项目维护成本的因素影响软件项目维护成本的因素 n1. 软件维护成本构成软件维护成本构成n软件成本软件成本n质量保证成本质量保证成本n质量故障成本质量故障成本2022-4-25上海海事大学计算机系上海海事大学计算机系21n维护:完善性、适应性、
21、纠错性、预测性维护:完善性、适应性、纠错性、预测性n维护成本涉及到保证和故障成本维护成本涉及到保证和故障成本2022-4-25上海海事大学计算机系上海海事大学计算机系22n2. 维护成本特点维护成本特点n维护成本很难准确预测维护成本很难准确预测n维护阶段为项目开发中花费成本最大的阶段维护阶段为项目开发中花费成本最大的阶段n不同的项目维护成本差别大不同的项目维护成本差别大n大型嵌入式软件系统,维护成本为开发成本的大型嵌入式软件系统,维护成本为开发成本的2-4倍倍n商务应用系统,维护成本与开发成本相当商务应用系统,维护成本与开发成本相当n在系统设计和开发中投入大量的人力物力是减少维护成本在系统设计
22、和开发中投入大量的人力物力是减少维护成本的的最好最好办法办法n注意:注意:如果开发成本的增加的比例与系统维护成本减少的如果开发成本的增加的比例与系统维护成本减少的比例相当的花,增加开发成本将导致系统成本的减少比例相当的花,增加开发成本将导致系统成本的减少2022-4-25上海海事大学计算机系上海海事大学计算机系232022-4-25上海海事大学计算机系上海海事大学计算机系24系统1系统20 5 10 15 20 25 30 35 40 45 50 开发及维护成本开发及维护成本开发成本开发成本维护成本维护成本上图表明了系统开发成本和维护上图表明了系统开发成本和维护成本之间成本之间关系关系n3.
23、影响维护成本的因素影响维护成本的因素n影响项目的维护成本主要因素分为影响项目的维护成本主要因素分为技术因素技术因素和和非技术非技术因素因素n非技术因素非技术因素一般包括一般包括应用领域、员工稳定性、软件生应用领域、员工稳定性、软件生命周期、外部环境、硬件的稳定性等命周期、外部环境、硬件的稳定性等方面方面n技术因素技术因素主要包括主要包括模块的独立性、编程语言、编程风模块的独立性、编程语言、编程风格、软件有效性和测量、文档的质量和配置管理的技格、软件有效性和测量、文档的质量和配置管理的技术等术等2022-4-25上海海事大学计算机系上海海事大学计算机系25影响软件项目维护成本的因素影响软件项目维
24、护成本的因素非技术因素非技术因素n应用领域应用领域: 如果应用软件系统能够很清楚地定义并且很好地理解,如果应用软件系统能够很清楚地定义并且很好地理解,则系统的需求就可以完全准确定义,适应性维护就相对较少。而则系统的需求就可以完全准确定义,适应性维护就相对较少。而如果一个应用软件是在全新的领域中进行的,则原始的需求就可如果一个应用软件是在全新的领域中进行的,则原始的需求就可能随着开发人员不断获得该领域的经验而经常变化。能随着开发人员不断获得该领域的经验而经常变化。n员工稳定性员工稳定性:如果是系统开发人员负责维护本人负责开发的部分,:如果是系统开发人员负责维护本人负责开发的部分,维护成本将大大减
25、少。维护成本将大大减少。n软件生命周期软件生命周期:随着软件生命周期的进展,相应的软件或硬件已:随着软件生命周期的进展,相应的软件或硬件已不适应,被抛弃的部分变多,维护成本相应增加。不适应,被抛弃的部分变多,维护成本相应增加。n外部环境外部环境:如果一个软件依靠它的外部环境,则当外部环境发生:如果一个软件依靠它的外部环境,则当外部环境发生改变时,软件也要发生相应的改动。如:税法的改变,要求相应改变时,软件也要发生相应的改动。如:税法的改变,要求相应的工资等程序模块要发生变化。的工资等程序模块要发生变化。n硬件的稳定性硬件的稳定性:软件和程序需要不断更新以使能用新的硬件来取:软件和程序需要不断更
26、新以使能用新的硬件来取代过时的硬件,因此也会发生相应的维护费用。代过时的硬件,因此也会发生相应的维护费用。2022-4-25上海海事大学计算机系上海海事大学计算机系26影响软件项目维护成本的因素影响软件项目维护成本的因素技术因素技术因素n模块的独立性模块的独立性:修改一个模块时不影响其他模块的功能。:修改一个模块时不影响其他模块的功能。n编程语言编程语言:用高级语言编写的程序一:用高级语言编写的程序一 般比用低级语言编写的程序般比用低级语言编写的程序易于理解和维护。易于理解和维护。n编程风格编程风格:采取易于理解的方式编写的软件更容易修改和维护。:采取易于理解的方式编写的软件更容易修改和维护。
27、n软件有效性和测量软件有效性和测量:一般花在软件有效性验证和测量的时间越长,:一般花在软件有效性验证和测量的时间越长,软件潜在的错误就越少。软件潜在的错误就越少。n文档的质量文档的质量:如果软件有清楚、完全并且简洁的文档支持,软件:如果软件有清楚、完全并且简洁的文档支持,软件和程序也会相对好读懂,维护成本相对较低。和程序也会相对好读懂,维护成本相对较低。n配置管理的技术配置管理的技术:维护成本的一个重要组成部分是对系统所有文:维护成本的一个重要组成部分是对系统所有文档的保存,有效配置管理技术能帮助控制这些成本。档的保存,有效配置管理技术能帮助控制这些成本。n总结:随着系统使用时间的延长,维护成
28、本越高。总结:随着系统使用时间的延长,维护成本越高。2022-4-25上海海事大学计算机系上海海事大学计算机系279.2.2 软件项目维护成本的预测软件项目维护成本的预测(1)n1. 维护成本预测维护成本预测n一般方法:根据成本项目的历史数据构建数学模型来估算一般方法:根据成本项目的历史数据构建数学模型来估算当前项目维护成本当前项目维护成本n模型:模型:Boehm构建的维护成本预测公式,为构建的维护成本预测公式,为COCOMO模模型的一部分,由年变化冲突型的一部分,由年变化冲突(ACT)n年变化冲突年变化冲突(ACT)的定义:软件产品一年中变化资源的定义:软件产品一年中变化资源(可以是增加的也
29、可以是减少的可以是增加的也可以是减少的)在总资源中所占的比在总资源中所占的比例。例。 2022-4-25上海海事大学计算机系上海海事大学计算机系28n估计方法估计方法:采用年变化冲突:采用年变化冲突(ACT)和开发时的估计或者和开发时的估计或者实际成本实际成本(以人月表示以人月表示)来求得软件维护的年成本来求得软件维护的年成本AME=ACT * SDT 其中:其中:AME是年维护成本;是年维护成本; SDT是项目开发时间,以人月是项目开发时间,以人月(PM)为基本单位;为基本单位; ACT是年变化冲突。是年变化冲突。如:一个软件项目需要如:一个软件项目需要236PM开发并且估计大概有开发并且估
30、计大概有15%的的ACT,则基本的维护成本预测值为:,则基本的维护成本预测值为: AME=0.15*236=35.4PMn上面的公式给出了项目维护成本的一个上面的公式给出了项目维护成本的一个大概评估大概评估,它,它是进行进一步精确计算的基础。是进行进一步精确计算的基础。2022-4-25上海海事大学计算机系上海海事大学计算机系299.2.2 软件项目维护成本的预测软件项目维护成本的预测(2)n2. 维护成本精确预测维护成本精确预测n注意:进行精确计算,需要考虑项目过程、项目产品和人注意:进行精确计算,需要考虑项目过程、项目产品和人员因素等。员因素等。n方法:精确预测可以通过判断每个影响成本因素
31、的重要性,方法:精确预测可以通过判断每个影响成本因素的重要性,选择大概的权重,然后再进行提炼。选择大概的权重,然后再进行提炼。n基本的维护成本预测公式可以通过每个因素的影响权重来基本的维护成本预测公式可以通过每个因素的影响权重来修正成本预测。修正成本预测。2022-4-25上海海事大学计算机系上海海事大学计算机系309.2.2 软件项目维护成本的预测软件项目维护成本的预测(3)n例如:在上面的例子中,对维护成本影响最大的因素有:例如:在上面的例子中,对维护成本影响最大的因素有:n可靠性(可靠性(RELY),可靠性必须高),可靠性必须高n有应用开发及编程语言经验的开发人员有应用开发及编程语言经验
32、的开发人员(AEXP和和LEXP)n为开发系统所用的编程方法(为开发系统所用的编程方法(MODP)等。)等。n这些因素的权重分别是:这些因素的权重分别是:nRELY:1.10 AEXP:0.91 LEXP:0.95 MODP:0.72n通过应用以上的权重,计算最初的维护成本估计值:通过应用以上的权重,计算最初的维护成本估计值:AME=35.4*1.10*0.91*0.75*0.72=24.2PM2022-4-25上海海事大学计算机系上海海事大学计算机系31n估计得到的维护成本比基本计算得出的成本要小,原因:估计得到的维护成本比基本计算得出的成本要小,原因:n有经验的员工参与项目维护有经验的员工
33、参与项目维护n采用了先进的编程方法采用了先进的编程方法n例如:例如:MODP影响因素变成影响因素变成1.4,其他因素不变,维护成,其他因素不变,维护成本上升为多少?本上升为多少?2022-4-25上海海事大学计算机系上海海事大学计算机系32n其他影响因素其他影响因素n开发方法:结构化开发陈旧,造成维护成本增加开发方法:结构化开发陈旧,造成维护成本增加n系统不同部分具有不同系统不同部分具有不同ACT:设法获得系统各个部分:设法获得系统各个部分ACT和开发工作量。总维护成本为各部分维护成本之和开发工作量。总维护成本为各部分维护成本之和。和。2022-4-25上海海事大学计算机系上海海事大学计算机系
34、33nBoehm模型局限性:模型局限性:n软件使用期限增加,结构退化,维护成本估算采用原软件使用期限增加,结构退化,维护成本估算采用原始时间作为主要因素,导致失真始时间作为主要因素,导致失真n模型适应性模型适应性n模型必须与软件开发时间结合很好模型必须与软件开发时间结合很好2022-4-25上海海事大学计算机系上海海事大学计算机系349.3 项目可维护性的度量(项目可维护性的度量(1) n1. 维护性成本要求维护性成本要求n避免高成本的意外避免高成本的意外n软件各个组件维护性可以评价软件各个组件维护性可以评价n2. 维护度量标准维护度量标准n作用:可以帮助管理人员做出决策:组件是否应该维护或作
35、用:可以帮助管理人员做出决策:组件是否应该维护或完全重新编制完全重新编制n目的:减少将来的维护成本目的:减少将来的维护成本2022-4-25上海海事大学计算机系上海海事大学计算机系35维护成本维护成本可以估计可以估计n特点:特点:n不测量系统某个特定变化的成本,也不预测某个组件不测量系统某个特定变化的成本,也不预测某个组件是否应该维护是否应该维护n建立在可维护性及复杂性基础上,用来测量软件复杂建立在可维护性及复杂性基础上,用来测量软件复杂性的一些方面性的一些方面n定义:软件能够被理解、改正、适应和完善以适应新的环定义:软件能够被理解、改正、适应和完善以适应新的环境的难易程度。境的难易程度。20
36、22-4-25上海海事大学计算机系上海海事大学计算机系369.3 项目可维护性的度量(项目可维护性的度量(1) n3.可维护性的度量的方法主要有:可维护性的度量的方法主要有:nMcCabe 在在1976年提出的年提出的“曲线图技术曲线图技术”:假设程序的:假设程序的复杂性不在于程序的大小而在于程序的判断结构。复杂性不在于程序的大小而在于程序的判断结构。nHalstead 在在1977年提出的年提出的“参数法参数法”:参数有算子的:参数有算子的数量、操作数的数量、算子使用的总频率、操作数使用的数量、操作数的数量、算子使用的总频率、操作数使用的总频率等。总频率等。2022-4-25上海海事大学计算
37、机系上海海事大学计算机系379.3 项目可维护性的度量(项目可维护性的度量(2)nGilb提出的间接估算可维护性法:提出了一些与可维护工提出的间接估算可维护性法:提出了一些与可维护工作量有关的可维护性度量。主要有:作量有关的可维护性度量。主要有:n问题确定时间问题确定时间n管理延迟时间管理延迟时间n维护工具收集时间维护工具收集时间n问题分析时间问题分析时间n规格说明修改时间规格说明修改时间n改正或修改活动时间改正或修改活动时间2022-4-25上海海事大学计算机系上海海事大学计算机系38n局部测试时间局部测试时间n全局测试时间全局测试时间n维护评审时间维护评审时间n整个恢复时间整个恢复时间9.4 软件再造工程软件再造工程 n1. 研究原因:研究原因:n维护成本大的是因为:维护成本大的是因为:n1)系统发布后,由于用户和管理工作的变化,导致整)系统发布后,由于用户和管理工作的变化,导致整个系统都需要重新设计个系统都需要重新设计n2)系统不断老化,没有在开发中采用隐藏信息)系统不断老化,没有在开发中采用隐藏信息n3)持续的维护过程可能破坏原有系统的结构)持续的维护过程可能破坏原有系统的结构 2022-4-25上海海事大学计算机系上海海事大学计算机系39n2. 软件再造工程软件再造工程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年4月《粉尘涉爆重大事故隐患解读》应急部
- 引领消费潮流的新品场景与热点打造方案
- 东营2024年山东东营河口区引进急需紧缺卫生专业技术人才4人笔试历年参考题库附带答案详解
- 消防安全课件素材
- 上海2024年上海市儿童临时看护中心招聘1人笔试历年参考题库附带答案详解
- 小学数学人教版五年级下册因数和倍数教学设计及反思
- Review 1(Period 1)(教学设计)-2024-2025学年陕旅版(三起)(2024)英语三年级上册
- 《植物的种子》(教学设计)皖教版三年级上册综合实践活动
- 推动高中教育改革新举措落地实施
- 数字化转型驱动下的企业人力资源管理新趋势
- 大车司机劳务协议书
- 中医把脉入门培训课件
- 虾苗购销合同模板
- 信号基础信号—联锁系统
- 2020最新八年级下册《道德与法治》知识点总结(最全版)
- 数学教师实习日记16篇
- 财产保全申请登记表
- 家装施工验收手册(共13页)
- 《责任胜于能力》PPT课件.ppt
- 先后天八卦与风水罗盘131712904
- (完整版)氨法炼锌项目建议书
评论
0/150
提交评论