软件产品质量模型8个属性_功能的依从性-程序员宅基地

技术标签: 功能测试  

软件产品质量模型最新的是GB/T 25000.10—2016,该国标对应的国际标准为ISO/IEC 25010—2011。软件产品质量模型将一个软件产品需要满足的质量要求总结为8个属性(功能性、兼容性、安全性、可靠性、易用性、效率、可维护性和可移植性),每个属性又可细分出了很多子属性。

软件产品质量模型对产品设计时需要考虑的地方进行了高度概括。一个高质量的产品,一定是一个在质量的8个属性上都设计得很出色的产品;如果一个产品的设计在质量的8个属性上存在缺失,这个产品的质量一定不会太高。

1. 功能性

软件产品质量属性中的功能性是指软件产品在指定条件下使用时,提供满足明示和隐含要求的功能的能力

功能性又被划分成4个“子属性”,这些“子属性”给了我们分析“明示”+“隐含”需求的思考方向完备性指功能集对指定任务和用户目标的覆盖程度。正确性指产品或系统提供具有所需精度的正确结果。适合性指功能促使指定的任务和目标实现的程度。功能的依从性指产品或系统遵循与该功能相关的标准、约定或法规。

2. 兼容性

软件产品质量属性中的兼容性是指软件产品在共享软件或者硬件的条件下,产品、系统或者组件能够与其他产品、系统或组件交换信息实现所需功能的能力

3. 安全性

软件产品质量属性中的安全性是指软件产品或系统保护信息和数据的程度,其可使用户、产品或系统具有与其授权类型、授权级别一致的数据访问程度

对于一个应用或服务来说,安全性不仅需要考虑这个应用或服务本身,还需要考虑这个应用或服务承载的系统或者平台。对于C/S或者B/S架构的产品来说,不仅要考虑“端点”(Client、Browser和Server)本身的安全性,还要考虑数据在网络传输过程中的安全性。对于云架构的产品,还要考虑云端的安全性,从“云”-“管”-“端”整体去考虑。

从产品设计的角度来说,无论产品的目标对象是什么,形态是什么,都至少需要具备如下功能(又称产品隐藏的安全需求)来满足基本的安全属性。

1)认证和授权功能:产品、系统、组件需要通过认证才能访问,通过授权来确认访问者的访问权限,不能非法越权、提权。

2)加密功能:数据在存储和传输过程中均需要加密。

3)审计功能:提供审计功能,并能将审计信息存储足够长的时间(如6个月)。

其中“认证和授权功能”和“加密功能”主要满足“保密性”和“真实性”方面的要求;“审计功能”主要满足“抗抵赖性”和“可核查性”方面的要求。产品自身在设计上还需要有一定抵御攻击的能力,来满足“完整性”方面的要求。

产品自身防脆弱性基本要求,能够抵御端口、用户口令、用户权限、数据传输、安全存储、重放、异常协议、web管理平台或接口的8种安全性攻击,对不

当产品在受到攻击时,可能会对业务造成影响,但是在攻击消除后,产品和系统应该能快速恢复,这个隐含的要求在“可靠性——易恢复性”中描述。

4. 可靠性

软件产品质量属性中的可靠性是指在特定条件下使用时,软件产品维持规定的性能级别的能力

第一层:产品、系统最好不要出故障,即成熟性

第二层:产品、系统对故障和异常有一定的容忍度,出现故障了不要影响主要的功能和业务,即容错性

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

可用性代表成熟性(不要出故障,控制失效的频率)、容错性(对故障的容忍度)和易恢复性(控制每个失效发生后系统无法工作的时间)的组合,实际工作中常用系统、产品可用状态百分比来评估可用性,也就是常说的几个9。

“几个9”是衡量系统可用性的一种标准方式,其表示产品、系统在1年的使用过程中最多可能出现的业务中断时间。

MTBF(Mean Time Between Failure)为平均故障间隔时间。

MTTR(Mean Time To Repair)为平均故障修复时间。

系统在遭遇攻击后,产品、系统应该能快速恢复,这个隐含的要求也属于可靠性,也就是易恢复性。

5. 易用性

软件产品质量属性中的易用性是指用户在指定条件下使用软件产品时,其被用户理解、学习、使用,以及吸引用户的能力。总结8个字:易懂、易学、易用、漂亮。

可辨识性有比较丰富的内涵:第一,要求产品可以自动辨别当前的使用环境是否符合基本要求,如操作系统的要求、浏览器版本的要求、系统资源(如CPU、内存、硬盘)的最小要求等;第二,用户要能够方便地知道产品能够提供哪些功能,例如很多产品都提供了升级后对新功能进行自动介绍或演示的功能,除此之外,产品提供的配套教程、网页等也算可辨识性;第三,产品要直观、易于理解

用户差错防御性是指系统有引导用户进行正常操作,避免出错的能力,例如配置向导功能。

用户界面舒适性主要包含两个方面的内容:第一,产品的吸引力,包括风格、设计感、配色等;第二,页面交互能力,如为用户配置页面的跳转功能、提高增删查改操作的方便性等。

