计算机软件的可维护性

计算机软件的可维护性

伴随计算机技术快速发展,不断产生各种应用软件,并面向各应用领域满足需求,对软件进行维护和保护已成为软件行业所面临的一个现实问题。伴随软件工程的不断完善,使软件开发越来越复杂,并具有一整套科学方法,进而提升了软件系统的可靠性、可理解性和可维护性,提升了软件生产率,降低了开发成本。该文对计算机软件可维护性方法进行了探索和研究,并作出应有的贡献,希望为今后软件可维护性的发展做出一些应有的贡献。

计算机软件是用户和硬件之间的接口界面。计算机用户可以通过软件和计算机实行沟通,软件是计算机系统设计的重要根据。为能方便用户,让计算机体系极具较高的整体效用,在计算机系统设计时,要对硬件和软件相结合的全局进行考虑,并满足用户的需求。软件保护技术,即怎样防止破解合法软件,软件保护产品所涉及内容极为宽泛,属于综合技术范畴之内。在软件生命周期中,每个阶段均采取了科学和优秀的管理方法和技术,并在每个阶段结束前,从技术和管理方面实行严格审查,只有合格了才能进行下一阶段的工作,这使得软件开发工程项目全过程通过有条有序的方式进行,以确保软件的质量,尤其是提升了软件的可维护性。

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)

计算机软件的可维护性

伴随计算机技术快速发展,不断产生各种应用软件,并面向各应用领域满足需求,对软件进行维护和保护已成为软件行业所面临的一个现实问题。伴随软件工程的不断完善,使软件开发越来越复杂,并具有一整套科学方法,进而提升了软件系统的可靠性、可理解性和可维护性,提升了软件生产率,降低了开发成本。该文对计算机软件可维护性方法进行了探索和研究,并作出应有的贡献,希望为今后软件可维护性的发展做出一些应有的贡献。

计算机软件是用户和硬件之间的接口界面。计算机用户可以通过软件和计算机实行沟通,软件是计算机系统设计的重要根据。为能方便用户,让计算机体系极具较高的整体效用,在计算机系统设计时,要对硬件和软件相结合的全局进行考虑,并满足用户的需求。软件保护技术,即怎样防止破解合法软件,软件保护产品所涉及内容极为宽泛,属于综合技术范畴之内。在软件生命周期中,每个阶段均采取了科学和优秀的管理方法和技术,并在每个阶段结束前,从技术和管理方面实行严格审查,只有合格了才能进行下一阶段的工作,这使得软件开发工程项目全过程通过有条有序的方式进行,以确保软件的质量,尤其是提升了软件的可维护性。

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)


相关内容

  • 第一章软件工程的基本概念
  • 第一章 软件工程的基本概念....................................................................................... 1 1.1 计算机发展简史 ................................... ...

  • 软件工程学
  • 目录 第一章 软件工程学 ............................................. 1 第二章可行性研究 .................................................... 5 第三章需求分析 ................. ...

  • [软件工程]教学大纲
  • 软件工程 一. 说明 (一) 课程性质 <软件工程>课程是计算机科学与技术专业必修的一门专业课程.为了摆脱软件危机的困扰,一门研究软件开发与维护的普遍原理和技术的工程学科--软件工程学从60年代末期开始迅速发展起来了,现在它已经成为计算机科学技术的一个重要分支,一个异常活跃的研究领域.严 ...

  • 软件工程基础知识点整理免费版
  • 软件工程基础知识点整理 一. 软件工程基本概念: 1. 软件定义:是计算机系统中与硬件相互依存的另一部分,是包括程序.数据以及相关文档的完整集合. (1)程序是软件开发人员根据用户需求开发的.用程序设计语言描述的.适合计算机执行的指令(语句)序列. (2)数据是使程序能够正常操作信息的数据结构. ( ...

  • 软件工程实用教程2版课后答案
  • 第1章软件工程引论 1.什么是软件危机?它和软件工程有什么关系? 答案要点: 由于软件规模的扩大.功能的增强和复杂性的增加,使得在一定时间内仅依靠少数人开发一个软件变得越来越困难.在软件开发中经常会出现时间延迟.预算超支.质量得不到保证.移植性差等问题,甚至有的项目在耗费了大量人力.财力后,由于离目 ...

  • 计算机软件维护与技术支持服务合同
  • 计算机软件维护与技术支持服务合同 合同编号: 甲 方:__________________公司 乙 方:北京用友软件股份有限公司 签约地点: 签约日期:__________年_____月_____日 本维护与支持服务合同(以下简称"本合同")由以下双方于200 年 月___日在中 ...

  • [软件工程学]作业
  • <软件工程学>作业 一.简答题 1.需求分析的任务 答:需求分析的任务主要包括以下几项: 确定目标系统的综合要求,其中包括 (目标系统的功能.性能.运行的环境及扩展性要求): 分析目标系统的数据要求,其中包括(系统平台需要哪些数据?数据间有什么关系?数 据数据及数据结构?对数据的处理逻辑 ...

  • 软件工程导论试题(打印)
  • 软件工程导论试题(老师给的) 一.选择 1.瀑布模型把软件生命周期划分为八个阶段:问题的定义.可行性研究.软件需求分析. 系统总体设计.详细设计.编码.测试和运行.维护.八个阶段又可归纳为三个大的阶段: 计划阶段.开发阶段和 ( ). A.详细计划 B.可行性分析 C.运行阶段 D.测试与排错 2. ...

  • 软件工程资料
  • 一. 1. 2. 3. 4. 5. 6. 7. 8. 9. 选择题 在软件危机中表现出来的软件质量差的问题,其原因是___没有软件质量标准____. 在软件质量因素中,软件在异常条件下仍能运行的能力成为软件的___健壮性__. 在下列测试技术中,___逻辑覆盖___不属于黑盒测试技术. ___封装_ ...