常见的软件质量模型
关于软件质量模型,业界已经有很多成熟的模型定义,比较常见的质量模
型有McCall模型、Boehm模型、FURPS模型、Dromey模型和ISO9126模型。
JimMcCall软件质量模型(1977年)?BarryW.Boehm软件质量模型(1978年)?FURPS/FURPS+软件质量模型?R.GeoffDromey软件质量模型?ISO/IEC9126软件质量模型(1993年)?ISO/IEC25010软件质量模型(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.characteristics).operational(basic operations Product
McCall模型通过层级的要素、标准和指标来详述这3个视角定义(产品
修改、产品转移、产品运行)。
11Factors(To specify):描述软件的外部视角,也就是客户?或使用者的视角。
:描述软件的内部视角,也就是开发build)Criterias(To23?人员的视角。
:定义衡量指标和方法control)(ToMetrics?
个质量标准。
23个质量要素,右侧为11下图中,左侧为
Barry W.Boehm软件质量模型(1978年)
Boehm软件质量模型试图通过一系列的属性的指标来量化软件质量。
Boehm
模型也类似于Boehm模型中没有的硬件属性。
McCall的质量模型包含了.McCall的质量模型,采用层级的质量模型结构,包括高层属性、中层属性和原始属性。
高层属性主要关注3个问题:
As-is utility?Maintainability?Portability?
中层属性包含了7个质量要素:
Portability(General utility characteristics)?characteristics)
(As-is utilityReliability?characteristics)utility Efficiency(As-is
?Human characteristics,(As-is utility Usability?Engineering) characteristics)(Maintainability Testability?characteristics) Understandability(Maintainability
?characteristics,(MaintainabilityFlexibility?Modifiability)
可以看出,Boehm模型和McCall模型有些相似,区别在于McCall模型
主要关注于高层属性(As-is瑵汩瑩屹)的精确度量上,而Boehm模型则基于更广泛的属性,并且对可维护性做了更多的关注。
FURPS/FURPS+软件质量模型
FURPS模型最初由Robert Grady提出,后来由Rational Software进行
扩展至FURPS+。
FURPS模型包括:
Functionality?Usability?Reliability?Performance?Supportability ?
FURPS包括两种不同的类型:功能性和非功能性。
R.Geoff Dromey软件质量模型
Dromey软件质量模型由3个主要元素组成:
1.Product properties that influence quality
2.High level quality attributes
3.Means of linking the product properties with the
quality attributes.
构建该质量模型包括以下5个步骤:
1.Chose a set of high-level quality attributes necessary
for the evaluation.
2.List components/modules in your system.
3.Identify quality-carrying properties for the
components/modules(qualities of the component that have the
most
4.impact on the product properties from the list above).
5.Determine how each property effects the quality
attributes.
6.Evaluate the model and identify weaknesses.
ISO/IEC9126软件质量模型(1993年)QualityEvaluation:Software Product9126:ISO/IEC
Use-standard their forandCharacteristics Guidelines
ISO/IEC9126模型是建立在McCall和Boehm模型之上的,同时加入了功能性要求,还包括识别软件产品的内部和外部质量属性。
软件的6个质量特征:
1.功能性(Functionality):当软件在指定条件下使用时,软件产
品提供满足明确和隐含需要的功能的能力;
2.可靠性(Reliability):在指定条件下使用时,软件产品维持规
定的性能级别的能力;
3.易用性(Usability):在指定条件下使用时,软件产品被理解、
学习、使用和吸引用户的能力;
4.效率(Efficiency):在规定条件下,相对于所用资源的数量,
软件产品可提供适当性能的能力;
5.可维护性(Maintainability):软件产品可被修改的能力。
修改
可能包括纠正、改进或软件对环境、需求和功能规约变化的适应程度;
6.可移植性(Portability):软件产品从一种环境迁移到另一种环
境的能力。
.
内部和外部质量特征:9126-1ISO/IEC.
中的非技术因素:9126-1 ISO/IEC.
模型的对比:Boehm和模型McCall模型与9126ISO/IEC下面是
ISO/IEC25010软件质量模型(2011年)ISO/IEC9126-1:2001已被ISO/IEC25010:2011代替并废止。
上图阐明了ISO/IEC25000SQuaRE系列标准的组织,其组成部分均称为分部。
SQuaRE系列国际标准内的分部有:
1.ISO/IEC2500n质量管理分部。
构成这个分部的那些标准定义
了由SQuaRE系列标准中的所有其他标准引用的全部公共模型、术语和定义。
在针对特定应用情况使用适当标准方面的引用路径和高级的实用建
议有助于所有类型的用户。
这一分部还提供了用于负责管理软件产品需
求和评价的支持功能的要求和指南。
2.ISO/IEC2501n质量模型分部。
构成这个分部的标准给出一个
包括软件内部质量、软件外部质量和软件使用质量的特性的详细质量模型。
此外,内部和外部的软件质量特性被分解细化成一些子特性,并且
还提供了使用该质量模型的实用指南。
3.ISO/IEC2502n质量测量分部。
构成这个分部的标准包括软件
产品质量测量参考模型、质量测量的数学定义及其应用的实用指南。
给
出了应用于软件内部质量、软件外部质量和使用质量的测量。
定义并给
出了构成后续测量基础的质量测量元素。
4.ISO/IEC2503n质量要求分部。
构成这个分部的标准帮助用户
规定质量要求。
这些质量要求可用在要开发的软件产品的质量需求抽取
过程中或用作评价过程的输入。
需求定义过程可映射到ISO/IEC15288
中定义的技术过程。
5.ISO/IEC2504n质量评价分部。
构成这个分部的标准给出了无
论由评价方、需方还是由开发方执行的软件产品评价的要求、建议和指南。
还给出了作为评价模块的测量文档编制支持。
6.ISO/IEC25050到ISO/IEC25099保留用于SQuaRE扩展的国际
标准和/或技术报告。
软件质量模型包含8个特征,并且被进一步分解为可以度量的内部和外
部多个子特征。
ISO/IEC25010中新增了软件使用质量,其包含5个特征,并进一步被划
分为可以被度量的多个子特征。
使用质量:在特定的使用周境中,软件产品使得特定用户能达 到有效性、生产率、安全性和满意度的特定目标的能力。
质量模型与目标系统的关系:
质量的生命周期:。