软件质量属性

系统架构设计师 8:系统质量属性与架构评估 怎么感觉自己逐渐远离技术了? 阅读详情
 

软件质量属性

软件属性包括功能属性和质量属性,但是软件架构重点关注的是质量属性。架构的基本需求主要是在满足功能属性的前提下,关注软件质量属性。软件的质量属性可列举很多,也有各种不同的分类法和不同的表述。一般将质量属性分为3类:

●     系统的质量属性。可用性,可修改性,性能,安全性,可测试性和易用性。

●     受架构影响的商业属性(上市时间)。

●     与架构本身相关的一些质量属性(如概念完整性),它们会间接影响其他质量属性,如可修改性。

1.一般质量属性场景

如何描述质量属性需求呢?一般采用质量属性场景作为一种规范。 质量属性场景是一种面向特定的质量属性的需求。它由6部分组成:

     刺激源:这是某个生成该刺激的实体(人、计算机系统或者任何其他刺激器)。

     刺激:该刺激是当刺激到达系统时需要考虑的条件。

     环境:该刺激在某些条件内发生。当刺激发生时,系统可能处于过载,或者运行,也可能是其他情况。

     制品:某个制品被刺激。这可能是整个系统,也可能是系统的一部分。

     响应:该响应是在刺激到达后所采取的行动。

     响应度量:当响应发生时,应当能够以某种方式对其进行度量,以对需求进行测试。

 2.可用性一般场景:所关注的方面包括系统故障发生的频率、出现故障时会发生什么情况、允许系统有多长是将非正常运行、什么时候可以安全地出现故障、如何防止故障的发生以及发生故障时要求进行哪种通知。   

场景的部分

可能的值

源

系统内部、系统外部

刺激

疏忽、崩溃、时间、响应

制品

系统的处理器、通信通道、持久存储器、进程

环境

正常操作、降级模式

响应

系统应该检测事件、并进行如下一个或多个活动:

将其记录下来通知适当的各方,包括用户和其他系统                                                                                            根据已定义的规则禁止导致错误或故障的事件源

在一段预先指定的时间间隔内不可用,其中,时间间隔取决于系统的关键程度在正常或降级模式下运行

响应度量

系统必须可用的时间间隔

可用时间

系统可以在降级模式下运行的时间间隔

修复时间                                 

                                  

3.可修改性一般场景。

 

 

场景的部分

可能的值

源

最终用户、开发人员、系统管理员

刺激

希望增加、删除、修改、改变功能、质量属性、容量

制品

系统用户界面、平台、环境或与目标系统交互的系统

环境

在运行时、编译时、构建时、设计时

响应

查找架构中需要修改的位置,进行修改且不会影响其他功能,对所做的修改进行测试,部署所做的修改

响应度量

根据所影响元素的数量度量的成本、努力、资金;该修改对其他功能或质量属性所造成

影响的程度                                                                  

 

                              

4.性能一般场景。

场景的部分

可能的值

源

大量的独立源中的一个,可能来自系统内部

刺激

定期事件到达;随机事件到达;偶然事件到达

制品

系统

环境

正常模式;超载模式

响应

处理刺激;改变服务级别

响应度量

等待事件、期限、吞吐量、抖动、缺失率、数据丢失                                                                  

5.安全性一般场景。

场景的部分

可能的值

源

正确识别、非正确识别或身份未知的个人或系统它来自内部/外部;经过了授权/未授权

它访问了有限的资源/大量资源

刺激

试图

显示数据、改变/删除数据、访问系统服务、降低系统服务的可用性

制品

系统服务、系统中的数据

环境

在线或离线、联网或断网、连接有防火墙或者直接连到了网络

响应

对用户身份进行认证;隐藏用户的身份;阻止对数据或服务的访问;允许访问数据或服

务;授予或收回对访问数据或服务的许可;根据身份记录访问/修改或试图访问/修改数

据/服务;以一种不可读的格式存储数据;识别无法解释的对服务的高需求;通知用户或

