转软件可维护性的度量


    人们一直期望对软件的可维护性做出定量度量,但要做到这一点并不容易。许多研究工作集中在这个方面,形成了一个引人注目的学科——软件度量学。下面将介绍度量一个可维护的程序的七种特性时常用的方法。这就是质量检查表、质量测试、质量标准。
    质量检查表是用于测试程序中某些质量特性是否存在的一个问题清单。评价者针对检查表上的每一个问题,依据自己的定性判断,回答“Yes”或者“No”。质量测试与质量标准则用于定量分析和评价程序的质量。由于许多质量特性是相互抵触的,要考虑几种不同的度量标准,相应地去度量不同的质量特性。
    (1)可理解性
    可理解性表明人们通过阅读源代码和相关文档,了解程序功能及其如何运行的容易程度。一个可理解的程序主要应具备以下一些特性:模块化(模块结构良好、功能完整、简明),风格一致性(代码风格及设计风格的一致性),不使用令人捉摸不定或含糊不清的代码,使用有意义的数据名和过程名,结构化,完整性(对输入数据进行完整性检查)等。
    对于可理解性,可以使用一种叫做“90一10测试”的方法来衡量。即把一份待测试的源程序清单拿给一位有经验的程序员阅读10分钟,然后把这个源程序清单拿开,让这位程序员凭己的理解和记忆,写出该程序的90%。如果程序员真的写出来了,则认为这个程序具有可理解性,否则这个要重新编写。
    (2)可靠性
    可靠性表明一个程序按照用户的要求和设计目标,在给定的一段时间内正确执行的概率。关于可靠性,度量的标准主要有:平均失效间隔时间MTTF(.Mean Time To FailLire)、平均修复时间MTTR(Mean Time To Repair error)、有效性A(=MTBD/(MTBD+MDT))。
    度量可靠性的方法,主要有两类:
    1)根据程序错误统计数字,进行可靠性预测。
    常用方法是利用一些可靠性模型,根据程序测试时发现并排除的错误数预测平均失效间隔时间MTTF。
    2)根据程序复杂性,预测软件可靠性。
    用程序复杂性预测可靠性,前提条件是可靠性与复杂性有关。因此可用复杂性预测出错率。程序复杂性度量标准可用于预测哪些模块最可能发生错误,以及可能出现的错误类型。了解了错误类型及它们在哪里可能出现,就能更快地查出和纠正更多的错误,提高可靠性。
    (3)可测试性
    可测试性表明论证程序正确性的容易程度。程序越简单,证明其正确性就越容易。而且设计合用的测试用例,取决于对程序的全面理解。因此,一个可测试的程序应当是可理解的,可靠的,简单的,中国自学编程网整理发布,http://www.zxbc.cn/
    对于程序模块,可用程序复杂性来度量可测试性。程序的环路复杂性越大,程序的路径就越多。因此,全面测试程序的难度就越大。
    (4)可修改性
    可修改性表明程序容易修改的程度。一个可修改的程序应当是可理解的、通用的、灵活的、简单的。其中,通用性是指程序适用于各种功能变化而无需修改。灵活性是指能够容易地对程序进行修改。
    测试可修改性的一种定量方法是修改练习。其基本思想是通过做几个简单的修改,来评价修改的难度。设C是程序中各个模块的平均复杂性,n是必须修改的模块数,A是要修改的模块的平均复杂性。[Page]
    对于简单的修改,若D>1,说明该程序修改困难。A和c可用任何一种度量程序复杂性的方法计算。
    (5)可移植性
    可移植性表明程序转移到一个新的计算环境的可能性的大小。或者它表明程序可以容易地、有效地在各种各样的计算环境中运行的容易程度。
    一个可移植的程序应具有结构良好、灵活、不依赖于某一具体计算机或操作系统的性能。
    (6)效率
    效率表明一个程序能执行预定功能而又不浪费机器资源的程度。这些机器资源包括内存容量、外存容量、通道容量和执行时间。
    (7)可使用性
    从用户观点出发,把可使用性定义为程序方便、实用、及易于使用的程度。一个可使用的程序应是易于使用的、能允许用户出错和改变,并尽可能不使用户陷入混乱状态的程序。
    (8)其他间接定量度量可维护性的方法
    Gilb提出了与软件维护期间工作量有关的一些数据,可以使用它们间接地对软件的可维护性做出估计。
    1)问题识别的时间;  
    2)因管理活动拖延的时间;
    3)收集维护工具的时间;
    4)分析、诊断问题的时间;
    5)修改规格说明的时间;
    6)具体的改错或修改的时间;
    7)局部测试的时间;
    8)集成或回归测试的时间;
    9)维护的评审时间;
    10)恢复时间。
    这些数据反映了维护全过程中检错一纠错一验证的周期,即从检测出软件存在的问题开始至修正它们并经回归测试验证这段时间。可以粗略地认为,这个周期越短,维护越容易。

转载于:https://www.cnblogs.com/whjun/archive/2008/08/14/1268118.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值