软件可维护性的方法及作用

来源 :大观周刊 | 被引量 : 0次 | 上传用户:danielwu
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要 软件可维护性即维护人员对该软件进行维护的难易程度,具体包括理解、改正、改动和改进该软件的难易程度。软件的易维护性差是软件维护工作量和费用激增的直接原因,因此在软件工程的各个阶段都要保证软件具有较高可维护性,从而降低软件维护成本,这是软件工程的重要目标之一。本文简要地介绍了软件可维护性的概念, 软件可维护性的方法。
  关键词 软件可维护性;方法
  软件维护性是软件的内在固有属性,它是软件质量的重要组成部分。软件质量是软件产品中能够满足给定需求的各种特性的总和,这些特性包括:功能度、可靠性、维护性、可重用性、易用性、安全性等。软件质量,对开发者来说就是优良的设计或代码,对使用者来说就是响应迅速、功能强大,对维护人员来说就是易于升级、修改,对管理者来说就是较低的开发成本以及合理的开发时间。在软件的质量特性中,维护性与可靠性、可重用性的关系尤为密切。软件是武器装备系统不可分离的重要组成部分,软件维护不仅与维护性有关,而且涉及到软件的快速分发、软件的鉴别、软件与固件的供应等问题,但是较高的维护性是实现软件维护的关键。
  软件维护的类型有四种:改正性维护、适应性维护、完善性维护、预防性维护,下面我们一一介绍:
  1 改正性维护
  在软件交付使用后,因开发时测试的不彻底、不完全,必然会有部分隐藏的错误遗留到运行阶段。这些隐藏下来的错误在某些特定的使用环境下就会暴露出来。为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程就叫做改正性维护。
  软件测试不可能找出一个软件系统中所有潜伏的错误,一次,改正性维护是在软件运行中发生异常或故障时进行的。然而,对所发现的程序错误进行修改,一般都应该十分谨慎,以防造成不良后果。改正性维护的工作可能是:
  改正原来程序中并未发现的错误;
  解决开发是未能测试各种可能条件带来的问题;
  解决原来程序中遗漏处理文件里的最后一个记录的问题等等。
  改正性维护主要是针对开发人员和测试人员,因此开发人员和测试人员能进行很好的沟通和交流的话,可以提升改正性维护的效率,减少错误的发生,这也需要测试人员中提供测试数据的时候尽可能的想到如何提供更好、更恰当、更多的数据来进行测试。但是人思考的东西毕竟有限,因此有些奇怪的我们不能想到的数据也是很正常的,这也是改正性维护存在的必要性。
  2 适应性维护
  随着新的计算机硬件系统的不断发展,新的操作系统或操作系统的新版本的不断推出。外部设备和其他部件也经常修改和改进。在使用过程中,外部环境(新的硬、软件配置),数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化。为使软件适应这种变化,而去修改软件的过程就叫做适应性维护。
  适应性维护就是要使运行的软件能适应外部环境的变动。适应性维护工作可能是:
  为现有的没偶个应用问题实现一个数据库管理系统;
  对某个指定编码进行修改,例如从3个字符改为4个字符;
  缩短系统的应答时间,使其达到特定的要求;
  修改两个程序,时他们可以使用相同的记录结构等等;
  修改程序,使其适用于另外的终端。
  适应性维护的可能性非常的多,在这瞬息万变的环境中,软件需要不断的来适应整个环境来实现这个软件的应用价值。
  3 完善性维护
  在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。这种情况下进行的维护活动叫做完善性维护。
  当一个软件系统投入使用和成功运行时,用户会根据业务发展的实际情况,提出增加新功能、修改已有功能以及一般的改进要求等等。虽然这些内容在需求说明书中并未规定,但是,为了扩充原有系统的功能、提高原有系统的性能,满足用户的实际需求,这项工作是必不可少的。
  4 预防性维护
  预防性维护是为了提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础。预防性维护定义为:采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编制和测试。
  维护人员不要单纯等待用户提出维护请求,应该选择那些还能使用若干年、不浅虽能运行但不久就须作重大修改或者加强的软件,进行预先的维护。
  在整个软件维护阶段所花费的全部工作量中,完善性维护占了几乎一半的工
  作量。软件维护活动所花费的工作占整个生存期工作量的70%以上,这是由于在漫长的软件运行过程中需要不断对软件进行修改,以改正新发现的错误、适应新的环境和用户新的要求,这些修改需要花费很多精力和时间,而且有时会引入新的错误。
  5 软件维护的策略
  5.1 改正性维护:通常要生成100%可靠的软件并不一定合算,成本太高。但通过使用新技术,可大大减少进行改正性维护的需要。这些技术包括:数据库管理系统、软件开发环境、程序自动生成系统、较高级(第四代)的语言。以及新的开发方法、软件复用、防错程序设计及周期性维护审查等。
  5.2 适应性维护:这一类维护不可避免,但可以控制。
  5.2.1 在配置管理时,把硬件、操作系统和其它相关环境因素的可能变化考虑在内。
  5.2.2 把与硬件、操作系统,以及其它外围设备有关的程序归到特定的程序模块中。
  5.2.3 使用内部程序列表、外部文件,以及处理的例行程序包,可为维护时修改程序提供方便。
  5.3 完善性维护:利用前两类维护中列举的方法,也可以减少这一类维护,特别是数据库管理系统、程序生成器、应用软件包,可减少维护工作量。此外,建立软件系统的原型,把它在实际系统开发之前提供给用户。用户通过研究原型,进一步完善他们的功能要求,就可以减少以后完善性维护的需要。
  5.4 合理控制维护成本。有形的软件维护成本是花费了多少钱,无形的维护成本有更大的影响:一些合理的修复或修改请求不能及时安排,使得客户不满意;变更的结果引入新的故障,使得软件整体质量下降;把软件人员抽调到维护工作中,干扰了软件开发工作。
  软件维护的代价是降低了生产率,在做老程序的维护时非常明显。例如,开发每一行源代码耗资25美元,维护每一行源代码需要耗资1000美元。维护工作量包括生产性活动(如分析和评价、设计修改和实现)和“轮转”活动(如力图理解代码在做什么、试图判明数据结构、接口特性、性能界限等)。
  维护工作量的模型:
  M=p+Kec-d
  其中M是维护中消耗的总工作量,p是上面描述的生产性工作量,K是一个经验常数,c是因缺乏好的设计和文档而导致复杂性的度量,d是对软件熟悉程度的度量。
  模型指明,如果使用了不好的软件开发方法(未按软件工程要求做),原来参加开发的人员或小组不能参加维护,则工作量(及成本)将按指数级增加。
  参考文献
  [1] 王素芬,《软件工程与项目管理》,西安电子科技大学出版社,2010年3月第一版;
  [2](英)Ian Sommerville,《软件工程》,机械工业出版社,2011 年5月第 九版。
