第8章 系统质量属性与架构评估篇(二)——软件系统质量属性

系统架构师备考日记(3.6)

第8章 系统质量属性与架构评估篇(二)------软件系统质量属性

考点

单项选择题(约占 8~15 分)和下午案例题(25 分),论文


系统架构评估是在对架构分析基础上,对架构策略的选取进行决策。 系统架构评估方法分为三类: 基于问卷调查或检查表:缺点是很大程度上依赖于评估人员的主观判断 基于场景的方式:架构权衡分析法(ATAM)、软件架构分析方法(SAAM) 基于度量的评估方法:先建立质量属性和度量之间的映射原则,然后从软件架构文档中获取度量信息,最后根据映射原则分析推导出系统的质量属性。

一、系统架构评估中的重要概念

(1)敏感点 一个或多个构件或多个构件之间的特性,实现质量目标时该注意什么。 (2)权衡点 是影响多个质量属性的特性,多个质量属性的敏感点。 (3)风险承担者(利益相关人) 影响架构和被架构影响的群体 (4)场景 为精确的得出具体质量目标而采用的机制称为场景,一般采用刺激、环境和响应三方面来进行描述

二、系统架构评估方法

2.1 软件架构分析方法SAAM

卡耐基梅隆大学软件工程研究所的Kazman等人1983年提出的一种粉功能质量属性的架构分析方法,最初用于比较不同软件体系架构,以分析系统架构的可修改性,后来证明也可用于可移植性、可扩充性。

  • SAAM主要输入是问题描述、需求声明和架构描述
  • SAAM分析评估架构的过程包括5个步骤,场景开发、架构描述、单个场景评估、场景交互和总体评估

2.2 架构权衡分析方法ATAM

主要针对性能、实用性、安全性和可修改性。 ATAM被分为4个主要的活动领域(阶段):场景和需求收集、架构视图和场景实现、属性模型构造和分析、折中,整个评估过程强调以属性作为架构评估的核心概念。

ATAM方法采用效用树来对质量属性进行分类和优先级排序。效用树的结构包括:树根-质量属性-属性分类-质量属性场景(叶子节点)

2.3 成本效益分析法CBAM

分为整理场景→对场景进行求精→确定场景的优先级→分配效用→架构策略涉及哪些质量属性及响应级别→使用内插法确定"期望的"质量属性响应级别的效用→计算各架构策略的总收益→根据受成本限制影响的 ROI 选择架 构策略。

2.4 其他评估方法

  • SAEM
  • SAABNet
  • SACMM
  • SASAM
  • ALRRA
  • AHP
  • COSMIC+UML

三、ATAM方法架构评估实践

分为4个基本阶段:演示、调查和分析、测试、报告

3.1 阶段1------演示

(1)介绍ATAM 评估过程描述,领导者说明评估中使用的分析技术以及评估的预期结果 (2)介绍业务驱动因素 着重于系统的业务视角,提供了有关系统功能、主要利益相关方、业务目标和系统其他限制 (3)介绍要评估的体系结构 侧重体系结构、时间可用性以及体系结构的质量要求。

3.2 阶段2------调查和分析

(1)确定架构方法 涉及能够理解系统关键需求的关键架构方法 (2)生成质量属性效用树 确定系统最重要的质量属性,并确定优先次序和完善。 (3)分析体系结构方法

  1. 调查架构方法
  2. 创建分析问题
  3. 分析问题的答案
  4. 找出风险、非风险、敏感点和权衡点

3.3 阶段3------测试

(1)头脑风暴和优先场景 将头脑风暴的优先列表与生成质量属性效用树中获取的先进方案进行比较。 (2)分析架构方法

3.4 阶段4------报告ATAM

将一下发现呈现给利益相关者

  • 一种效用树;
  • 一组生成的场景;
  • 一组分析问题;
  • 一套确定的风险和非风险;
  • 确定的架构方法;

总结

该章节主要记住常用的两种架构分析方法:SAAM、 ATAM 。着重背ATAM的4个阶段。

相关推荐
Asthenia04121 分钟前
深入剖析架构设计中的接入层:Nginx、LVS、F5详解与面试应对
后端
yuhaiqiang2 小时前
在公司写代码是工作,在开源社区写代码是生活
前端·后端
追逐时光者2 小时前
C#/.NET/.NET Core技术前沿周刊 | 第 35 期(2025年4.14-4.20)
后端·.net
洛神灬殇2 小时前
【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
数据库·redis·后端
雷渊3 小时前
DDD经典的四层架构和洋葱架构、六边形架构区别
后端
SimonKing3 小时前
【Spring Boot配置终极指南】1分钟让你精准指定配置文件,使应用部署游刃有余!
java·后端
雷渊3 小时前
深入分析理解洋葱架构
后端
程序媛学姐3 小时前
SpringBoot Actuator健康检查:自定义HealthIndicator
java·spring boot·后端
程序媛学姐3 小时前
SpringBoot Actuator指标收集:Micrometer与Prometheus集成
spring boot·后端·prometheus
欲儿3 小时前
RabbitMQ原理及代码示例
java·spring boot·后端·rabbitmq