易访问性中要求产品在设计时可以考虑使用者的使用障碍,如年龄障碍、能力障碍等。一个比较典型的例子是在进行UI设计配色时,需要考虑色弱因素,保证色彩之间不仅色相有差异,明度也要拉开层次,增加特殊人群的辨识度。

易用性还需要充分考虑各种“隐喻”,例如我们常用“红色”来隐喻严重错误或警告,如果我们用“蓝色”来标识错误,就会让用户觉得不易用。

6. 效率(性能)

软件产品质量属性中的效率指在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力

7. 可维护性

软件产品质量属性中的可维护性是指软件产品可被修改的能力。这里的修改是指软件产品被纠正、改进,以及为适应环境、功能、规格变化被更新。

模块化属性是ISO/IEC 25010—2017和GB/T 25000.10—2016新增加的,体现了研发模式的变化对质量的影响。在DevOps下,虚拟化和容器成为很多系统的基础环境,服务/微服务成为流行架构的趋势更加明显,“解耦”和“模块化”已成为最基本的架构设计要求。与此同时,模块化也进一步催生了可复用性要求,很多公司都有专门的架构师来负责平台、中台或者通用组件的规划和建设,避免“重复造轮子”。

易分析性是指在系统出现问题后,开发者可以快速定位问题所在的能力。很多产品中的日志、告警、troubleshooting等功能,都属于易分析性。

易修改性对外的一个重要体现就是产品的升级能力。企业级产品往往对升级都有比较严格的要求,比如升级不能影响业务、能够及时判断升级是否成功(如果升级失败了还要有回退机制)。

易测试性简单来说就是我们可以很方便地确认系统某个功能是否满足预期。对于易测试性,用户一般不会直接关注(用户往往在出了问题且需要开发者提供已修复证明的时候才会关注),所以常常被开发者和测试者忽视。易测试性可以帮助开发者、测试者快速确认结果,提高处理调试、测试和反馈问题的效率。

8. 可移植性

软件产品质量属性中的可移植性是指软件产品从一种环境迁移到另外一种环境的能力。这里的环境,可以理解为硬件、软件或系统等不同的环境。

适应性,产品能够正常运行在应当支持的不同的硬件、操作系统、平台、浏览器、终端(手机、Pad)上。

如果产品能够被最终用户安装,那么易安装性也会影响易操作性、易修改性和功能性。

易替换性通常和升级功能有关,也会影响到易修改性。但是易替换性还有另外一层深意,就是如果产品是按照标准来设计的,那么不同品牌的产品就是可以互联和互替换的。换句话说,易替换性将降低用户被锁定的风险。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_58335587/article/details/130084971

智能推荐

linux C获取键盘信息_linux/input.h 键盘编号-程序员宅基地

文章浏览阅读5.4k次,点赞4次,收藏13次。#include <stdio.h>#include <unistd.h>#include <termios.h> static struct termios initial_settings, new_settings;static int peek_character = -1;void init_keyboard(void);void clo..._linux/input.h 键盘编号

SaltStack数据系统_comment: no top file or master_tops data matches f-程序员宅基地

文章浏览阅读69次。文章目录1SaltStack数据系统2 SaltStack数据系统组件2.1 SaltStack组件之Grains2.2 SaltStack组件之Pillar2.3 Grains与Pillar的区别1SaltStack数据系统SaltStack有两大数据系统,分别是GrainsPillar2 SaltStack数据系统组件2.1 SaltStack组件之GrainsGrains是SaltStack的一个组件,其存放着minion启动时收集到的信息。Grains是SaltStack组件中非_comment: no top file or master_tops data matches found. please see master lo

error C2668: “swap”: 对重载函数的调用不明确_swap对重载函数的调用不明确-程序员宅基地

文章浏览阅读3.4k次,点赞6次,收藏3次。当出现这个错误提示的时候,很有可能代码并没有问题,而是编译器的设定问题。测试代码如下:#include using namespace std;//函数模板templatevoid swap(T &a,T &b){ T temp; temp = a; a = b; b = temp;}int main(int ,char **){ int a = 1, b _swap对重载函数的调用不明确

ZYNQ PCIe EP实现DMA+Linux交互,非常简洁的程序_c++ 往pcie发送数据-程序员宅基地

文章浏览阅读1w次,点赞8次,收藏120次。ZYNQ PCIe-DMA源码 例程 PS-PL交互 linux/裸机 verilog C/C++ZYNQ PCIe-DMA的实现过程一、概述二、基础知识三、系统总框架四、工作原理与工作模式五、接口时序六、资源使用情况七、PS-PL交互以及测试程序ZYNQ PCIe-DMA的实现过程近期在网上淘来个源码,看了之后觉得还不错。完全刷新我对ZYNQ的认知啊,原来ZYNQ也可以这么玩的。PS-PL交..._c++ 往pcie发送数据

