关于软件质量特性,前面的文章已经介绍了可靠性、易用性以及测试性,还有哪些质量特性?如何保证完整而不会遗漏?我认为有必要介绍一下GB/T 16260,以便对软件质量特性建立一个系统性的认知,立足整体对于认识局部肯定是有帮助的。


一、GB/T 16260《软件工程 产品质量》

GB/T 16260《软件工程 产品质量》等同采用ISO/IEC 9126《软件工程 产品质量》,共分为如下4部分:

  1. GB/T 16260.1-2006《软件工程 产品质量 第I部分: 质量模型》
  2. GB/T 16260.2-2006《软件工程 产品质量 第2部分:外部度量》
  3. GB/T 16260.3-2006《软件工程 产品质量 第3部分:内部度量》
  4. GB/T 16260.4-2006《软件工程 产品质量 第4部分:使用质量的度量》

GB/T 16260中描述了软件生存周期中的质量,包括过程质量、产品质量、产品使用质量。

软件生存周期中的质量

在软件生存周期中,改进过程质量有助于提高产品质量,而改进产品质量又有助于提高使用质量。同样,评价使用质量可以为改进产品提供反馈,而评价产品则可以为改进过程提供反馈。

GB/T 16260中定义了两个质量模型:1)内部质量和外部质量、2)使用质量,对软件产品质量和产品使用质量进行了全面的说明(未含过程质量)。质量模型由特性、子特性、度量组成,可以用于定义质量需求、确定开发和测试目标、评价软件产品等。

二、内部和外部质量模型

内部和外部质量模型将软件质量属性划分为六个质量特性,分别为功能性、可靠性、易用性、效率、维护性以及可移植性,每个特性进一步细分为若干子特性,每个子特性又包括多个内部和外部度量项,每个度量项都有明确的定义、目的和计算方法,用于评价该子特性的程度。

内部和外部质量模型(图不是很准确,每个子特性都包括多个度量项)

内部质量与外部质量的特性、子特性完全一样,只是具体到度量项上是不同的(即使度量项的名称相同,目的和计算方法也是不同的)。

举个例子:功能性-互操作性

  • 内部质量度量项包括:数据的可交换性(基于数据格式)、接口的一致性(协议)。
  • 外部质量度量项包括:数据的可交换性(基于数据格式)、数据的可交换性(基于用户的成功尝试)。

本文仅简单介绍质量模型中特性与子特性的含义,度量项就不逐一列举了(每个度量项都有定义、目的和计算方法,实在太多,没法贴了,想详细了解的可以查查标准)。

2.1 功能性

当软件在指定条件下使用时,软件产品提供满足明确和隐含要求的功能的能力

  • 适合性:为指定的任务和用户目标提供一组合适的功能的能力
  • 准确性:提供具有所需精度的正确或相符的结果或效果的能力
  • 互操作性:与一个或更多的规定系统进行交互的能力
  • 安全保密性:保护信息和数据的能力,以使未授权的人员或系统不能阅读或修改这些信息和数据,而不拒绝授权人员或系统对它们的访问

2.2 可靠性

软件产品维持规定的性能级别的能力

  • 成熟性:避免由软件中故障而导致失效的能力
  • 容错性:在软件出现故障或者违反指定接口的情况下,软件产品维持规定的性能级别的能力
  • 易恢复性:在失效发生的情况下,软件产品重建规定的性能级别并恢复受直接影响的数据的能力

2.3 易用性

产品被理解、学习、使用和吸引用户的能力

  • 易理解性:使用户能理解软件是否合适以及如何能将软件用于特定的任务和使用条件的能力
  • 易学性:使用户能学会其应用的能力
  • 易操作性:使用户能操作和控制的能力
  • 吸引性:吸引用户的能力

2.4 效率

相对于所用资源的数量,软件产品可提供适当性能的能力。

  • 时间特性:执行功能时,提供适当的响应和处理时间以及吞吐率的能力
  • 资源利用性:执行功能时,使用合适数量和类别的资源的能力

2.5 维护性

