专栏名称: 京东成都研究院
京东商城成都研究院信息平台
目录
相关文章推荐
成都发布  ·  别碰!有毒!春季常见!紧急提醒→ ·  昨天  
清廉蓉城  ·  十四届市委第五轮巡察完成首批进驻 ·  3 天前  
成都本地宝  ·  我不打算买房,成都公积金还有什么用? ·  5 天前  
51好读  ›  专栏  ›  京东成都研究院

CDRD TALK | 软件产品的质量模型

京东成都研究院  · 公众号  · 成都  · 2018-03-14 17:45

正文

01

质量模型简介

  • 软件产品质量和软件产品评价标准

GB/T16260和GB/T 18905分别对软件产品质量和软件产品评价做了规定。


  • 质量途径

内部质量: 基于内部视角的软件产品特性的总体;内部质量针对内部质量需求被测量和评价。


外部质量: 基于外部视角的软件产品特性的总体;在了解内部质量的基础上,对每个开发阶段的最终软件产品的各个质量特性加以估计或预测的质量。


使用质量: 基于用户观点的软件产品用于指定的环境和使用周境时的质量。在了解内部和外部质量的基础上,对每个开发阶段的最终软件产品的各个使用质量特性加以估计或预测的质量。


  • 外部和内部质量的质量模型

软件产品外部和内部质量主要从功能性、可靠性、易用性、效率、维护性、可移植性共六个特性维度来划分。


02

功能性

  • 定义及子特性

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

  • 适合性

定义:软件产品为指定的任务和用户目标提供一组合适功能的能力。


举例:对Win10的计算器来说,软件产品为用户提供的所有和“计算”相关的功能就是适合性。如“标准”、“科学”、“程序员”、“日期计算”,我们只需要在计算器软件左上方的菜单中点击即可找到这些功能点。除了这些“明显”的功能外,还提供了用户需要在特定场景下才可能会想到、用到的功能如“体积”、“长度”、“重量和质量”、“温度”、“压强”、“角度”、“历史记录”等。


  • 准确性

定义:软件产品提供具有所需精度的正确或相符的结果及效果的能力。


举例:对Win10的计算器来说,计算器本身计算结果的正确性是计算器软件在准确性方面的一个表现。比如“1+1”,结果应该是“2”,而不是“3”。再比如“1/3”,结果“0.3333...”是一个无限循环数,这个结果需要保留到小数点后几位?末位是否需要四舍五入?等等...


  • 互操作性

定义:软件产品与一个或更多的规定系统进行交互的能力。


举例:对Win10的计算器来说,计算器中不同功能、特性之间是否能正确地相互配合是计算器在互操作性方面的一个表现;此外,对不同操作系统的支持,比如对Win10的不同版本(包括不同的补丁版本)的支持,对不同的工作模式(如安全模式、带网络连接的安全模式)的支持也是互操作性的体现。


  • 安全保密性

定义:软件产品保护信息和数据的能力,以使未授权的人员或系统不能阅读和修改这些信息和数据,而不拒绝授权人员或系统对它们的访问。

举例:对Win10的计算器来说,计算器不应该包含能够被利用的安全漏洞和与“用户权限”相关的内容,如“管理员和访客都应该有相同的使用权限”等,这类内容属于计算器软件在安全性方面的体现。


  • 功能依从性

定义:软件产品遵循与该功能性相关的标准、约定或法规以及类似规定的能力。


举例:对Win10的计算器来说,功能顺从性可以理解为,作为一款计算器,计算规则(如平方运算、统计运算等)要和数学中的相关规则保持一致。自然也应该遵守ISO/IEC 9126-1:2001规定。


03

可靠性

  • 定义&子特性

定义:在指定条件下使用时,软件产品维持规定的性能级别的能力。


注意:如下三个层层递进的句子可以帮助我们来理解用户可靠性方面的要求:

第一层:设备(软件)最好不要出故障。

