开篇:润墨网以专业的文秘视角,为您筛选了一篇基于计算机软件维护问题分析与研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘要: 本文首先就计算机软件维护概念、特点进行了介绍,然后就其维护过程中需要注意哪些问题等等进行了分析与探讨,望能在对于计算机软件的维护起到一定的指导作用。 由于软件维护涉及的问题较多,所以在维护的过程中有较多需要我们注意的地方。本文是个人的一些见解,可供参考借鉴。
关键词:计算机软件; 维护;
中图分类号:G623.58 文献标识码:A 文章编号:
前言
最近几年,中国软件产业突飞猛进,从事软件行业的相关人员大幅增加。但是如何保证开发出来的软件能稳定的运行,如何维护用户使用的软件是我国从事软件行业人员较为忽略的问题。如何做好软件的维护,提高自身竞争力关系重大。计算机软件的应用已经融入到我们工作、生活的方方面面。虽然计算机软件的维护工作是软件生命周期中最后一个工作,但其无论在代价及工作的时间长度上都不可忽视,
一、软件维护的定义分析
1、计算机软件维护的定义是指在软件运行的时候或者维护阶段针对软件做出的修改,最终提升用户使用体验的工作。
2、普遍来说,计算机软件维护的类型可分为:改正性维护、适应性维护、完善性维护以及预防性维护这四种。其中,改正性维护是以对开发周期中没有能发现的或者遗留错误进行改正为目的,这种维护在总维护中占到大概20 %。适应性维护是指针对软件的运行环境的对软件进行改变的维护:适应性维护可以适应于由于硬件或者支持软件改变进而带来的变化、把软件移植到新机器上等。完善性维护是以提高软件的性能及软件的可维护性为目的对进行的软件修改过程,这种维护在总维护中占主体地位,大概占到了50% 。预防性维护是指以提高软件的可维护性以及可靠性而对软件而进行的修改。这种维护较少,大概只占到4%左右。
二、软件维护的特点分析
一是结构化维护与非结构化维护差别巨大。1.非结构化维护。如果软件配置的惟一成分是程序代码,那么维护活动从艰苦地评价程序代码开始,而且常常由于程序内部文档不足而使评价更困难,这就导致了容易对软件的结构、系统的结构以及性能涉及约束等产生一定的误解。此外,对程序代码所做的改动的后果也是难于估量的:由于测试方面文档的缺失,因而我们就不能够进行回归测试,即为了保证所做的修改没有在以前可以正常使用的软件功能中引入错误而重复过去做过的测试。非结构化维护需要付出很大代价(浪费精力并且遭受挫折的打击),这种维护方式是没有使用良好定义的方法开发出来的软件的必然结果。2.结构化维护。相对于非结构化维护,结构化维护是指使用软件工程思想指导软件每一个阶段文档的开发。这种维护使得理解和掌握软件的功能、系统的结构以及系统接等更加容易。能够帮助减少维护过程的精力、降低花销、提升维护效率。
二是维护的代价。维护费用是软件维护的最明显的代价,在未来,人们会更加关心那些其他的、显现不明显的一些代价。由于可用的资源必须供维护任务使用的特点,这就容易带来耽误、严重时丧失开发良机的问题,这种代价就是一种是软件维护的无形代价。此外,还有其他无形的代价还有:对于看来合理的有关改错以及修改要求未能够及时完成时会导致用户满意度下降:因为维护时进行的改动而导致的在软件中出现潜伏错误,进而影响了软件质量;在需要将软件工程师调去进行维护工作的时候,这会导致在开发的过程中出现一定的混乱。
三、影响维护工作量问题分析
在软件的维护过程中,影响维护工作量的因素可以分为以下几个方面:首先软件维护的过程这就带来了理解别人写的程序时会出现很多困难,这种困难随着软件配置成分的减少会出现较大的增幅。其次是维护,这就说明了软件往往会出现文档不全的现象,这也会增加维护难度。然后是在软件开发设计的时候对于维护工作没有进行过多的考虑。在后是软件公司的人员流动性非常强,很容易开发人员在出现开发完就不见人的情况。最后是很难对软件的建立过程进行追踪。
四、软件维护的副作用分析
修改软件是危险的。在复杂的逻辑过程中,每一次修改都可能使潜在的错误增加。设计文档和细心的回归测试有助于消除错误,但仍然不可避免地出现维护的副作用。这种副作用主要体现在以下几个方面:修改代码的副作用:代码不能随意的修改,最为简单的修改都有可能导致非常严重的后果。虽然不是所有的副作用都有严重的后果,但修改容易招致错误,而错误经常造成各种问题。在这里我们需要再一次强调Murphy的法则:如果一个源语句进行一个修改,它将可能导致新的错误。在软件的开发中,数据结构具有非常重要的作用。在我们进行维护工作的时候,有些时候要对数据结构的个别元素进行修改,在这些修改以后,原有的软件设计极有可能会对这些数据不再适用进而带来了错误。修改数据的副作用经常发生在下述的一些数据修改中:完善的设计文档可以限制数据的副作用。这种文档描述了数据结构,并提供了一种将数据结构、记录、文件和其他结构与软件模块联系起来的交叉对照表。维护工作应该基于整体软件配置的总体考虑,而不是只针对源代码进行修改。假如源代码的修改在设计文档以及用户手的册中没有反映,则会产生文档修改的副作用。
五、软件的可维护性问题分析
1、软件的可维护性定义:软件的可维护性是指软件能够被理解、校正、适应以及增强功能难易的程度。
2、衡量软件质量的几个主要特性:可维护性、可使用性、可靠性。也就是说我们对于软件质量的衡量一般从这几个方面考虑。
3、软件可维护性又可以分为7种质量特性:可使用性、可理解性、可修改性、可靠性、可测试性、可移植性以及效率。
4、提高可维护性的方法:首先,我们在工作中需要建立明确的软件质量上的目标;其次,我们在工作中可以使用比较先进的开发技术以及开发工具;第三,建立明确的质量保证工作选择可维护的程序设计语言;此外,对于程序文档的改进也可以有效地增加软件的可维护性。
六、软件维护的程序分析
我们首先要做的是确认维护的要求。这就需要我们和用户进行反复的协商,对于错误概况以及对业务的影响大小、用户希望做什么样的修改等有一定的了解,然后对这些情况进行存档。在这个过程中由维护组织管理员对维护类型进行确认。针对改正性维护申请,我们应该从评价错误的严重性开始。对于不同的严重程度,我们可以采取不同的措施,这在一定程度上可以保证我们工作的效率。对于适应性维护和完善性维护申请,需要先确定每项申请的优先次序。若某项申请的优先级非常高,就可立即开始维护工作,否则,维护申请和其他的开发工作一样,进行排队,统一安排时间。并不是所有的完善性维护申请都必须承担,因为进行完善性维护等于是做几次开发,工作量很大,所以需要根据商业需要、可利用资源的情况、目前和将来软件的发展方向、以及其他的考虑,决定是否承担。
七、结语
作为软件工程师,主要的任务就是除了做出好的软件以外就是对软件的可维护性进行提高,这样才可以使得维护的代价有效地降低,最终增强企业竞争力,促进企业的发展。所以,在我们的工作中我们要对思考,对于常出现的问题要善于总结,这样才能提升我们编写软件的能力。在此系统的讲述了软件的维护,对于我们软件维护工作的开展具有一定的指导作用。本文是个人的一些观点和看法。
参考文献:
[1]黄登有.VXI总线测试软件平台田〕.电子科技大学,2009
[2]兰京川.VXI总线测试软件平台研究旧].电子科技大学,2011