可被修改的能力。修改可能包括纠正、改进或软件对环境、需求和功能规格说明变化的适应。

  • 易分析性:可被诊断自身的缺陷/失效原因标识其待修改部分的能力
  • 易改变性:使指定的修改可以被实现的能力
  • 稳定性:避免因软件修改而造成意外结果的能力
  • 易测试性:使已修改的软件能被确认的能力

2.6 可移植性

从一种环境转移到另一种环境的能力。

  • 适应性:无须采用额外的活动或手段就可适应不同的指定环境的能力
  • 易安装性:在指定环境中被安装的能力
  • 共存性:在公共环境中同与其分享公共资源的其他软件共存的能力
  • 易替换性:在同样环境下,替代另一个相同用途的指定软件产品的能力

三、使用质量模型

使用质量模型包括四个质量特性,分别为有效性、生产率、安全性以及满意度。本文就不介绍了,一方面是因为标准中没有再为使用质量特性定义子特性,另一方面主要是因为使用质量是内部和外部质量特性面向用户时的组合效用,更偏向于使用效果,而不是软件产品本身的属性,在GB/T 8567-2006《计算机软件文档编制规范》中所提供的各类软件技术文件模板中,在描述软件质量特性时,通常也是以内部和外部质量模型中的六个特性为主。

四、GB/T 29831-29836

掌握子特性下的每个度量项的定义和计算方法,对理解子特性是很有帮助的。除了GB/T 16260,另外也推荐大家看看GB/T 29831-29836,这套标准也详细说明了软件六个质量特性及子特性,区别在于对于度量项的描述是经过裁剪和简化的,相对比较容易理解。

  • GB/T 29831-2013《系统与软件功能性》
  • GB/T 29832-2013《系统与软件可靠性》
  • GB/T 29833-2013《系统与软件可移植性 》
  • GB/T 29834-2013《系统与软件维护性》
  • GB/T 29835-2013《系统与软件效率》
  • GB/T 29836-2013《系统与软件易用性》

内部和外部质量模型中共包括六大特性、21个子特性,可以全面的说明和评价软件产品质量。

其中有些子特性可能还比较陌生,希望大家通过我的文章能有一个初步的了解。如果只是讲标准,那一定是相当的枯燥。所以文中不会逐个介绍每个子特性和度量项,但基本都会覆盖标准中的要求(例如易用性中介绍的雅各布·尼尔森和他的十大交互原则,符合了这些原则应该就能覆盖标准中易用性的4个子特性和44个度量项)。

前面已经介绍了可靠性、易用性和维护性的一半(测试性只是覆盖了维护性中的易分析性和易测试性),后续将以此模型为纲,继续介绍剩余的质量特性。

