当前位置:蚂蚁文档网 > 述职报告 > 计算机软件可维护性研究

计算机软件可维护性研究

时间:2022-05-14 19:35:05 浏览次数:

【摘要】所谓软件可维护性是指维护人员对该软件进行维护的难易程度,具体包括理解、改正、改动和改进该软件的难易程度。在本文中笔者从软件维护性概况和方法两个方面进行论述,希望能为读者带来帮助。

【关键词】软件;可维护性;概况;方法;研究

一、软件维护性分析

在软件生命周期,涵盖了两个重要阶段,包括开发期和运营期,运行期是系统有效发展的阶段,在系统开发时,出于花了很多大量人力和物力资源,所以,大家总是希望能看到,可以尽可能地延长系统的运行周期,使软件发挥更大的性能,与其他相对比,软件成本也较低。然而,这却尚未出现以确认该软件不存在错误的技术。事实上,该软件运行时,它是不可能不修改软件的,开发是一项大投资,可以提高生产效率,降低成本,并保证软件的品质,人们总是希望使用现有的软件,对其扩张或移植。所以,在操作过程中,软件人员的任务是继续进行修改软件,这项工作就是所说的系统维护。

二、软件可维护性的方法研究

(一)建立明确的软件质量目标和优先级

一个可维护的程序应是可理解的、可靠的、可测试的、可修改的、可移植的、效率高的和可使用的。但要实现这所有的目标,需要付出很大的代价,而且也不一定行得通。因此,尽管可维护性要求每一种质量特性都要得到满足,但它们的相对重要性应随程序的用途及计算环境的不同而不同。

(二)使用提高软件质量的技术和工具

模块化是软件开发过程中提高软件质量,降低成本的有效方法之一,也是提高可维护性的有效的技术。它的优点是如果需要改变某个模块的功能,则只要改变这个模块,对其他模块影响很小;如果需要增加程序的某些功能,则仅需增加完成这些功能的新的模块或模块层;程序的测试与重复测试比较容易;程序错误易于定位和纠正;容易提高程序效率。使用结构化程序设计技术,提高现有系统的可维护性。采用备用件的方法,当要修改某一个模块时,用一个新的结构良好的模块替换掉整个模块。这种方法要求了解所替换模块的外部(接口)特性,可以不了解其内部工作情况。它有利于减少新的错误,并提供了一个用结构化模块逐步替换掉非结构化模块的机会。采用自动重建结构和重新格式化的工具(结构更新技术)。采用如代码评价程序、重定格式程序、结构化工具等自动软件工具——把非结构化代码转换成良好结构代码。改进现有程序的不完善的文档。改进和补充文档的目的是为了提高程序的可理解性,以提高可维护性。采用结构化小组程序设计的思想和结构文档工具。软件开发过程中。建立主程序员小组,实现严格的组织化结构,强调规范,明确领导以及职能分工,能够改善通信、提高程序生产率;在检查程序质量时,采取有组织分工的结构普查,分工合作,各司其职,能够有效地实施质量检查。同样,在软件维护过程中,维护小组也可以采取与主程序员小组和结构普查类似的方式,以保证程序的质量。

(三)进行明确的质量保证审查

质量保证审查对于获得和维持软件的质量,是一个很有用的技术,还可以用来检测在开发和维护阶段内发生的质量变化。一旦检测出问题来,就可以采取措施来纠正,以控制不断增长的软件维护成本,延长软件系统的有效生命期。为了保证软件的可维护性,有几种类型的软件审查。

1.在检查点进行复审。保证软件质量的最佳方法是在软件开发的最初阶段就把质量要求考虑进去,并在开发过程每一阶段的终点,设置检查点进行检查。检查的目的是要证实已开发的软件是否符合标准,是否满足规定的质量需求。在不同的检查点,检查的重点不完全相同。

2.验收检查。验收检查是一个特殊的检查点的检查,是交付使用前的最后一次检查,是软件投入运行之前保证可维护性的最后机会。它实际上是验收测试的一部分,只不过它是从维护的角度提出验收的条件和标准。

3.周期性地维护审查。软件在运行期间,为了纠正新发现的错误或缺陷,为了适应计算环境的变化,必须进行修改。因此会导致软件质量有变坏的危险,可能产生新的错误,破坏程序概念的完整性。因此,必须像硬件的定期检查一样,每月一次或二月一次,对软件做周期性的维护审查,以跟踪软件质量的变化。

维护审查的结果可以同以前的维护审查的结果、以前的验收检查的结果和检查点检查的结果相比较,任何一种改变都表明在软件质量上或其他类型的问题上可能起了变化。对于改变的原因应当进行分析,例如,如果使用的是复杂性度量标准,则应当随机地选择少量模块,再次测量其复杂性。

(四)选择可维护的程序设计语言

程序设计语言的选择,对程序的可维护性影响很大。低级语言,即机器语言和汇编语言,很难理解,很难掌握,因此很难维护。计算机软件可维护性方法,高级语言比低级语言容易理解,具有更好的可维护性。但同是高级语言,可理解的难易程度也不一样。第四代语言,例如查询语言、图形语言、报表生成器等,有的是过程化的语言,有的是非过程化的语言。不论是哪种语言,编制出的程序都容易理解和修改,而且,其产生的指令条数可能要比用COBOL语言或用PL/1语言编制出的少一个数量级,开发速度快许多倍。有些非过程化的第四代语言,用户不需要指出实现的算法,仅需向编译程序或解释程序提出自己的要求,由编译程序或解释程序自己做出实现用户要求的智能假设。总之,从维护角度来看,选择第四代语言比其他语言更容易维护。

三、总结

软件维护一般包括三大类,一是纠正性维护。这类工作主要是纠正软件存在的错误;二是适应性维护。这类工作主要是为能适应变化的外部环境,对软件应用程序做出修改;三是完善性维护。这类工作是为能提升系统性能或扩大其功能,也对软件进行更改。这三个方面的维护工作,第二和第三层面维护方面所占的份额最大,占80%左右的总维护工作。可见,该软件在运行过程中也是开发商的维修过程,维护软件的价值也是不用多说的。根据调查表明,软件维护成本已占到整个软件生命周期成本的70%以上,软件的可维护性居于首位。但软件维护的难度越来越大,并已成为目前所面临的最大问题。在本文中笔者从软件维护性概况和方法两个方面进行论述,希望能为读者带来帮助。

参考文献:

[1]仝讲道.浅谈计算机软件维护工作[J].企业改革与管理,2015(02)

[2]吴晓阳.计算机软件设计过程中的可维护性探讨[D].电脑知识与技术,2014(36)

[3]马新跃.浅析计算机软件可维护性方法[J].网友世界,2014(03)

推荐访问:可维护性 计算机软件 研究

猜你喜欢