计算机软件系统运行与维护研究
2009-08-31李峰
李 峰
摘要:许多计算机软件的维护十分困难,为了使软件能维护方便,必须考虑软件的可维护性。文章对计算机软件系统的运行和维护进行了探讨。
关键词:计算机;软件系统运行;系统维护
中图分类号:TP317文献标识码:A
文章编号:1674-1145(2009)21-0165-02
一、引起维护活动的原因
1.改正性维护:软件交付使用后,它将不得不隐藏错误的运行阶段,在使用某些条件将被曝光。为了识别并改正错误修正软件,软件缺陷的性能,消除误差应实现的诊断,并改正错误,这个过程叫做改正性维护。
2.适应性维护:随着计算机的飞速发展和外部环境(新硬件、软件配置)或数据环境(数据库、数据格式,数据输入/输出数据的存储介质,可能会改变,以适应这种变化,以及软件来修改软件过程称为适应性维护。
3.完善性维护:在软件的使用过程中,用户提出的新软件的功能和性能要求。为了满足这些要求,需要修改或开发的软件由于需求的转变,适应性的维护和改进维护工作量逐渐增加。实践表明,在某些维修保养、比例、完美的扩张,提高用户要求从软件功能和性能的维修活动大约50%的维修工作。
4.预防性维护:除了以上三类维护之外,还有一类维护活动,叫做预防性维护。这是为了提高系统的可靠性和可维护性的软件,软件进行了进一步的改进和奠定良好的基础。通常,维护被定义为:昨天的方法来满足需求的系统明天。即,采用先进的软件工程的方法来维护软件或软件的一个部分的设计、制备方法和测试。
二、影响维护工作量的因素
1.系统大小:系统越大,理解掌握起来越困难,所执行功能越复杂。因而需要更多的维护工作量。
2.程序设计语言:语言的功能,为生成过程的指令数较少。语言的功能,弱者为相同的功能、语句。有许多软件在编程语言书写,逻辑的和复杂的障碍,没有模块化和结构,直接影响了程序的可读性。
3.系统年龄:旧的系统,结构不断修改,由于维护人员经常会改变程序又变得越来越难以理解。由于长期的维护工艺文件在许多地方和程序实现成为不一致的,所以当将在维护是很困难的。
4.数据库技术的应用:使用数据库,可以简单而有效地管理和存储用户程序中的数据,还可以减少生成用户报表应用软件的维护工作量。
5.先进的软件开发技术:在软件开发时,若使用能使软件结构比较稳定的分析与设计技术及程序设计技术,如面向对象技术、复用技术等,可减少大量的工作量。
三、软件维护的策略
1.改正性维护。生产100%可靠的软件成本太高,不值得。但是通过使用新技术可以大大提高了系统的可靠性和减少需要正确的保养。这些包括数据库管理系统、软件开发环境、程式会自动生成系统等,并对上述四种方法可以产生更可靠的代码。此外,使用这个应用程序包,可以培养全面发展由用户自己的软件系统的可靠性更高,应用结构技术的软件开发是很容易理解和测试,通过防错性程序的设计方案,通过介绍变态的自检能力,通过提供定期检讨追踪检查,维修保养问题才能确定质量缺陷。
2.适应性维护。这种维护是不可避免的,但可以控制的。在配置管理、硬件、操作系统和其他相关的环境因素变化方面考虑,可以减少维护工作量。有些适应性与硬件、操作系统及周边设备相关的特定程序可以修改程序模块所造成的环境变化和程序必须在某些地方程序模块。利用内部及外部的文件列表,常规治疗,可以修改程序为维护方便。
3.完善性维护。利用前两类维护中列举的方法,也可以减少这一类维护。特别是数据库管理系统、程序生成器、应用软件包,可减少系统或程序员的维护工作量。
四、软件维护中的程序修改
完整、准确、快速的理解是确定的计划的成功或失败的维护和优良的品质,因此,该软件的理解和文件的质量的关键是非常重要的。
1.数据跟踪:建立各层次的程序级上的接口图,展示各模块或过程的调用方式和接口参数;利用数据流分析方法,对过程内部的一些变量进行跟踪;维护人员通过这种数据流跟踪,可获得有关数据在过程间如何传递,在过程内如何处理等信息。
2.控制跟踪:控制流跟踪同样可在结构图基础上或源程序基础上进行。可采用符号执行或实际动态跟踪的方法,了解数据如何从一个输入源到达输出点的。
五、软件维护中对程序的修改
在这个过程中,必须制定一个计划、有序、细致的有效的实施。程序的修改员工和资源配置,内容主要包括:规格,如修改的数据和信息处理变更时,控制系统被修改,这个语言之间的接口的修改,等等。维护的程序,如一个新版本所需要的资源,以及软件测试数据系统、计算机时间;等等。研究人员,如程序员,用户对有关人员、技术支持人员,厂家联系,数据LuRuYuan等等。鉴于上述每一个向他解释的必要性,开始做,是否接受,日期等。通常采用自顶向下的方法在理解的基础上,对研究项目,项目模块和数据库模块的接口的角度出发,提出从全球的计划。
1.静态确认:修改软件,伴随着引起新的错误的危险。为了能够做出正确的判断,验证修改后的程序至少需要两个人参加。要检查修改是否涉及规格说明,修改结果是否符合规格说明,有没有歪曲规格说明,程序的修改是否足以修正软件中的问题,源程序代码有无逻辑错误,修改时有无修补失误,修改部分对其他部分有无不良影响(副作用)?
2.计算机确认:在充分进行了以上确认的基础上,要用计算机对修改程序进行确认测试。确认测试顺序:先对修改部分进行测试,然后隔离修改部分,测试程序的未修改部分,最后再把它们集成起来进行测试,这种测试称为回归测试。准备标准的测试用例;充分利用软件工具帮助重新验证过程;在重新确认过程中,需邀请用户参加。
3.维护后的验收:交付新软件之前,维护主管部门要检验:全部文档是否完备并已更新;所有测试用例和测试结果已经正确记载;记录软件配置所有副本的工作已经完成;维护工序和责任已确定。
六、结语
许多软件维护是非常困难的,因为这些软件文档和源程序修改和难以理解。原则上,软件开发工作,严格按照软件工程的要求,遵循标准和特殊的软件。但由于种种原因,通常并不能真正做到。因此,软件维护工作量增大,成本上升,修正错误的利率上升。此外,许多维护要求,并不是因为他的程序错误,但为了适应环境的变化,或者需要改变。由于维护、维修工作很困难,他愿意引进一个新问题的软件或引进新的错误。因此,为了使软件能维护方便,必须考虑到软件的可维护性。
参考文献
[1]李佐斌.利用OLE自动化和VBA的Delphi动态报表的研究与实现[D].武汉理工大学,2006.
[2]杨建宏.基于XML的异构数据集成及报表的研究与应用[D].昆明理工大学,2007.
[3]陆红宇,郑健兵.用VB5.0开发报表程序[A].中国水力发电工程学会大坝安全监测专业委员会年会暨学术交流会论文集[C].2000.
作者简介:李峰,男,供职于河南旅游集团有限公司,研究方向:计算机软件系统运行与维护。