1、正确性
��一个程序必须正确地运行,而且还要为它的用户提供某些输出。正确性要求软件执行所要求的功能。对于正确性,最一般的度量是每千代码行(KLOC)的差错数,其中将差错定义为已被证实是不符合需求的缺陷。差错在程序交付用户普遍使用后由程序的用户报告,按标准的时间周期(典型情况是1年)进行计数。
2、可维护性
��包括当程序中发现错误时,要能够很容易地修正它;当程序的环境发生变化时,要能够很容易地适应之;当用户希望变更需求时,要能够很容易地增强它。还没有一种方法可以直接度量可维护性,因此必须采取间接度量。有一种简单的面向时间的度量,叫做平均变更等待时间MTTC(Mean
Time To Change)。 这个时间包括开始分析变更要求、设计合适的修改、实现变更并测试它、以及把这种变更发送给所有的用户。一般地,一个可维护的程序与那些不可维护的程序相比,应有较低的MTTC(对于相同类型的变更)。
��日本的日立公司使用了一种面向成本的可维护性度量,叫做"故障损失(spoilage),即在软件交付给终端用户之后为了改正所发现的差错所需的成本。这种度量把故障损失对总项目成本(对许多项目)的比率看做是一个时间函数,通过管理这个函数,可以确定软件开发组织所生产软件的总可维护性是否正在改进。然后根据对此信息的深入了解就可采取行动。
3、完整性
��这个属性度量一个系统抗拒对它的安全性攻击(事故的和人为的)的能力。软件的所有三个成分:程序、数据和文档都会遭到攻击。
为了度量完整性,需要定义两个附加的属性:危险性和安全性。危险性是特定类型的攻击将在一给定时间内发生的概率,它可以被估计或从经验数据中导出。安全性是排除特定类型攻击的概率,它也可以被估计或从经验数据中导出。一个系统的完整性可定义为:
完整性 = ∑(1-危险性×(1-安全性))
其中,对每一个攻击的危险性和安全性都进行累加。
4、可使用性
��即用户友好性。如果一个程序不具有"用户友好性",即使它所执行的功能很有价值,也常常会失败。可使用性力图量化"用户友好性",并依据以下四个特征进行度量:
��(1) 为学习系统所需要的体力上的和智力上的技能;
��(2) 为达到适度有效使用系统所需要的时间;
��(3) 当软件被某些人适度有效地使用时所度量的在生产率方面的净增值;
��(4) 用户角度对系统的主观评价(可以通过问题调查表得到)。
�� |
|