常见的软件质量模型
关于软件质量模型,业界已经有很多成熟的模型定义,比较常见的质量模型有 McCall 模型、Boehm 模型、FURPS 模型、Dromey 模型和 ISO9126 模型。
? ? ? ? ? ?
Jim McCall 软件质量模型(1977 年) Barry W. Boehm 软件质量模型(1978 年) FURPS/FURPS+ 软件质量模型 R. Geoff Dromey 软件质量模型
ISO/IEC 9126 软件质量模型(1993 年) ISO/IEC 25010 软件质量模型(2011 年)
Jim McCall 软件质量模型(1977 年)
Jim McCall 的软件质量模型,也被称为 GE 模型(General Electrics Model)。其最初起源于美国空军,主要面向的是系统开发人员和系统开发过程。McCall 试图通过一系列的软件质量属性指标来弥补开发人员与最终用户之间的沟壑。
McCall 质量模型使用 3 中视角来定义和识别软件产品的质量:
1. Product revision (ability to change).
2. Product transition (adaptability to new environments). 3. Product operations (basic operational characteristics).
McCall 模型通过层级的要素、标准和指标来详述这 3 个视角定义(产品修改、产品转移、产品运行)。
11 Factors (To specify):描述软件的外部视角,也就是客户
或使用者的视角。
? 23 Criterias (To build):描述软件的内部视角,也就是开发人员的视角。
? Metrics (To control):定义衡量指标和方法
?
下图中,左侧为 11 个质量要素,右侧为 23 个质量标准。
Barry W. Boehm 软件质量模型(1978 年)
Boehm 软件质量模型试图通过一系列的属性的指标来量化软件质量。Boehm 的质量模型包含了 McCall 模型中没有的硬件属性。Boehm 模型也类似于
McCall 的质量模型,采用层级的质量模型结构,包括高层属性、中层属性和原始属性。
高层属性主要关注 3 个问题:
? ? ?
As-is utility Maintainability Portability
中层属性包含了 7 个质量要素:
Portability (General utility characteristics) ? Reliability (As-is utility characteristics) ? Efficiency (As-is utility characteristics) ? Usability (As-is utility characteristics, Human Engineering)
? Testability (Maintainability characteristics) ? Understandability (Maintainability characteristics) ? Flexibility (Maintainability characteristics, Modifiability)
?
可以看出,Boehm 模型和 McCall 模型有些相似,区别在于 McCall 模型主要关注于高层属性(\)的精确度量上,而 Boehm 模型则基于更广泛的属性,并且对可维护性做了更多的关注。
FURPS/FURPS+ 软件质量模型
FURPS 模型最初由 Robert Grady 提出,后来由 Rational Software 进行扩展至 FURPS+。
FURPS 模型包括:
? ? ? ? ?
Functionality Usability Reliability Performance Supportability
FURPS 包括两种不同的类型:功能性和非功能性。