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