另外一个系统,并限制服务的可用性

响应度量

用成功的概率表示,避开安全防范措施所需要的时间/努力/资源;检测到攻击的可能性;

确定攻击或访问/修改数据或服务的个人的可能性;在拒绝服务攻击的情况下仍然获得

服务的百分比;恢复数据/服务;被破坏的数据/服务和/或被拒绝的合法访问的范围                                                                 

6. 可测试性一般场景。

    

场景的部分

可能的值

源

开发人员、增量开发人员、系统验证人员、客户验收测试人员、系统用户

刺激

已完成的分析、架构、设计、类和子系统集成;所交付的系统

制品

设计、代码段、完整的应用

环境

设计时、开发时、编译时、部署时

响应

提供对状态值的访问、提供所计算的值、准备测试环境

响应度量

已执行的可执行语句的百分比

如果存在缺陷出现故障的概率

执行测试的时间

测试中最长依赖的长度

准备测试环境的时间                                                                  

7. 易用性一般场景

场景的部分

可能的值

源

最终用户

刺激

想要

学习系统特性、有效使用系统、使错误的影响最低、适配系统、对系统满意

制品

系统

环境

在运行时或配置时

响应

系统提供以下一个或多个响应来支持“学习系统特性”

帮助系统与环境联系紧密;界面为用户所熟悉;在不熟悉的环境中,界面是可以使用的    系统提供以下一个或多个响应来支持“有效

    使用系统”

数据和/或命令的聚合;已输入的数据和/或命令的重用;支持在界面中的有效导航;具有一致操作的不同视图;全面搜索;多个同事进行的活动

系统提供以下一个或多个响应来“使错误的影响最低”

撤销;取消;从系统故障中恢复;识别并纠正用户错误;检索忘记的密码;验证系统资源

系统提供以下一个或多个响应来“适配系统”

定制能力;国际化

系统提供以下一个或多个响应来使客户“对系统的满意”

显示系统状态;与客户的节奏合拍

响应度量

任务时间、错误数量、解决问题的数量、用户满意度、用户知识的获得、成功操作在总

操作中所占的比例、损失的时间/丢失的数据量                                                                  

8. 质量属性场景

质量属性

刺激

可用性

不期望的事件、期望的时间不发生

可修改性

请求添加删除改变功能、平台、质量属性或容量

性能

周期性的、随机的或偶然的

安全性

试图

显示、修改、改变/删除信息、访问或降低系统服务的可用性

可测试性

系统开发阶段的完成

易用性

想要

学习系统特性、有效使用系统、使错误的影响最低、适配系统、对系统满意                                                                 

9商业质量属性

   a上市时间

   b成本和收益

   c所希望的系统生命期的长短

   d目标市场

   e推出计划

   f与老系统的集成

10架构的质量属性

   a概念完成性:在各个层次上统一系统设计的根本指导思想。

   b正确性和完整性:架构能够满足系统的各种需求以及运行时的资源要求的必要条件。

   c可构建性:保证能够由指定的开发小组在规定的时间里及时开发系统,并允许在开发过程中做某些更改的架构属性。

  

软件质量属性知识概要 质量属性知识概要 作者 kagula 初版日期 2020-5-31 最后更新日期 概要 本文是对全国计算机技术与软件专业技术资格(水平)考试系统架构师考试指定用书中的软件质量属性及质量属性实现策略的整理与摘要. 正文 质量属性 软件质量是软件架构的重要关注点, 下图列出了软件常见质量属性, 容易混淆的属性用红色标记了出来. 性能是指系统的响应能力,即要经过多久时间才能对某个事件做出响应, 或则在某段时间内系统所能处理事件的个数. 可用性系统能够正常... 阅读详情

相关推荐

【系统架构设计师】十二、系统质量属性与架构评估(开发期质量属性|运行期质量属性|面向架构评估的质量属性|质量属性效用树|质量属性场景)