第二层:设备(软件)出现故障了不要影响主要的功能和业务。

第三层:如果影响了主要功能和业务,系统可以尽快定位并恢复。

  • 成熟性

定义:软件产品为避免由软件中故障而导致失效的能力。


举例:对Win10的计算器来说,成熟性可以理解为产品的功能失效的概率。例如,计算器在持续运行一段时间后,就会出现计算方面错误。一般来说,这种错误都可以通过重启软件、重启设备等方法恢复。


  • 容错性

定义:在软件出现故障或者违反其指定接口的情况下,软件产品维持规定的性能级别的能力。


举例:对Win10的计算器来说,容错性可以理解为产品对用户“错误输入”的处理应对能力,如输入除数0(1/0),或者是输入一个超过计算器能够处理的长度的数字等等。我们希望计算器能够有一定的容错处理机制,能够判断用户在使用过程中是否输入了“非法值”,并针对“非法”输入的内容和原因给出错误提示,如第一个例子中,计算器能够提示“除数不能为0”;不会因为用户的任何错误输入,而引发计算器出现软件无响应、软件重启等异常。


  • 易恢复性

定义:在失效发生的情况下,软件产品重建规定的性能级别并恢复受直接影响的数据的能力。


举例:对Win10的计算器来说,易恢复性可以理解为计算器一旦出现了产品自身无法预期的异常(如无响应、重启)后,能够恢复。从软件产品恢复的方式来说,能够自动恢复当然是最好的,如产品异常重启后,软件能够自动启动,最好还能恢复到重启前的页面。和自动恢复的方式对应的是被动恢复,如产品长时间出现无响应的情况,需要用户手动终止进程,重启软件,故障才能恢复。显然,我们不希望软件产品在出现异常后总是通过被动恢复来恢复。


  • 可靠性依从性

定义:软件产品遵循与可靠性相关的标准、约定或法规的能力。


举例:对Win10的计算器来说,在可靠性依从性方面在业界并没有严格明确的标准,一般主要靠各个公司内部定可靠性方面的标准,但是也会有一些潜在的约定,如计算器需要能够识别出所有数学运算的异常输入,并给出错误原因的提示;计算器一旦出现了异常,需要能够自动恢复等等,自然也应该遵守ISO/IEC 9126-1:2001规定。


04

易用性

  • 定义&子特性

定义:在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。


简单说就是:易懂、易学、易用、漂亮。易用性对消费类的产品显得尤为重要。如购买手机时,手机的外观是否漂亮,界面是否漂亮、好用会成为影响我们购机的一个重要因素;又如下载一个APP后很少有人去阅读它的手册,这个应用能不能被看懂、好不好用直接决定是否保留在移动设备上。

  • 易理解性

定义:软件产品使用用户能理解软件是否合适以及如何能将软件用于特定的任务和使用条件的能力。


举例:对Win10的计算器来说,易理解性是指我们能够理解界面上每个按键的意思(如数字0、1、2等;各种运算符号,如+、-等)。计算器在界面设计上和我们平时使用习惯了的“实体”计算器几乎一模一样,一看就理解了,并知道如何使用计算器来完成运算(如计算“1+1”)。


  • 易学性

定义:软件产品使用户能学习其应用的能力。


举例:对Win10的计算器来说,以下两个方面都是易学性的具体体现:鼠标移动到“MC”按钮是就会弹窗显示“清除所有内存”字样;Win10操作系统上的“虚拟”计算器在界面设计上和我们平时使用习惯了的“实体”计算器几乎一模一样,即使第一次使用Win10操作系统上的虚拟计算器的用户来说都不会感到陌生。


  • 易操作性

定义:软件产品使用户能操作和控制它的能力。


注:易操作性相当于ISO9241-110中定义的可控性、容错性和与用户期望的符合性;适合性、易安装性的某些方面可能会影响易操作性。







请到「今天看啥」查看全文