刊名: 科技传播
PUBLIC COMMUNICATION OF SCIENCE TECHNOLOGY
主管单位:中国科学技术协会
主办单位:中国科技新闻学会
周 期:半月刊
出 版 地:北京
语 种:中文
开 本:大16开
国内刊号:CN11-5820/N
国际刊号:ISSN 1674-6708
创 刊 年:2009
科技传播www.kjcbzz.com
万方数据--数字化期刊群全文收录
中国期刊全文数据库收录期刊
中国核心期刊(遴选)数据库收录期刊
龙源国际期刊数据库收录期刊
摘要:随着当代经济社会的发展,计算机在各行各业都发挥了重要的作用。同时计算机软件的维护也成为制约软件发展的关键问题,计算机软件维护涉及较多问题,因此在维护过程中存在较多需要我们注意的地方。计算机软件的维护关系着软件公司的开发成本,更关乎着用户的使用,因此研究计算机软件的维护具有重要的意义。本文对计算机软件维护概念、特点及在维护过程中需要注意的问题进行分析与探讨,旨在对于计算机软件的维护起到一定的指导作用。
关键词:计算机;软件;维护;应用
1计算机软件维护的概念与类型
计算机软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。
计算机软件维护的类型有四种:改正性维护、适应性维护、扩充与完善性维护、预防性维护等四种。改正性维护是指在软件使用后,开发时存在的问题暴漏出来,为了识别和纠正软件的这些错误、改正软件性能上的缺陷、排除实施中的误使用,所进行的诊断和改正错误的过程。适应性维护是指在使用过程中,为适应软件外部环境及数据环境的变化,而去修改软件的过程。完善性维护是指为满足用户对软件提出的新功能与性能要求,而对软件进行修改或再开发,以增强软件性能、满足客户要求的维护活动过程。预防性维护是指对需要维护的软件活软件的一部分重新进行设计、编制及测试的过程。
2计算机软件维护的特点
在软件的维护过程中,需要花费大量的工作量,从而直接影响了软件维护的成本。应当考虑有哪些因素影响软件维护的工作量,相应应该采取什么维护策略,才能有效地维护软件并控制维护的成本。
2.1系统大小:
系统越大,理解掌握起来越困难。系统越大,所执行功能越复杂。因而需要更多的维护工作量。
2.2程序设计语言:
使用强功能的程序设计语言可以控制程序的规模。语言的功能越强,生成程序的模块化和结构化程度越高,所需的指令数就越少,程序的可读性越好。
2.3系统年龄:
老系统随着不断的修改,结构越来越乱; 维护人员经常更换,程序又变得越来越难于理解。许多老系统在当初并未按照软件工程的要求进行开发,因而没有文档,或文档太少。在长期的维护过程中文档在许多地方与程序实现变得不一致,在维护时就会遇到很大困难。
2.4数据库技术的应用:
使用数据库,可以简单而有效地管理和存储用户程序中的数据,还可以减少生成用户报表应用软件的维护工作量。先进的软件开发技术:在软件开发时,若使用能使软件结构比较稳定的分析与设计技术,及程序设计技术,如面向对象技术、复用技术等,可减少大量的工作量。
3计算机软件维护的过程
计算机软件的维护过程本质上是修改和压缩了的软件定义和开发过程,而且事实上远在提出一项维护要求之前,与软件维护有关的工作已经开始了。主要分为以下几个部分:
3.1维护机构
除了较大的软件开发公司外,通常在软件维护工作方面,并不保持一个正式的组织机构。虽然不要求建立一个正式的维护机构,但是在开发部门确立一个非正式的维护机构则是非常必要的。每个维护要求都通过维护管理员转交给相应的系统管理员去评价。系统管理员对维护任务做出评价之后,由变化授权人决定应该进行的活动。维护机构可用下图表示:
3.2 维护报告
计算机软件的整个维护过程应出具一份维护报告,报告应该用标准化的格式表达所有软件维护申请,对于维护申请报告或称软件问题报告,由申请维护的用户填写,用户还必须完整地说明产生错误的情况,包括输入数据、错误清单以及其它有关材料。另外,如果申请的是适应性维护或完善性维护,用户必须提出一份修改说明书,列出所有希望的修改。维护申请报告将由维护管理员和系统管理员来研究处理,应相应地做出软件修改报告,指明:维护要求的性质、要求的优先次序、为满足某个维护申请报告所需的工作量、与修改有关的事后数据等。软件修改报告应提交给变化授权人审查批准,经批准后才能开始进一步安排维护工作。
3.3 维护的事件流
在计算机软件维护过程中的事件流可用以下流程图表示:
3.4保存维护记录
计算机软件维护记录包括以下几个部分:①程序标识;②源语句数;③机器指令条数;④使用的程序设计语言;⑤程序安装的日期;⑥自从安装以来程序运行的次数;⑦自从安装以来程序失效的次数; ⑧程序变动的层次和标识; ⑨因程序变动而增加的源语句数;⑩因程序变动而删除的源语句数;⑪每个改动耗费的人时数;⑫程序改动的日期;⑬ 软件工程师的名字;⑭ 维护要求表的标识;⑮ 维护类型;⑯维护开始和完成的日期;⑰累计用于维护的人时数;⑱与完成的维护相联系的纯效益。
3.5评价维护活动
评价维护活动比较困难,因为缺乏可靠的数据。如果维护的档案记录做得比较好,可以得出一些维护“性能”方面的定量的度量值。分为以下种类:①每次程序运行平均失效的次数;②用于每一类维护活动的总人时数;③平均每个程序、每种语言、每种维护类型所做的程序变动数;④维护过程中增加或删除一个源语句平均花费的人时数;⑤维护每种语言平均花费的人时数;⑥一张维护要求表的平均周转时间;⑦不同维护类型所占的百分比。根据对维护工作定量度量的结果,可以做出关于开发技术、语言选择、维护工作量规划、资源分配及其他许多方面的决定,而且可以利用这样的数据去分析评价维护任务。
4计算机应用软件的可维护性
为了使得软件能够易于维护,必须考虑使软件具有可维护性。软件可维护性是指纠正软件系统出现的错误和缺陷,以及为满足新的要求进行修改、扩充或压缩的难易程度。
4.1 可理解性
软件可理解性表现为外来读者理解软件的结构、功能、接口和内部处理过程的难易程度。模块化、详细的设计文档、结构化设计、程序内部的文档和良好的高级程序设计语言等等,都对提高软件的可理解性有重要贡献。
4.2可测试性
诊断和测试的容易程度取决于软件容易理解的程度。良好的文档对诊断和测试是至关重要的,此外,软件结构、可用的测试工具和调试工具,以及以前设计的测试过程也都是非常重要的。维护人员应该能够得到在开发阶段用过的测试方案,以便进行回归测试。在设计阶段应该尽力把软件设计成容易测试和容易诊断的。对于程序模块来说,可以用程序复杂度来度量它的可测试性。模块的环形复杂度越大,可执行的路径就越多,因此,全面测试它的难度就越高。
4.3可修改性
软件容易修改的程度和设计原理和启发规则直接有关。耦合、内聚、信息隐藏、局部化、控制域与作用域的关系等等,都影响软件的可修改性。
4.4可移植性
软件可移植性指的是,把程序从一种计算环境转移到另一种计算环境的难易程度。把与硬件、操作系统以及其他外部设备有关的程序代码集中放到特定的程序模块中,可以把因环境变化而必须修改的程序局限在少数程序模块中,从而降低修改的难度。
4.5 可重用性
所谓重用是指同一事物不做修改或稍加改动就在不同环境中多次重复使用。大量使用可重用的软件构件来开发软件,可以从下述两个方面提高软件的可维护性:(1) 通常,可重用的软件构件在开发时经过很严格的测试,可靠性比较高,且在每次重用过程中都会发现并清除一些错误,随着时间推移,这样的构件将变成实质上无错误的。因此,软件中使用的可重用构件越多,软件的可靠性越高,改正性维护需求越少。(2)很容易修改可重用的软件构件使之再次应用在新环境中,因此,软件中使用的可重用构件越多,适应性和完善性维护也就越容易。
参考文献:
[1]尚安.浅析计算机软件维护.计算机光盘软件与应用.2012,11:11-13
[2]兰祯伟.论如何维护计算机应用软件.科技创新与应用.2013,6:27-28
[3]史立峰.浅论计算机软件的维护工作.信息技术.2014,4:15-16
Copyright@2010 版权所有 科技传播杂志 组稿咨询
鲁ICP备16050337号-1
邮箱:kjcbzz@163.com
邮箱:1650252297@qq.com
【免责声明】:本网站所提供的信息资源如有侵权、违规,请及时告知