质量属性场景是一种分析和挖掘质量属性涉及、关注的内容的方法,通过构建场景来具体化质量属性的要求和挑战。每个质量属性场景都包含几个关键元素:刺激源、刺激、环境、制品、响应和响应度量。这些元素共同作用,模拟实际使用环境中可能遇到的情况,从而评估系统的质量属性表现。
关键要素
刺激源(Source):
定义:触发场景发生的实体或条件。
示例:用户尝试访问网站、外部系统发送数据请求等。
刺激(Stimulus):
定义:刺激源产生的具体行为或事件。
示例:用户输入了错误的密码、外部系统发送了大量的并发请求。
环境(Environment):
定义:刺激发生时的上下文或条件。
示例:网络延迟较高、系统处于高负载状态。
制品(Artifact):
定义:受刺激影响的系统部分或组件。
示例:登录模块、数据库服务器、负载均衡器等。
响应(Response):
定义:系统对刺激的响应行为。
示例:系统拒绝用户登录、启动负载均衡策略、返回错误信息等。
响应度量(Response Measurement):
定义:用于量化评估系统响应效果的指标或参数。
示例:登录失败次数、响应时间、吞吐量、系统资源利用率等。
小结
一个清晰的质量属性场景描述应该包含以下结构:
场景编号或名称:唯一标识该场景。
刺激源:明确触发场景发生的实体或条件。
刺激:详细描述刺激源产生的具体行为或事件。
环境:说明刺激发生时的上下文或条件。
制品:指出受刺激影响的系统部分或组件。
响应:描述系统对刺激的响应行为。
响应度量:提供用于量化评估系统响应效果的指标或参数。
示例场景
例如,一个关于“系统登录功能”的可用性质量属性场景描述可能如下:
场景名称:系统登录功能在高并发环境下的可用性
刺激源:大量用户同时尝试登录系统
刺激:系统接收到大量并发登录请求
环境:网络状况良好,但系统处于高负载状态
制品:登录模块、数据库服务器
响应:系统能够正常处理并发请求,快速验证用户身份并返回结果
响应度量:登录成功率、平均响应时间、系统资源利用率(如CPU、内存)等。
总结
刺激源:生成该刺激的实体(人、计算机系统或其他励志器);
刺激:刺激达到系统时可能产生的影响(即需要考虑和关注的情况);
环境:该刺激在某条件内发生。如系统可能正处于过载情况;
制品:系统中受刺激的部分;
响应:刺激到达后所采取的行动;
响应度量:当响应发生时,以某种方式对响应的效果进行度量。
例子为淘宝:
1、可用性:
刺激源:某一商品跳楼价打折
刺激:大量消费者进入店铺下单消费
环境:正常操作
制品:服务器承载能力受到刺激
相应:购物页面卡顿,点击无相应
响应度量:部分用户掉线退出,恢复正常
2、可修改性:
刺激源:淘宝APP进行更新,开发人员修改代码
刺激:淘宝APP暂时维护,增加部分功能
环境:APP的平台,系统功能等等
制品:新版本的淘宝APP
相应:增添部分功能或修复部分BUG
响应度量:过去的BUG消失或增加了新功能
3、性能:
刺激源:服务器承载能力较差
刺激:开发人员进行代码优化和服务器承载能力的提升
环境:超载模式
制品:新版的承载能力更强的淘宝APP
相应:能承接同一时间更多用户同时访问
响应度量:大量用户一同访问时APP正常工作
4、安全性:
刺激源:用户的信息或者资金出现安全漏洞
刺激:开发人员努力开发,修复漏洞
环境:不法分子黑入系统盗走用户资金或信息
制品:更安全,不易被攻破的淘宝APP
相应:用户的信息和资金充分保密和保护
响应度量:不再出现用户利益被侵害的现象
5、可测试性:
刺激源:系统测试人员
刺激:对系统功能执行测试
环境:需要加入新功能或者修改原功能
制品:修改或新加了系统的某个功能
相应:用户纷纷使用新功能
响应度量:大量用户反馈好评
6、易用性:
刺激源:用户
刺激:用户想进行网购操作
环境:正常运行
制品:淘宝APP
相应:想要简单的点击付款自动填入之前的收货地址
响应度量:点击提交订单后自动填入默认地址,直接付款,快速完成交易。
例:
为了精确描述软件系统的质量属性,通常采用质量属性场景(Quality Attibute Scenario)作为描述质量属性的手段。质量属性场景是一个具体的质量属性需求,是利益相关者与系统的交互的简短陈述,它由刺激源、刺激、环境、制品、( )六部分组成。其中,想要学习系统特性、有效使用系统、使错误的影响最低、适配系统、对系统满意属于( )质量属性场景的刺激。
A.响应和响应度量 B.系统和系统响应 C.依赖和响应 D.响应和优先级
A可用性 B.性能 C.易用性 D.安全性
答案: A 、C