常见的质量属性共有6个方面:
可用性,可修改性,性能,安全性,可测试性,易用性。
下面我们逐一理解下各自的含义:
1.可用性
可用性就是系统应能长期稳定地提供服务,近似7 X 24小时工作强度;
在负载过重或是系统崩溃的情况下,能保证用户请求不丢失;
当系统出现故障或崩溃时,恢复时间不超过两小时。
可用性是指系统正常运行时间的比例,是通过两次故障之间的时间长度或在系统崩溃情况下能够恢复正常运行的速度来衡量的
场景:双十一进行购物
(1)刺激源:大量用户
(2)刺激:同时登上淘宝网进行操作
(3)响应:采用分布式服务器进行处理
(4)响应度量:网站系统能不能保证用户进行购买商品。
2.可修改性
两个关注点:可以修改什么?何时以及谁进行修改。
刺激源: 开发人员
刺激: 修改用户界面
制品: 系统用户界面
环境: 设计时
响应: 进行修改且不会影响其他功能
响应度量: 3小时之内,完成更改
3.性能
淘宝在双十一的时候,访问量成倍增长,依然没有崩溃,说明性能还是经得起考验的。
刺激源: 用户
刺激: 随机事件到达,购买商品
制品: 系统
环境: 正常运行
响应: 请求被处理
响应度量: 响应时间不超过5.0秒
4.安全性
安全性是衡量系统在向合法用户正常提供服务的情况下,阻止非授权使用的能力。
试图突破安全防线的行为被称为“攻击”。攻击有以下三种方式:
(1)未经授权试图访问数据或服务。
(2)未经授权试图修改数据。
(3)试图使用系统拒绝向合法用户提供的服务
刺激源: 非授权用户
刺激: 试图修改数据,修改商品价格
制品: 系统中的数据
环境: 正常操作下
响应: 对用户验证,阻止访问数据
响应度量: 操作被拒绝,恢复数据
5.可测试性
指通过测试揭示软件缺陷的难易程度。特别地,假设软件中至少有一个错误,软件在下次测试运行时不能正常工作的可能性。
可测试性的响应度量处理的是测试在发现缺陷方面的效率以及想要达到某个期望的覆盖范围,需要用多长时间进行测试。
刺激源: 单元开发人员
刺激: 已完成构架和子系统的集成
制品: 代码段
环境: 开发时
响应: 准备集成环境
响应度量: 执行测试的时间
6.易用性
关注的是对用户来说完成某个期望任务的难易程度。分为以下几个方面:有效性、错误避免及错误处理、用户自信和满意度、可学习性
刺激源: 最终用户
刺激: 搜索商品时,根据品牌、价格进行筛选
制品: 系统
环境: 在运行时
响应: 显示筛选后的数据
响应度量: 97%的用户对结果满意