软件系统质量属性 (Quality Attribute)是一个系统的可测量或者可测试的属性,用来描述系统满足利益相关者 (Stakeholders)需求的程度。基于软件系统的生命周期,可以将软件系统的质量属性分为开发期质量属性和运行期质量属性2个部分。

帅次的博客 6922

软件产品质量六属性

功能性,可靠性,易用性,效率,可维护性,可移植性 1.功能性 a.适合性:软件产品为特性的任务和用户提供一组适合功能的能力 b.准确性:软件产品提供具有所需精确的正确或相符的结果及效果的能力 c.互操作性:软件产品与一个或多个特性,系统相互配合的能力 d.安全性:软件产品保护信息和数据的能力,以保证维护授权的用户或系统不能阅读和修改这些信息与数据,而合法用户或系统不会被拒绝访问 e.功能顺从性:软件产品符合和该功能相...

qq_33271275的博客 4794

Python实战:用Sinkhorn算法搞定最优传输问题(附完整代码)

本文详细介绍了如何使用Python实现Sinkhorn算法解决最优传输问题,包括算法原理、关键步骤和完整代码示例。通过实际案例(如图像颜色迁移)展示其高效性和稳定性,适合机器学习开发者和数据科学家应用于分布匹配等场景。

weixin_30879169的博客 97

西电软件体系结构CH4:理解质量属性

note:从这章开始,是考试的重点。熟背,考试的题型参考期末复习PPT即可。

weixin_45745854的博客 679

逆向Shopee签名机制:从参数分析到稳定采集方案

本文深入解析了Shopee签名机制的逆向过程,从参数分析到稳定采集方案的实现。通过抓包定位关键参数`sap-ri`和`x-sap-sec`,还原了签名生成算法,并提供了Python实现代码。文章还分享了反反爬策略、性能优化技巧及长期维护建议,帮助开发者构建稳定的Shopee数据采集方案。

weixin_27722377的博客 672

ComfyUI的G-Dino模型加载器报错解决方案:从崩溃到重生

遇到G-Dino模型加载器报错不要慌,按照本文的步骤操作,99%的问题都能解决。模型文件正确下载到指定位置segment_anything节点安装完整且无冲突需要补充更多细节或故障排除方法吗?可以随时告诉我。

2301_78150483的博客 4023

软件质量属性 14