其他文献
昌万公路沙港大桥桥长486m,宽12.5m,其中主跨为(75m+75m)悬灌箱梁,0#段支撑采用托架加斜拉施工。本文介绍了沙港大桥0#段支撑设计及施工要点。
本文介绍了湖州尾信江特大桥40m跨径部分预应力薄壁组合箱梁的结构尺寸的拟定及内力分析。
高速公路上的桥梁伸缩缝的施工质量直接影响到桥梁结构的安全性、行车舒适性。本文作者通过参予梨温高速公路桥梁伸缩缝的施工质量控制,提出一些自己体会与同行探讨。
工会在调整劳动关系中的工作难点和基本要求范慧婷《劳动法》明确规定了工会在调整劳动关系中的地位和权利。随着《劳动法》的贯彻实施,工会的地位更高了,工会工作的外部环境更
圆管涵圬工数量小、构造简单、施工方便,但涵顶需≥0.5m高的填土厚度。这一条件限制了圆涵在旧路改善中的应用。此种情况设计上多以小跨径钢筋砼盖板涵替代,板涵构造形成的过水
公路安全警示是基于STC89S52为系统,通过激光的发射,光敏电阻进行信号的接收。当车辆行驶过来挡住激光时,比较器LM393对是否接收到激光的信息传递给单片机进行处理,再将处理的结
本文通过对高边坡改隧道工程地质及水文地质条件的分析及评价,确定隧道方案的可行性,并划分出围岩类别,为拟建隧道的设计和施工提出一些想法及建议。
应收账款是指企业因赊销产品或劳务而形成的应收款项,是企业流动资产的一个重要项目。随着市场经济的发展、商业信用的推行,企业应收账款数额普遍明显增多。应收账款的管理已经
随着俄罗斯国家历史上政治环境的三次大变迁,俄罗斯的行政法发展的历史也相当的曲折,但是总体是进步并且显著发展的,尤其是俄罗斯行政违法法典的颁布更是使得俄罗斯行政法走上了
本文概括了高等级公路产生桥头跳车的因素及后果,并针对台背高填土桥头跳车,提出了应用注浆加土工格栅联合法处治台背高填土桥头跳车的措施。