(软件工程)第7章维护(第一堂课软件维护的常识).ppt

(软件工程)第7章维护(第一堂课软件维护的常识).ppt

第7章 维护 软件工程 编程大师曾说:“哪怕程序只有三行长,总有一天你也不得不对它维护。” 很多软件产品不是一次性的买卖,软件维护是必须的 什么是软件维护 是指软件系统交付使用以后,为了改正错误或满足新的需要而修改软件的过程 国标GB/T 11457-95给出如下定义 因为软件测试不可能暴露出一个大型软件系统中所有潜藏的错误,在任何大型程序的使用期间,用户必然会发现程序错误,并且把他们遇到的问题报告给维护人员。 把诊断和改正错误的过程称为改正性维护。 计算机科学技术领域的各个方面都在迅速进步,大约每过36个月就有新一代的硬件宣告出现,经常推出新操作系统或旧系统的修改版本,时常增加或修改外部设备和其他系统部件;另一方面,应用软件的使用寿命却很容易超过10年,远远长于最初开发这个软件时的运行环境的寿命。 为了和变化了的环境适当地配合而进行的修改软件的活动,叫做适应性维护。 当一个软件系统顺利地运行时,常常出现第三项维护活动:在使用软件的过程中用户往往提出增加新功能或修改已有功能的建议,还可能提出一般性的改进意见。为了满足这类要求,需要进行完善性维护。 满足使用过程中用户提出增加新功能或修改已有功能的活动,叫做完善性维护。 当为了改进未来的可维护性或可靠性,或为了给未来的改进奠定更好的基础而修改软件时,出现了第四项维护活动。 为了提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础而修改软件的活动,叫做预防性维护。 在软件交付使用的初期,改正性维护的工作量较大。 随着错误发现率不断降低,软件便进入了正常使用期。 在长期的软件使用过程中,由于计算机新技术的出现和用户新需求的提出,适应性维护和完善性维护的工作量逐步增加。在这种维护过程中,又会引入新的错误,从而加重了维护的工作量。 结构化维护与非结构化维护差别巨大 维护的代价高昂 维护的问题很多 软件的开发过程对软件的维护产生较大的影响。 如果采用软件工程的方法进行软件开发,保证每个阶段都有完整且详细的文档,这样维护会相对容易,被称为结构化的维护。 反之,如果不采用软件工程方法开发软件,软件只有程序而欠缺文档,则维护工作变得十分困难,被成为非结构化的维护。 在非结构化维护过程中,开发人员只能通过阅读、理解和分析源程序来了解系统功能、软件结构、数据结构、系统接口和设计约束等,这样做是十分困难的,也容易产生误解。要弄清楚整个系统,势必要花费大量的人力和物力,对源程序修改产生的后果难以估计。在没有文档的情况下,也不可能进行回归测试,很难保证程序的正确性。 在结构化维护的过程中,开发人员从分析需求规格说明开始,明白软件功能和性能上的改变,对设计说明文档进行修改和复查,再根据设计修改进行程序变动,并用测试文档中的测试用例进行回归测试,最后将修改后的软件再次交付使用。这种维护有利于减少工作量和降低成本,大大提高软件的维护效率。 * 在软件产品被开发出来并交付用户使用之后,就进入了软件的运行维护阶段。这个阶段是软件生命周期的最后一个阶段,其基本任务是保证软件在一个相当长的时期能够正常运行 很多软件产品不是一次性的买卖。比如在电信、金融等领域,有些软件系统要用十几年,对软件进行维护是必不可少的。 软件公司的经理们没有哪一个喜欢被维护的费用吓一跳,但软件维护的代价通常是高昂的。7. 2 节将说明影响维护代价的一些主要技术因素与非技术因素。 如果希望提高已有软件的质量并且提高商业竞争力,却又无法靠维护来实现,只好对已有软件进行全部或者部分的改造,这种活动叫再生工程(Reengineerin g)。7. 3 节将解释什么 是再生工程,并论述再生工程的三种类型:重构(Rest ru c tur e)、逆向工程(Reverse Engine ering)和前向工程(Forward Engineerin g)。 * * * * * * 纠错性维护:为了改正软件系统中的错误,使软件能够满足预期的正常运行状态的要求而进行的维护 * 适应性维护:为了使软件适应内部或外部环境变化,而去修改软件的过程 * 改善性维护:满足使用过程中用户提出增加新功能或修改已有功能的建议维护 * 除了上述三类维护之外,还有一类维护活动,称为预防性维护。通常,人们将预防性维护定义为:把今天的方法学用于昨天的系统以满足明天的需要。也就是说,采用先进的软件工程方法对需要维护的软件或软件中的某一部分重新进行设计、编制和测试,提高软件的可维护性和可靠性等,为以后进一步改进软件打下良好基础。 * 在整个软件维护阶段所花费的全部工作量中,预防性维护只占很小的比例,而完善性维护占了几乎一半的工作量,这说明即大部分维护工作是改变和加强软件,而不是纠错。同时,软件维护技术不像开发技术那样成熟和规范,自然消耗的工作量就比

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档