摘要:软件架构(software architecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计软件架构是一个系统的草图。软件体系结构是构建计算机软件实践的基础。究其原因是为了给软件定义良好结构使其具有更好结构标准的规则使其能有更好的维护扩展以及伸缩性同时又可以把控代码的质量,然而 软件质量是贯穿软件生存期的一个极为重要的问题,是软件开发过程中所用的各种开发技术和验证方...

weixin_30887919的博客 393

STM32H743必要外围电路分析

写在前面:这篇博客是我第一次绘制STM32最小系统板的过程记录。 2020-1-11 BOOT STM32采用ARM内核,和ARM处理器一样,都有专门的boot脚决定单片机从何处启动。 在官方数据手册的第105页,我们可以看到 系统复位后,在SYSTICK的第四个上升沿锁存BOOT引脚的值,复位后,BOOT引脚可以由用户自由配置而不会影响系统正常运行。 BOOT引脚决定了自举存储器地址,当BO...

Cui_Hongwei的博客 1万+

软件质量属性包括哪些

软件质量属性划分为运行期质量属性和开发期质量属性两大类。开发期质量属性其实包含了和软件开发,维护和移植这三类活动相关的所有质量属性,这些是开发人员,开发管理人员和维护人员都非常关心 的,对最终用户而言,这些质量属性只是间接地促进用户需求的满足;而运行期 质量属性是软件系统在运行期

踏雪无痕 1万+

数据分析案例-车辆二氧化碳排放量数据可视化分析

本实验数据集来源于Kaggle,该数据集捕获了车辆二氧化碳排放量随不同特征变化的详细信息。数据集取自加拿大政府官方开放数据网站。其中包含 7 年期间的数据。总共有 7385 行和 12 列。各列变量含义解释如下:Make:车辆的品牌或制造商。Model:车辆的具体车型名称。Vehicle Class:车辆的分类,如紧凑型、SUV等。Engine Size(L):车辆发动机的尺寸,以升为单位。Cylinders:车辆发动机的气缸数。

m0_64336780的博客 1万+

如何在 Windows 中实时打开字幕

在 Windows 操作系统中,你可以使用编程来实现实时字幕功能,以便在屏幕上显示即时的文字内容。下面是一个示例代码,展示了如何使用Python编程语言在Windows上实现实时字幕功能。这样,字幕窗口将会不断地显示系统当前时间作为字幕。你可以根据自己的需求修改主循环中的内容,以显示你想要的实时字幕。希望以上代码和说明能够帮助你在Windows中实现实时字幕功能。函数创建了一个顶级窗口,并设置窗口的样式、位置和大小。方法,用于在字幕窗口中显示指定的字幕内容。上述代码中,我们使用了Python的。

DevWizard的博客 3270

收藏:软件质量属性关系矩阵

比如安全性增加,会影响性能,所以“安全-性能”这个单元格是“-”号。

jackyrongvip的专栏 356

飞牛fnNAS虚拟机标准安装

飞牛NAS是一款基于Debian开发的国产免费NAS系统,支持x86架构设备,可将闲置硬件改造为NAS服务器。系统安装简便,支持多种存储模式与硬盘休眠功能,具备智能影视管理、照片备份等实用功能,并提供多种远程访问方式。飞牛NAS还支持Docker扩展,目前已承诺永久免费。文章详细介绍了在VMware虚拟机中安装飞牛NAS的步骤,包括下载镜像、创建虚拟机、初始化设置等过程,并展示了创建共享文件夹等基本操作,帮助用户快速上手这款功能强大的免费NAS系统。

dgnankai的专栏 3257

定义软件质量属性

定量地确定重要属性提供了对用户期望的清晰理解,这将有助于设计者提出最合理的解决方案( Gilb 1988)。在一个项目中,分析员想出了对于不同的用户类可能很重要的属性,并根据每一个属性设计出许多问题。他们利用这些问题询问每一个用户类的代表,可以把每个属性分成一级(不必多加考虑的属性)到五级(极其重要的属性)。如果你不能定量地确定某些对你的项目很重要的属性,那么至少应该确定其优先级。这一节的剩余部分将简要地介绍列在表11 - 1中的每一个质量属性,并提出一些有助于用户陈述他们对质量属性期望的问题。

技术日常 264

AUTOSAR从入门到精通-【应用实战篇】车载HMI-ADAS

ADAS是高级驾驶辅助系统(Advanced Driving Assistance System)简称ADAS。ADAS高级驾驶辅助系统是利用安装于车上的各式各样的传感器, 在第一时间收集车内外的环境数据, 进行静、动态物体的辨识、侦测与追踪等技术上的处理, 从而能够让驾驶者在最快的时间察觉可能发生的危险, 以引起注意和提高安全性的主动安全技术。

lin_xiu的博客 1435

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

软件质量属性的场景描述

质量属性:可用性,可修改性,性能,安全性,可测试性和易用性。 质量属性场景:   刺激源:生成该刺激的实体(人、计算机系统或其他励志器);   刺激:刺激达到系统时可能产生的影响(即需要考虑和关注的情况);   环境:该刺激在某条件内发生。如系统可能正处于过载情况;   制品:系统中受刺激的部分;   响应:刺激到达后所采取的行动;   响应度量:当响应发生时,以某种方式对响应的效果进行度量。...

weixin_30656145的博客 1693

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

上一篇: 怎样的架构才算好?
下一篇: 实现软件架构质量属性的战术
thinkingforever
博客等级 码龄24年 29粉丝 8原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值