学习啦>论文大全>学科论文>计算机论文>

浅析计算机软件维护的相关论文

时间: 坚烘964 分享

  计算机软件维护是指已完成开发工作、交付使用以后,对软件产品进行的一些软件工程活动。下面是学习啦小编给大家推荐的浅析计算机软件维护的相关论文,希望大家喜欢!

  浅析计算机软件维护的相关论文篇一

  《浅析计算机软件维护》

  摘要:随着社会的发展,计算机在各行各业都取得了巨大的应用,同时,计算机软件的维护也成了软件发展的一大问题,由于软件维护涉及的问题较多,所以在维护的过程中有较多需要我们注意的地方。而对于计算机软件的维护不仅关乎用户的使用,更与软件公司的开发成本息息相关,因此对于计算机软件维护的研究具有重要的意义。笔者从事计算机软件工作,对于其维护有着一定的经验及感触,本文结合笔者自身经验,对于计算机软件维护概念、它有怎样的特点、我们在维护过程中需要注意哪些问题等等进行了分析与探讨,旨在对于计算机软件的维护起到一定的指导作用。

  关键词:计算机软件;维护

  中图分类号:TP393 文献标识码:A 文章编号:1007-9599 (2012) 11-0000-02

  一、引言

  计算机软件的应用已经融入到我们工作、生活的方方面面。在软件取得巨大成功的同时,我们的软件开发公司也受到了软件维护的困扰,如何做好软件的维护,提高自身竞争力关系重大。

  二、软件维护的定义及类型

  (1)计算机软件维护的定义是指在软件运行的时候或者维护阶段针对软件做出的修改,最终提升用户使用体验的工作。

  (2)普遍来说,计算机软件维护的类型可分为:改正性维护、适应性维护、完善性维护以及预防性维护这四种。

  其中,改正性维护是以对开发周期中没有能发现的或者遗留错误进行改正为目的,这种维护在总维护中占到大概20%。

  适应性维护是指针对软件的运行环境的对软件进行改变的维护;适应性维护可以适应于由于硬件或者支持软件改变进而带来的变化、把软件移植到新机器上等。

  完善性维护是以提高软件的性能及软件的可维护性为目的对进行的软件修改过程,这种维护在总维护中占主体地位,大概占到了50%。

  预防性维护是指以提高软件的可维护性以及可靠性而对软件而进行的修改。这种维护较少,大概只占到4%左右。

  三、软件维护的特点

  (一)结构化维护与非结构化维护差别巨大

  1.非结构化维护。

  如果软件配置的惟一成分是程序代码,那么维护活动从艰苦地评价程序代码开始,而且常常由于程序内部文档不足而使评价更困难,这就导致了容易对软件的结构、系统的结构以及性能涉及约束等产生一定的误解。

  此外,对程序代码所做的改动的后果也是难于估量的:由于测试方面文档的缺失,因而我们就不能够进行回归测试,即为了保证所做的修改没有在以前可以正常使用的软件功能中引入错误而重复过去做过的测试。非结构化维护需要付出很大代价(浪费精力并且遭受挫折的打击),这种维护方式是没有使用良好定义的方法开发出来的软件的必然结果。

  2.结构化维护。

  相对于非结构化维护,结构化维护是指使用软件工程思想指导软件每一个阶段文档的开发。这种维护使得理解和掌握软件的功能、系统的结构以及系统接等更加容易。能够帮助减少维护过程的精力、降低花销、提升维护效率。

  (二)维护的代价

  从已经过去的时间上来看,花费在软件维护上的经费在逐渐增加。花费在维护已有软件上的费用在1970年用只占到软件的总预算35%到40%,到1980年的时候就已经上升到了40%到60%,而到1990年的时候更加明显的上升到了70%至90%。

  维护费用只不过是软件维护的最明显的代价,在未来,人们会更加关心那些其他的、显现不明显的一些代价。由于可用的资源必须供维护任务使用的特点,这就容易带来耽误、严重时丧失开发良机的问题,这种代价就是一种是软件维护的无形代价。

  此外,还有其他无形的代价还有:对于看来合理的有关改错以及修改要求未能够及时完成时会导致用户满意度下降;因为维护时进行的改动而导致的在软件中出现潜伏错误,进而影响了软件质量;在需要将软件工程师调去进行维护工作的时候,这会导致在开发的过程中出现一定的混乱。

  软件维护的最后一个代价是生产率的大幅度下降,这种情况在维护旧程序时常常遇到。例如,Gausler在1976年的时候曾报道,美国空军的飞行控制软件的每条指令的开发成本只有75美元,相对而言,而每条指令的维护成本甚至达到了4000多美元,这也就是说软件维护使得在生产效率中出现50倍的下降。

  在维护工作中,劳动可以分为生产性活动和非生产性活动两个方面。

  生产性劳动包括:对于软件的分析评价;软件修改的设计以及编写软件的程序代码等。

  非生产型劳动包括:对于程序代码功能的理解、对于数据结构的解释、接口特点和性能限度等

  以下这一模型对于我们理解维护的工作量有一定的帮助:M=P+Kexp(c—d),可以在一定程度上指导我们的工作。M是指总的工作量,p是维护时生产性的工作量,k定义为经验指数,c是指工作复杂的程度,d是指工作者对软件熟悉的程度。

  四、影响维护工作量的因素

  在软件的维护过程中,影响维护工作量的因素可以分为以下几个方面:

  (1)首先软件维护的过程这就带来了理解别人写的程序时会出现很多困难,这种困难随着软件配置成分的减少会出现较大的增幅。

  (2)维护,这就说明了软件往往会出现文档不全的现象,这也会增加维护难度。

  (3)在软件开发设计的时候对于维护工作没有进行过多的考虑。

  (4)软件公司的人员流动性非常强,很容易开发人员在出现开发完就不见人的情况。

  (5)很难对软件的建立过程进行追踪。

  五、软件维护的副作用

  修改软件是危险的。在复杂的逻辑过程中,每一次修改都可能使潜在的错误增加。设计文档和细心的回归测试有助于消除错误,但仍然不可避免地出现维护的副作用。这种副作用主要体现在以下几个方面:

  修改代码的副作用:代码不能随意的修改,最为简单的修改都有可能导致非常严重的后果。虽然不是所有的副作用都有严重的后果,但修改容易招致错误,而错误经常造成各种问题。在这里我们需要再一次强调Murphy的法则:如果一个源语句进行一个修改,它将可能导致新的错误。

2275962