第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个阶段。

相关推荐
小坏讲微服务16 分钟前
SpringCloud零基础学全栈,实战企业级项目完整使用
后端·spring·spring cloud
humors22141 分钟前
服务端开发案例(不定期更新)
java·数据库·后端·mysql·mybatis·excel
Easonmax3 小时前
用 Rust 打造可复现的 ASCII 艺术渲染器:从像素到字符的完整工程实践
开发语言·后端·rust
百锦再3 小时前
选择Rust的理由:从内存管理到抛弃抽象
android·java·开发语言·后端·python·rust·go
小羊失眠啦.3 小时前
深入解析Rust的所有权系统:告别空指针和数据竞争
开发语言·后端·rust
q***71854 小时前
Spring Boot 集成 MyBatis 全面讲解
spring boot·后端·mybatis
大象席地抽烟4 小时前
使用 Ollama 本地模型与 Spring AI Alibaba
后端
程序员小假4 小时前
SQL 语句左连接右连接内连接如何使用,区别是什么?
java·后端
小坏讲微服务4 小时前
Spring Cloud Alibaba Gateway 集成 Redis 限流的完整配置
数据库·redis·分布式·后端·spring cloud·架构·gateway
方圆想当图灵5 小时前
Nacos 源码深度畅游:Nacos 配置同步详解(下)
分布式·后端·github