软件产品质量要求与评价_软件质量模型相关推荐

  1. 软件工程软件产品质量要求与评价_软件质量保证(Quality Assurance)中常见的活动...

    质量保证QA关注在软件产品生成的整个过程,主要验证软件产品开发过程中相关实施过程的完整性.一致性和有效性,确保开发活动和测试活动等遵循正确的过程,为软件产品达到合适的质量级别提供信心.为了实现过程的可 ...

  2. 软件工程软件产品质量要求与评价_软件工程定义

    软件工程是一门研究用工程化方法构建和维护有效的.实用的和高质量的软件的学科.它涉及程序设计语言.数据库.软件开发工具.系统平台.标准.设计模式等方面. 在现代社会中,软件应用于多个方面.典型的软件有电 ...

  3. GBT 25000.51-2010 软件工程 软件产品质量要求与评价(SquaRE)商业现货(COTS)软件产品的质量要求和测试细则...

    概述 GBT 25000.51 中主要包含三部分内容,COTS软件产品需求.测试文档集要求.符合性评价细则. 实施思路 按照该推荐标准的要求,需要在软件设计与开发过程中体现三部分内容,其中, 5.1 ...

  4. 系统动力学9种模型_软工国际标准专栏(9)|系统和软件质量模型

    ISO/IEC 25010:2011 <Systems and software engineering - Systems and software Quality Requirements ...

  5. 软件测试常见概念(软件生命周期、软件开发模型、软件质量模型、软件缺陷管理、软件测试概述、软件测试分类、软件测试与软件开发、软件测试原则、黑盒测试方法、白盒测试方法、性能测试)

    文章目录 1. 软件概述 1.1 软件生命周期 1.2 软件开发模型 1.2.1 瀑布模型 1.2.2 快速原型模型 1.2.3 迭代模型(增量模型或演化模型) 1.2.4 螺旋模型 1.2.5 敏捷 ...

  6. 软件质量模型ISO/IEC25010

    文章目录 前言 ISO/IEC 25010 功能性 适合性 正确性 完备性 功能性的依从性 兼容性 共存性 互操作性 兼容性的依从性 安全性 保密性 完整性 真实性 抗抵赖性 可核查性 安全性的依从性 ...

  7. 软件质量模型(ISO/IEC 9126和Mc Call)

    软件质量模型 目前已经由多种软件质量模型来描述软件质量特性,例如ISO/IEC 9126软件质量模型和Mc Call软件质量模型. ISO/IEC 9126软件质量模型 ISO/IEC 9126软件质 ...

  8. ISO9126 软件质量模型

    ISO9126 软件质量模型是评价软件质量的国际标准,由6个特性和27个子特性组成. 一.功能性 1.适合性:软件产品为指定的任务和用户目标提供一组合适功能的能力.(1.软件提供了用户所需要的功能 2 ...

  9. 软件质量模型介绍ISO/IEC 9126和ISO/IEC 25010

    ISO/IEC 9126软件质量模型( 一种评价软件质量的通用模型,包括 6大特性和27个子特性) ISO/IEC 25010( 八个特性和31个子特性, ISO9126多了两个主特性:兼容性和安全性 ...

最新文章

  1. HarmonyOS UI开发 TableLayout(表格布局) 的使用
  2. 你当真了解count(*)count(id)count(1)吗?
  3. v-if 表单验证_避免许多if块进行验证检查
  4. 没有内存条电脑能开机吗_开机键过时了!3种电脑开机方法,能让你睡懒觉的技术还不快来学...
  5. 变电站计算机监控系统相关技术,变电站计算机监控系统的研究
  6. 接口测试之发包工具介绍
  7. 局域网内抢带宽的工具 破解版 【PSP流量限制软件】
  8. 《人工智能 一种现代方法》第三版 第1章 概述 笔记摘录
  9. EtherCAT总线运动控制学习笔记(RXXW_Dor)
  10. Taylor Swift为何听不到搜不到她的歌曲了?让我告诉你个好法子
  11. 玩转prometheus告警 alertmanger(二)之alertmanger 邮件 钉钉告警
  12. 网页版VIP邮箱有什么宝藏功能?网页邮箱官网注册入口有哪些?
  13. java打印输出万年历_用Java编程输出万年历的功能实现
  14. ubuntu18.04装coturn
  15. mac系统共享服务器,mac共享服务器
  16. PMBOK泛读(第三章) - 项目经理的角色
  17. NS3下的802.15.4模块(lr-wpan)
  18. win10开机网络图标消失,可以联网重启资源管理器可以出来下次开机又不出现图标,是什么问题该怎么解决
  19. 闪存浪潮下不得不知的知识(1)-厂商篇
  20. 【Attention】Dual Attention(DANet) Fully Attention(FLA)

热门文章

  1. 【BZOJ3110】【codevs1616】K大数查询,权值线段树套普通线段树
  2. html 5新增技术,HTML5新增标签
  3. harbor安装_Harbor简单安装部署,镜像仓库存储使用阿里云OSS
  4. mysql 5.6 没死_MySQL 5.6不删空用户的影响
  5. 繁体字_如何简单快速地批量认识繁体字?
  6. 【英语学习】【English L06】U04 Adventure L6 My favorite tourist destination
  7. 三维旋转四元数系列(4.四元数三维旋转表达)
  8. Android程序员重头学Synchronized
  9. mfc 更新服务器文件,MFC程序版本自动升级更新
  10. python里textfield_Django:为什么我的CharField没有得到类vTextField?