Python-Django毕业设计员工宿舍管理系统(程序+Lw)_用python设计一个宿舍管理系统,要求能实现寝室信息的增加、删除、修改、查询以及-程序员宅基地

文章浏览阅读173次。该项目含有源码、文档、程序数据库、配套开发软件、软件安装教程项目运行环境配置:Pychram社区版py项目技术:django + python+ Vue 等等组成,B/S模式 +pychram管理等等。环境需要1.运行环境:最好是python3.7.7,我们在这个版本上开发的。其他版本理论上也可以。2.pycharm环境:pycharm都可以。推荐pycharm社区版;3.mysql环境:建议是用5.7版本均可。_用python设计一个宿舍管理系统,要求能实现寝室信息的增加、删除、修改、查询以及

linux使用apache搭建http服务器(文件服务器)_linux怎么搭http apache服务器-程序员宅基地

文章浏览阅读8.4k次,点赞5次,收藏41次。一、安装Apache$ sudo apt-get install apache2二、修改服务器访问端口Apache2的默认访问端口为80,可修改为其他端口(当端口被占用时需要更改其访问端口)进入apache2的安装目录 /etc/apache2/,修改ports.conf文件$ cd /etc/apache2/$ sudo chmod 775 ports.conf$ vim po..._linux怎么搭http apache服务器

随便推点

巴比特 | 元宇宙每日必读:传Meta计划将其VR头显Quest推向中国市场,正与腾讯进行洽谈,腾讯方回应称不予置评...-程序员宅基地

文章浏览阅读149次。摘要:据《科创板日报》7 月 4 日报道,有消息称,Meta 将重返中国,已经与多家中国科技公司进行了讨论,目前可能会和腾讯进行合作,后者或成为 Meta Quest 系列头显的独家经销商,且将为 Quest 头显开发 VR 游戏。对此,腾讯回应表示,不予置评。图片来源:由无界AI生成热点资讯腾讯将发布面向大模型训练的自研向量数据库据《科创板日报》7 月 4 日报道,腾讯云将在今日下午正式发布自研...

shell实例手册-程序员宅基地

文章浏览阅读151次。0 说明{ 手册制作: 雪松 更新日期: 2015-05-13 欢迎系统运维加入Q群: 198173206 # 加群请回答问题 欢迎运维开发加入Q群: 365534424 # 不定期技术分享 请使用"notepad++"或其它编辑器打开此文档, "alt+0"将函数折叠后方便查阅 请勿删除信息, 转载请说明出处, 抵制不道德行..._gawk '{ sum += $2 }; end { print sum }' /

NotImplementedError: Could not run ‘torchvision::nms‘ with arguments from the ‘CUDA‘ backend. This c_could not run torchvision::nms-程序员宅基地

文章浏览阅读610次。https://stackoverflow.com/questions/75103127/getting-notimplementederror-could-not-run-torchvisionnms-with-arguments-fr_could not run torchvision::nms

HTC硬件介绍_htc是什么硬件-程序员宅基地

文章浏览阅读399次。其中最重要的是头盔中两个屏幕,用的是比较高端的三星AMOLED屏幕,屏幕尺寸对角线为91.8mm,PPI(每英寸集成的像素)达到了447(像素密度越高表现出来的画面就更细腻)。体验者可以在一个小范围的空间中行走,体验制作好的内容。是通过摄像头不停的采集周围环境的图像来达到设备的姿态估计(比如噪音等一些没用的信息也会影响到它的准确性)。是通过计算机视觉,以及设备自身自带的传感器比如陀螺仪、加速器来实现位置的追踪。不需要外部硬件来定位。由LED阵列和横向纵向的两个马达,马达以非常高的频率扫描场景中的定位。_htc是什么硬件

基于 Python 深度学习的车辆特征分析系统,附源码_pycharm实时检测车辆及源码-程序员宅基地

文章浏览阅读1.7k次,点赞25次,收藏29次。而在机动车的自动识别过程中,通过利用深度学习的算法来让计算机通过不断地获取信息要素形成信息库,可以更好的提升计算机对于车辆的识别能力。本次就是通过利用了深度学习技术结合Python开发工具来设计一款能够在线通过图片分析来识别车辆的品牌的软件。_pycharm实时检测车辆及源码

matlab采样点数傅里叶变换,【 MATLAB 】模拟信号采样及离散时间傅里叶变换(DTFT)案例分析...-程序员宅基地

文章浏览阅读1.1k次。中使用的模拟信号: 为了研究在频域数量上的采样效果,对该信号使用两种不同的采样频率采样。a. 在 fs = 5000 对信号进行采样,求出并画出其离散时间傅里叶变换;b. 在 fs = 1000 对信号采样,求出并画出其离散时间傅里叶变换。题解:上篇博文也分析了,信号的带宽为2kHz,奈奎斯特频率就为 4000 样本/s,它小于第一问给出的采样频率,所以频谱混叠几乎不存在。我们通过MATLAB验证..._采样点时间轴变换matlab

推荐文章

热门文章

相关标签