概念:软件系统质量属性是一个系统的可测量或者可测试的属性,用来描述系统满足利益相关者需求的程度。
开发期质量属性
运行期质量属性
1.面向架构评估的质量属性
架构评估方法所关注的质量属性
性能:指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或在某段时间内系统所能处理的事件个数
可靠性:软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力,
平均失效等待时间(Mean time to failure,MTTF)
平均失效间隔时间(Mean Time Between Failure,MTBF)
平均修复时间(Mean time to Repair,MTTR)
在失效率为常数和修复时间很短的情况下,MTTF和MTBF几乎相等
可靠性分两个方面
可用性:系统能正常运行的时间比例
安全性:系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。
可修改性:指能够快速地以较高性价比对系统进行变更的能力。
功能性:是系统能完成所期望的工作的能力
可变性:指架构经扩充或变更成为新架构的能力
互操作性:通过可视化或接口方式提供更好的交互操作体验
2.质量属性场景描述
质量属性场景:一个具体的质量属性需求,是利益攸关者与系统的交互的简短陈述
刺激源(Source):某个生成该刺激的实体(人、计算机系统或者任何其他刺激器)
刺激(Stimulus):该刺激是当刺激到达系统时需要考虑的条件
环境(Environment):该刺激在某些条件内发生。当激励发生时,系统可能处于过载、运行或其他情况
制品(Artifact):某个制品被激励。这可能是整个系统,也可能是系统的一部分
响应(Response):该响应是在激励到达后所采取的行动。
响应度量(Measurement):当响应发生时,应当能够以某种方式对其进行度量,以对需求进行测试。
系统架构评估方法分3类
系统架构评估中的重要概念
敏感点和权衡点:敏感点是一个或多个构件的特性,权衡点是影响多个质量属性的特性,是多个质量属性的敏感点
风险承担者或利益相关人:影响体系结构或被体系结构影响的群体
场景:确定架构质量评估目标的交互机制,一般采用触发机制、环境和影响三方面来描述。
SAAM主要的输入是问题描述、需求声明、架构描述,分析评估的过程包括5个步骤:场景开发、架构描述、单个场景评估、场景交互、总体评估;可修改性事SAAM分析的主要质量属性

在SAAM基础上发展来的,主要针对性能、实用性、安全性和可修改性,在系统开发之前,对这些质量属性进行评价和折中;用一组消息顺序图表示运行时的交互和场景;有3种不同类型的场景,分别是用例、增长场景、探测场景。
分4个主要的活动领域,分别是场景和需求收集、架构视图和场景实现、属性模型构造和分析、折中。

效用树的结构:树根——质量属性——质量分类——质量属性场景(叶子结点),主要关注4类质量属性:性能、安全性、可修改性、可用性。
CBAM在ATAM上构建,用来对架构涉及决策的成本和收益进行建模,思想就是架构策略影响系统的质量属性,反过来这些质量属性又会为系统的项目干系人带来一些收益
分4个基本阶段:演示、调查和分析、测试、报告ATAM

阶段1——演示
1)介绍ATAM:评估负责人向所有相关参与者提供ATAM过程的一般信息,领导说明评估中使用的分析技术以及评估的预期结果
2)介绍业务驱动因素:着重业务视角,提供有关系统功能、主要利益相关方、业务目标和其他限制等信息
3)介绍要评估的体系结构:侧重可以用以及体系结构的质量要求
阶段2——调查和分析
1)确定架构方法:涉及能够理解系统关键需求的关键架构方法。
2)生成质量属性效用树:确定最重要的质量属性,并确定优先次序
3)分析体系结构方法:彻底调查和分析,找出处理响应质量属性架构法人方法。包括4个阶段:调查架构方法;创建分析问题;分析问题的答案;找出风险、非风险、敏感点、权衡点
阶段3——测试
1)头脑风暴和优先场景
2)分析架构方法
阶段4——报告ATAM