知识卡片
面向特定质量属性的专门化评估方法
内容
在SAAM/ATAM这类通用场景评估方法之外,书中还介绍了六种针对特定质量属性深度定制的评估方法,各自的独特之处在于为该质量属性设计了专属的度量机制,而不是套用统一的场景评估流程。SBAR(基于场景的架构再工程)关注多个质量属性的权衡,创新点是为不同质量属性匹配不同评估技术——场景法适合可维护性/可重用性这类开发相关属性,仿真适合时间性能/容错能力这类操作相关属性,数学模型可与仿真互相替代,基于经验的推理则依赖专家的直觉和经验;评估可用”完整抽样”(覆盖所有场景,若全部通过则质量最优,但难以定义完整集合)或”统计抽样”(选代表性场景,难点在于如何判断代表性)。ALPSM(架构层可维护性预测)把”所做修改的大小”作为预测依据,定义”维护简档”(一组修改场景的集合),核心思路是把每个场景实现所影响的组件修改成本大小乘以该场景发生的概率、再求和,得到总体维护成本预测——它把”这个架构好不好维护”这个模糊判断,转化成了一个可以算出具体数字的加权期望值。SNA(可生存网络分析,SEI的CERT协作中心开发)关注系统受到攻击时的可生存性,通过必要服务/必要资产(受攻击时必须维持的部分)与可牺牲组件(可以被侵入、被破坏的部分)的划分,识别出”软弱组件”,再从抵御、识别、恢复三个维度分析——这个三分法本身就是可生存性领域的核心分析框架,抵御是防住攻击的能力,识别是发现攻击并估计损失的能力,恢复才是可生存性真正的标志(受攻击时维持必要服务/资产、限制破坏范围、事后恢复所有服务)。ALMA(架构层可修改性分析)假设”变更规模”是可修改性的最主要成本因素,根据分析目标(评估可维护性成本/预测风险/比较候选架构)选用不同技术,并明确给出了场景构建的停止准则——这解决了SBAR”统计抽样时不知该抽多少个场景”这个未解决的痛点。PASA(软件架构性能评估)借用软件性能工程(SPE)的原理,从架构风格的一般性能特性出发推理性能、再识别”性能错误模式”(把开发者常见错误文档化,描述场景性能问题及修复方式)、最后建立性能模型定量评估。SALUTA(基于场景的架构级易用性分析)针对易用性设计了”使用剖面”(用户/任务/使用上下文三元组构成的场景集合)和两种分析技术——基于易用性模式的分析(架构设计中出现的敏感模式决定易用性支持程度)和基于易用性属性的分析(把架构看作一组设计决策的集合,用易用性这个评估场景对各个决策单独评估)。