质量模型是指提供声明质量需求和评价质量基础的特性以及特性之间关系的集合。关于软件质量模型,业界已经有很多成熟的模型定义,比较常见的质量模型有McCall模型、Boehm模型、FURPS模型、Dromey模型、ISO/IEC 9126模型和IS0/IEC 25010模型。本书介绍McCall模型、Boehm模型、ISO/IEC 9126模型和ISO/IEC 25010模型。
1.McCall模型
McCall的软件质量模型(图7-3),也被称为GE模型(General Electrics Model)。McCall质量模型使用三个视角来定义和识别软件产品的质量:
图7-3 McCall模型
·产品修改(Product revision,ability to change)。
·产品迁移(Product transition,adaptability to new environments)。
·产品运行(Product operations,basic operational characteristics)。
McCall模型被分为三层:
(1)质量要素,总共11种,描述软件的外部视角,也就是客户或使用者的视角,与前面介绍的软件质量指标基本相似。
·正确性:在预定环境下,软件满足设计规格说明及用户预期目标的程度。它要求软件“没有错误”;
·可靠性:软件按照设计要求,在规定时间和条件下不出故障,持续运行的程度;
·效率:为了完成预定功能,软件系统所需的计算机资源的多少;
·完整性:为了某一目的而保护数据,避免它受到偶然的,或有意的破坏、改动或遗失的能力;
·可使用性:对于一个软件系统,用户学习、使用软件及为程序准备输入和解释输出所需工作量的大小;
·可维护性:为满足用户新的要求,或当环境发生了变化,或运行中发现了新的错误时,对一个已投入运行的软件进行相应诊断和修改所需工作量的大小;
·可测试性:测试软件以确保其能够执行预定功能所需工作量的大小;
·灵活性:修改或改进一个已投入运行的软件所需工作量的大小;
·可移植性:将一个软件系统从一个计算机系统或环境移植到另一个计算机系统或环境中运行时所需工作量的大小;
·复用性:一个软件(或软件的部件)能再次用于其他应用(该应用的功能与此软件或软件部件的所完成的功能有联系)的程度;
·互连性:连接一个软件和其他系统所需工作量的大小。如果这个软件要联网,或与其他系统通信,或要把其他系统纳入自己的控制之下,必须有系统间的接口,使之可以连接。互连性很重要,它又称相互操作性。
(2)评价准则,总共21条,从软件的内部视角,也就是开发人员的视角进行描述。
·可审查性:检查软件需求、规格说明、标准、过程、指令、代码及合同是否一致的难易程度;
·准确性:计算和控制的精度,最好表示成相对误差的函数,值越大表示精度越高;
·通信通用性:使用标准接口、协议和频带的程度;
·完全性:所需功能完全实现的程度;
·简明性:程序源代码的紧凑性;
·一致性:设计文档与系统实现的一致性;
·数据通用性:在程序中使用标准的数据结构和类型;
·容错性:系统在各种异常条件下提供继续操作的能力;
·执行效率:程序运行效率;
·可扩充性:能够对结构设计、数据设计和过程设计进行扩充的程度;
·通用性:程序部件潜在的应用范围的广泛性;
·硬件独立性:软件同支持它运行的硬件系统不相关的程度;
·检测性:监视程序的运行,一旦发生错误时,标识错误的程度;
·模块化:程序部件的功能独立性;
·可操作性:操作一个软件的难易程度;
·安全性:控制或保护程序和数据不受破坏的机制,以防止程序和数据受到意外的恶意的存取、使用、修改、毁坏或泄密;
·自文档化:源代码提供有意义文档的程度;(www.xing528.com)
·简单性:理解程序的难易程度;
·软件系统独立性:程序与非标准的程序设计语言特征、操作系统特征以及其他环境约束无关的程度;
·可追踪性:对软件进行正向和反向追踪的能力;
·易培训性:软件支持新用户使用该系统的能力。
(3)度量,定义衡量指标和方法,与评价标准对应,在度量方法上有定量评价和定性评价两种。
在McCall模型中一个质量要素是由多个评价准则来进行评价,实践证明以这种方式获得的结果会有一些问题。例如,本质上并不相同的一些问题有可能会被当成同样的问题来对待,导致通过模型获得的反馈也基本相同。这就使得指标的制定及其定量的结果变得难以评价。表7-1反映了McCall模型中质量要素与评价准则之间的关系。
表7-1 McCall模型质量要素与评价准则的关系
(续表)
2.Boehm模型
Boehm模型(图7-4)是由Boehm等在1978年提出来的质量模型,在表达质量特征的层次性上,它与McCall模型是非常类似的。不过,它是基于更为广泛的一系列质量特征,它将这些特征最终合并成19个标准。Boehm提出的概念的成功之处在于它包含了硬件性能的特征,这在MeCall模型中是没有的。但是,其中与MeCall模型类似的问题依然存在。
图7-4 Boehm模型
3.ISO/IEC 9126模型
ISO/IEC 9126模型(图7-5)是建立在MeCall和Boehm模型之上的,共分为三层:
·高层:软件质量需求评价准则(SQRC);
·中层:软件质量设计评价准则(SQDC);
·低层:软件质量度量评价准则(SQMC)。
分别对应McCall等模型的要素、评价准则和度量。高层是从用户观点出发;中层是从开发者观点出发。ISO认为应对高层和中层建立国际标准,以便在国际范围内推广软件质量管理,而低层可由各单位自行制定。ISO/IEC 9126模型没有出现McCall模型和Boehm模型的要素与评价准则之间交叉关系。
ISO/IEC 9126模型在高层从内部质量、外部质量的角度定义了六个质量特性:
·功能性:软件是否满足了客户功能要求;
·可靠性:软件是否能够一直在一个稳定的状态上满足可用性;
·使用性:衡量用户能够使用软件需要多大的努力;
·效率:衡量软件正常运行需要耗费多少物理资源;
·可维护性:衡量对已经完成的软件进行调整需要多大的努力;
·可移植性:衡量软件是否能够方便地部署到不同的运行环境中。
图7-5 ISO/IEC 9126模型
4.ISO/IEC 25010模型
ISO/IEC 25010模型是在ISO/IEC 9126模型的基础上推出的,推出后ISO/IEC 9126模型被废止。ISO/IEC 25010模型定义了8个质量特性,见图7-6 ISO/IEC 25010模型质量特性。
图7-6 ISO/IEC 25010模型质量特性
除了质量特性以外,ISO/IEC 25010模型新增了软件使用质量。使用质量是指:在特定的使用环境中,软件产品使得特定用户能达到有效性、生产率、安全性和满意度的特定目标的能力。包括五个特征,见表7-2 ISO/IEC 25010模型软件使用质量。
表7-2 ISO/IEC 25010模型软件使用质量
软件质量模型演变的过程反映了软件工程发展过程中软件规范的逐步完善,在进行软件开发的时候应当遵循这些规范,才能够在项目需求复杂多变的情况下,保证软件产品的质量。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。