产品质量模型将系统/软件产品质量属性划分为8个特征:功能性、性能效率、兼容性、易用性、可靠性、安全性、可维护性、可移植性,每个特征由一组相关子特征组成。
衡量一个优秀软件的维度:
产品质量模型只应用于软件产品,或者包含软件的计算机系统,因为大多数子特征与软件和系统相关。
功能性
是指软件产品在指定条件下使用时,提供满足明示和隐含要求的功能的能力。 明示+隐含才构成了用户对产品的真正完整的功能要求。
功能性包含4个子特性,这些子特性可以给我们提供分析功能性要求的思考方向。
特 征 | 说 明 |
---|---|
完备性 | 功能集对指定任务和用户目标的覆盖程度 例子: 计算器要提供加减功能,也要提供乘除这些明示的功能(明示)、 如果产品时针对特殊人群使用,如针对程序员,需提供位转换功能;针对盲人,需提供触摸键盘和语音功能等等(明示)、 特定场景才能想到用到的功能,查看历史记录、日期计算等不常用功能(隐含) |
正确性 | 产品或系统提供具有所需精度的正确结果,也可以分两个层次来理解功能性中的正确性: - 第一个层次:对不对,即是提供的功能的结果是对的 - 第二个层次:即是满足精度要求 例子: 计算器 1+1=2、手机发送短信的内容有无丢失、金额保留2位小数、利率应针对不同的金额范围保证计算结果为两位小数 |
适合性 | 功能促使指定的任务和目标的实现程度 可以分两个个层次来理解功能性中的适合性: - 第一层次:有没有,即是系统提供的功能是用户所需要的 - 第二层次:是否合适,即是只提供用户必要的步骤即可完成任务,不含任何不必要的步骤 例子: 计算器的适合性就是是否有加减乘除功能 手机发送短信的适合性看手机能否有能进行发送和接受短信的功能 |
依从性 | 产品或系统遵守与功能性相关的标准、约定或者法规以及类似规定的程度 |
性能效率
是指在规定的条件下,相对于所用资源的数量,软件产品可提供适当性能的能力。
效率就是我们常说的产品性能, 效率包含4个自特性,如下所示:
特征 | 说明 |
---|---|
时间特性 | 产品或系统执行其功能时,其响应时间、处理时间以及吞吐量满足需求的程度 |
资源利用率 | 产品或系统执行其功能时,所使用资源数据量和类型满足需求的程度 |
容量 | 产品或系统参数最大限度满足需求的能力 |
效率的依从性 | 产品或系统遵循与效率相关的标准、约定或法规以及类似规定的程度 |
兼容性
在共享相同的硬件或软件环境的条件下,产品、系统或组件能够与其他产品、系统或组件交换信息,和/或 执行其所需的功能的程度。
兼容性包含3个子特性,这些子特性可以给我们提供分析兼容性要求的思考方向。
特征 | 说明 |
---|---|
共存性 | 在与其他产品共享通用的环境和资源的条件下,产品能够有效执行其所需的功能并且不会对其他产品造成负面影响的程度 |
互操作性 | 两个或多个系统、产品或组件能够交换信息并使用已交换的信息的程度 |
依从性 | 产品或系统遵循与兼容性相关的标准、约定或法规以及类型规定的程度 |
易用性
在指定的使用周境中,产品或系统在有效率性、效率和满意度特性方面为了指定的目标可为指定用户使用的程度。
注:易用性既可从它的子特性角度当前产品质量特性来进行指定和测量,也可以直接通过测度来进行指定和测量。
易用性包含下面7个子特征:
特征 | 说明 |
---|---|
可辨别性 | 用户能够辨识产品或系统是否适合他们的要求的程度。 注: 1. 可辨识性将取决于通过对产品或系统的初步印象和/或任何相关文档来辨识产品或系统功能的能力。 2. 产品或系统提供的信息可包括演示、教程、文档或网站的主页信息。 |
易学性 | 在指定的使用周境中,产品或系统在有效性、效率、抗风险和满意度特性方面为了学习使用该产品或系统这一指定的目标可为指定用户使用的程度。 |
易操作性 | 产品或系统具有易于操作和控制的属性的程度 |
用户差错防御性 | 系统防御用户犯错的程度 |
用户界面舒适性 | 用户界面提供令人愉悦和满意的交互的程度 |
易访问性 | 在指定的使用周境中,为了达到指定的目标,产品或系统被具有最广泛的特性和能力的个体所使用的程度。 注:能力的范围包括与年龄有关的能力障碍 |
易用性的依从性 | 产品或系统遵循与易用性相关的标准、约定或法规以及类型规定的程度 |
可靠性
系统、产品或组件在指定条件下、指定时间内执行指定功能的程度。
注:可靠性的种种局限是有需求、设计和实现中的故障或周境的变化所致。
易用性包含下面5个子特征
特征 | 说明 |
---|---|
成熟性(控制失效的频率) | 系统、产品或组件在正常运行是满足可靠性要求的程度 |
可用性 | 系统、产品或组件在需要使用时能够进行操作和访问的程度。 注:可通过系统、产品或组件在总时间中处于可用状态的百分比进行外部评估。可用性是成熟性、容错性和易恢复性的组合 |
容错性 | 尽管存在硬件或软件故障,系统、产品或组件的运行符合预期的程度。 |
易恢复性 | 在发生中断或失效时,产品或系统能够恢复直接受影响的数据并重建期望的系统状态的程度 注:在失效发生后,计算机系统有时会宕机一段时间,这段时间的长短由其易恢复性决定 |
可靠性的依从性 | 产品或系统遵循与可靠性相关的标准、约定或法规以及类似规定的程度 |
安全性
是指软件产品或系统保护信息和数据的程度,其可使用户、产品或系统具有与其授权类型、授权级别一致的数据访问程度。
安全性有被细分为6个子特性,这些子特性可以给我们提供分析安全性要求的思考方向:
特征 | 说明 |
---|---|
保密性 | 产品或系统确保数据只有在被授权是才能被访问。 安全性的保密性可以理解为:认证 + 授权。 例子: - 有认证和授权功能,产品、系统、组件需要通过认证才能访问。通过授权来确认访问者的访问权限,不能非法越权、提权、通过认证,如果不具备权限也不能访问系统数据 - 有加密功能,数据在存储和传输过程中均需要加密。 |
完整性 | 系统、产品或组件防止未授权访问、篡改计算机程序或数据的程度 |
抗抵赖性 | 活动或时间发生后可以被证实且不可被否认的程度 |
可核查性 | 实体的活动可以被唯一地追溯到该实体的程度 |
真实性 | 对象或资源的身份表示能够被证实符合其声明的程度 |
信息安全性的依从性 | 产品或系统遵循与信息安全性相关的标准、约定或法规以及类似规定的程度 |
可维护性
产品或系统能够被预期的维护人员修改的有效性和效率的程度
注:修改包括纠正、改进或软件对环境、需求和功能规格说明变化的适应维护性包括安装更新和安装升级维护性可以被解释为便于维护活动的一种产品或系统固有能力,或者为了产品或系统维护的目标维护人员所经历的使用质量。
可维护性包含6个自特性,具体如下:
特征 | 说明 |
---|---|
模块化 | 由多个独立组件组成的系统或程序,其中一个组件的变更对其他组件的影响最小的程度。 体现了研发模式的变化对质量的影响, 在DevOps下,虚拟化和容器成为很多系统的基础环境,服务/微服务成为流行架构的趋势更加明显,解耦 和 模块化已成为最基本的架构设计要求,与此同时,模块化进一步催生了可复用性的要求,避免重复造轮子。 |
可重用性 | 资产能够被用于多个系统,或其他资产建设的程度 |
易分析性 | 可以评估预期变更对产品或系统的影响。诊断产品的缺陷或失效原因、识别待修改部分的有效性和效率的程度。 可以理解为在系统出现问题后,技术支持或者开发可以快速定位问题所在的能力。很多产品中的日志、告警等功能,都属于易分析性。 |
易修改性 | 产品或系统可以被有效地、有效率地修改,且不会引入缺陷或降低现有产品质量的程度。 注: 1. 实现包括编码、设计、文档和验证的变更 2. 模块化和易分析性会影响易修改性 3. 易修改性是易改变性和稳定性的组合 |
易测试性 | 能够为系统、产品或组件建立测试准则,并通过测试执行来确定测试准则是否被满足的有效性和效率的程度。 易测试性可以帮助开发、测试快速确认结果,提高处理调试、测试和反馈问题的效率,对于测试来说,易测试性非常重要。 |
维护性的依从性 | 产品或系统遵循与维护性相关的标准、约定或法规以及类似规定的程度 |
可移植性
系统、产品或组件能够从一种硬件、软件、或者其他运行(或使用)环境迁移到另一种环境的有效性和效率的程度。
可移植性包含4个自特性,如下所示:
特征 | 说明 |
---|---|
适应性 | 产品或系统能够有效地、有效率地适应不同的或演变的硬件、软件或者其他运行(或使用)环境的程度。 注:实用性包括内部能力:如屏幕域、表、事务量、报告格式等,的伸缩性。 |
易安装性 | 在指定环境中,产品或系统能够成功地安装和/或鞋子的有效性和效率的程度(若最终产品会被最终用户安装,那么易安装性会影响功能合适性和易操作性) |
易替换性 | 在相同的环境中,产品能够替换另一个相同用途的指定软件产品的程度。 注: 1. 软件产品的新版本的易替换性在升级时对用户来说是重要的。 2. 易替换性可保留易安装性和适应性的属性。 3. 易替换性将降低锁定风险:因此其他软件产品可以替代当前产品,例如按标准文档格式使用。 4. 已替换性通常和升级功能有关,也会影响到易修改性。 已替换性还有另外一层深意,就是如果产品是按照标准来设计的,那么不同品牌的产品就是可以互联和胡替换的,换句话说,已替换性将降低用户被锁定的风险。 |
可移植性的依从性 | 产品或系统遵循与可移植性相关的标准、约定或法规以及类似规定的程度 |
参考资料:
https://www.doc88.com/p-1975040704794.html
https://blog.csdn.net/weixin_42176112/article/details/86980922
https://blog.csdn.net/wxt_hillwill/article/details/120949077