集美大学函授《软件工程》学习课程-可维护性的度量

院校:集美大学继续教育 发布时间:2021-04-26 10:15:31

    可维护性的度量

    人们一直期望对软件的可维护性做出定量度量,但要做到这一点并不容易。许多研究工作集中在这个方面,形成了一个引人注目的学科一软件度量学。下面将介绍度量个可维护的程序的7种特性时常用的方法。这就是质量检查表、质量测试、质量标准。

    质量检查表是用于测试程序中某些质量特性是否存在的一个问题清单。评价者针对检查表上的每一个问题,依据自己的定性判断,回答“Yes" 或者“No”。质量测试与质量标准则用于定量分析和评价程序的质量。由于许多质量特性是相互抵触的,要考虑几种不同的度量标准,相应地去度量不同的质量特性。

    1.可理解性

    可理解性表明人们通过阅读源代码和相关文档,了解程序功能及其如何运行的容易程度。一个可理解的程序主要应具备以下一些特性: 模块化(模块结构良好、功能完整、简明)、风格-致性(代码风格及设计风格的一致性)、不使用令人琢磨不定或含糊不清的代码、使用有意义的数据名和过程名、结构化、完整性(对输入数据进行完整性检查)等。

    对于可理解性,可以使用一种叫做“90-10测试”的方法来衡量。即把一份待测试的源程序清单拿给一位有经验的程序员阅读10分钟,然后把这个源程序清单拿开,让这位程序员凭自己的理解和记忆,写出该程序的90%。如果程序员真的写出来了,则认为这个程序具有可理解性,否则这个程序要重新编写。

    2.可靠性

    可靠性表明一个程序按照用户的要求和设计目标,在给定的一段时间内 正确执行的概率。关于可靠性,度量的标准主要有:平均失效间隔时间MTTF、平均修复时间MTTR、有效性A=(MTBD/(MTBD+MDTD).

    度量可靠性的方法主要有两类:

    (1)根据程序错误统计数字进行可靠性预测。常用的方法是利用一些可靠性模型,根据程序测试时发现并排除的错误数预测平均失效间隔时间MTTF.

    (2)根据程序复杂性预测软件可靠性。用程序复杂性预测可靠性,前提条件是可靠性与复杂性有关,因此可用复杂性预测出错率。程序复杂性度量标准可用于预测哪些模块最可能发生错误,以及可能出现的错误类型。了解了错误类型及它们在哪里可能出现,就能更快地查出和纠正更多的错误,提高可靠性。

    3.可测试性

    可测试性表明论证程序正确性的容易程度。程序越简单,证明其正确性就越容易。设计合适的测试用例,取决于对程序的全面理解。因此,一个可测试的程序应当是可理解的、可靠的、简单的。

    对于程序模块,可以用程序复杂性来度量可测试性。程序的环路复杂性越大,程序的路径就越多,因此全面测试程序的难度就越大。

    4.可修改性

    可修改性表明程序容易修改的程度。一个可修改的程序应当是可理解的、通用的、灵活的、简单的。其中,通用性是指程序适用于各种功能变化而无需修改。灵活性是指能够容易地对程序进行修改。

    5.可移植性

    可移植性表明程序转移到一个新的计算环境的可能性的大小,或者它表明程序可以容易地、有效地在各种各样的计算环境中运行的容易程度。

    一个可移植的程序应具有结构良好、灵活,不依赖于某一具体计算机或操作系统的性能。

    6.效率

    效率表明一个程序能执行预定功能而又不浪费机器资源的程度。这些机器资源包括内存容量、外存容量、通道容量和执行时间。