浅析计算机软件可维护性方法
论文关键词:计算机软件 可维护性 方法研究
论文摘要:伴随计算机技术快速发展,不断产生各种应用软件,并面向各应用领域满足需求,对软件进行维护和保护已成为软件行业所面临的一个现实问题。伴随软件工程的不断完善,使软件开发越来越复杂,并具有一整套科学方法,进而提升了软件系统的可靠性、可理解性和可维护性,提升了软件生产率,降低了开发成本。该文对计算机软件可维护性方法进行了探索和研究,并作出应有的贡献,希望为今后软件可维护性的发展做出一些应有的贡献。
计算机软件是用户和硬件之间的接口界面。计算机用户可以通过软件和计算机实行沟通,软件是计算机系统设计的重要根据。为能方便用户,让计算机体系极具较高的整体效用,在计算机系统设计时,要对硬件和软件相结合的全局进行考虑,并满足用户的需求。软件保护技术,即怎样防止破解合法软件,软件保护产品所涉及内容极为宽泛,属于综合技术范畴之内。在软件生命周期中,每个阶段均采取了科学和优秀的管理方法和技术,并在每个阶段结束前,从技术和管理方面实行严格审查,只有合格了才能进行下一阶段的工作,这使得软件开发工程项目全过程通过有条有序的方式进行,以确保软件的质量,尤其是提升了软件的可维护性。
1计算机软件维护性概述
在软件生命周期,涵盖了两个重要阶段,包括开发期和运营期,运行期是系统有效发展的阶段,在系统开发时,出于花了很多大量人力和物力资源,所以,大家总是希望能看到,可以尽可能地延长系统的运行周期,使软件发挥更大的性能,与其他相对比,软件成本也较低。然而,这却尚未出现以确认该软件不存在错误的技术。事实上,该软件运行时,它是不可能不修改软件的,开发是一项大投资,可以提高生产效率,降低成本,并保证软件的品质,人们总是希望使用现有的软件,对其扩张或移植。所以,在操作过程中,软件人员的任务是继续进行修改软件,这项工作就是所说的系统维护。
软件维护一般包括三大类,一是纠正性维护(corrective maintenance)。这类工作主要是纠正软件存在的错误;二是适应性维护(adaptive maintenance)。这类工作主要是为能适应变化的外部环境,对软件应用程序做出修改;三是完善性维护(perfective mainte nance)。这类工作是为能提升系统性能或扩大其功能,也对软件进行更改。这三个方面的维护工作,第二和第三层面维护方面所占的份额最大,占80%左右的总维护工作。可见,该软件在运行过程中也是开发商的维修过程,维护软件的价值也是不用多说的。根据调查表明,软件维护成本已占到整个软件生命周期成本的70%以上,软件的可维护性居于首位。但软件维护的难度越来越大,并已成为目前所面临的最大问题。
2计算机软件可维护性一般方法
2.1提升软件工具模块化和质量技术
在软件开发过程,有效方法之一是提高软件质量和降低成本,其有效技术也是提高可维护性。它的优点是,如果需要改变一个功能模块,只需要改变这个模块,不会影响到其他模块;如果程序需要添加一些功能,只需完成这些功能,增加一个新的模块或模块层;程序测试和重复测量更容易,序列错误很容易发现和改正,以提高程序的运行效率。采用结构化程序设计技术,以提高现有系统的可维护性。这种办法需要掌握更换模块的外部特征,不需要把握其内部运作的状态。它可以帮助其减少新的错误,并有机会提供一个结构化的模块,并逐步取代非结构化的模块,运用自动重建结构和重新格式化的工具。
2.2创建精密的软件品质目标和优先级
程序的维护性应该是可以理解的、可靠的、可修改和测试的、可移植的、可以使用和效率高的。为了实现这些目标,要求付出的代价很大,也未必是可行的。一些质量特性存在互补性,如可理解性和可测试性、可理解性和可修改性等。然而,其他一些质量特性互相矛盾,如效率和可移植性、效率和可变性。因此,各品质特性的维护性要求可以得到满足,但它们相对重要性应遵循程序使用作用和计算环境变化而变化。
2.3选有可维护的程序设计语言
根据程序可维护性,选择程序设计语言,其影响是极大的。低层次的语言就是机器语言和汇编语言,这非常难以理解和掌握,也更难以对其进行维护。高级语言更容易理解,具有更好的可维护性,而低层次语言相对要差,但作为高层次语言,难易程度不一样也是可以理解的。一些第四代语言是过程化语言,而有些是非程序语言。不管是什么语言,程序编制出来都很容易理解和修改,但存在指令数量可能会少一个数量级,而语言编制数量级要多一个,其开发速度会快多倍。
3加强计算机软件可维护性方法发展与研究
在软件维护过程,经常遇到一些问题,如频繁的员工流失率,已离开的原有开发商;缺乏文档资料,很难了解其他人开发体系;不符合程序或文档的文件不适当,并很难理解,软件结构不合理,难以修改或修改后容易出现错误。该软件易于开发,但其难以维持,通用性较差,这是以前设计软件比较常见的通病问题,也是在同一个系统或重复开发的原由。重复开发会加强其系统功能,但单位人力、物力和财力资源会被浪费,而且还影响系统的正常使用。在软件开发过程,应充分和适当地思索,其系统通用性和自我维护能力,以避免系统开发重复是十分必要的,而且软件开发过程是需要重点留意的地方。
如果要设计多功能易于维护的软件,就必须有以灵活、通用和易维护为主旨的设计方法和思路。体系共性和个性方法分析,实现了对系统自维护功能的具体保证。在实际应用进程中使用此系统,并且得到用户的好评。在该系统自维护功能概念基础上,调整其参数,其实可以做一个小的开发工具,进而可以开发类似的系统管理。这至少表明,引入该系统自维护功能定义,为系统使用和维护管理带来了极大方便。
领域计算机管理在企业中的应用范围更为广泛,程序更加深入。计算机管理应用程序可大致分为两个主要方面,即工业控制和信息化管理。信息化管理水平,即使市场上有很多的软件支持,但考虑到企业的实际情况,要能更好地适应自己的管理模式,并更有效地管理自己的信息,一些核心应用系统主要由企业自主开发达成。在大多数的软件管理上,报表类软件为大部分,它们处理的报表主要是计算总的检查验证等。
执行软件设计上,自我维护功能定义的引入,使软件更具生命力。系统自维护功能给系统设计带来了一定难度,需要采取一些额外系统资源占用,但随着计算机技术的发展,到今天为止,它的资源不被认为是一个重要因素,考虑到对系统维护性影响,达到自我维护功能是值得的。对于其他软件系统的开发,如在开发中能够充分考虑系统的共性和个性,添加到系统自我维护功能的观念,体现技术应用,且实现更好的发展。
4结束语
总之,当前计算机技术在整个国民经济当中具有相当广泛的领域,在人们的日常生活中,计算机技术可以说是无处不在,以软件技术作为其内在灵魂的计算机信息系统,正在对系统高度集成化、结构广泛分布化、信息多元化和功能智能化等一系列新型发展方向越来越重视,并逐步在实践中得以实现。在软件开发各个阶段,软件的可维护性是在这一阶段形成的,因此,必须在整个软件开发的各个方面上,以提高软件的可维护性进行贯穿。学习和掌握软件生命周期的各个阶段,对软件的可维护性会产生一定影响,对软件开发和一般软件维护人员的实际工作具有极大裨益。
参考文献:
[1]丁剑洁.基于度量的软件维护过程管理的研究[d].西北大学,2006.
[2]于士文.敏捷软件开发方法在软件维护中的应用研宛[d].湖南大学,2006.
[3]陈小辉,邓杰英,文佳.浅谈软件的可维护性设计[j].华南金融电脑,2009(3).