当前位置: 首页 > news >正文

系统架构设计(十八):ATAM

概述

**ATAM(Architecture Tradeoff Analysis Method)**是由美国卡内基梅隆大学 SEI(软件工程研究所)提出的一种用于评估软件架构方案的系统方法,核心目的是:

  • 评估架构是否满足质量属性需求(如性能、可用性、安全性等)
  • 识别架构决策中的权衡(Tradeoffs)
  • 揭示架构的风险、敏感点和权衡点

核心概念

术语含义
质量属性系统在非功能性方面的要求,如可用性、可扩展性、性能等
权衡点某一设计决策会对多个质量属性产生冲突影响的位置
敏感点架构中对系统质量属性产生重大影响的设计决策点
风险架构中潜在的不确定因素,可能导致质量属性无法满足

分析流程(关键步骤)

ATAM 分为 四个阶段,九个步骤,如下所示:

阶段 1:前期准备

  1. 介绍评估过程(Present ATAM)
  2. 介绍业务驱动(Present Business Drivers)
  3. 介绍架构(Present Architecture)
  4. 确认质量属性目标(Identify Architectural Approaches and Quality Attribute Goals)

阶段 2:分析评估

  1. 分析架构方法(Generate Quality Attribute Utility Tree)
    • 利用“实用树”(Utility Tree)列出系统质量属性的场景(如:系统在高并发下响应时间小于 1 秒)
  2. 分析架构方案的敏感点和权衡点
    • 通过分析发现架构中关键决策对多个属性的影响(例如缓存策略对性能和一致性的影响)

阶段 3:风险识别

  1. 分析风险、敏感点和权衡点
    • 如使用微服务提升可扩展性,但增加了部署和监控复杂度

阶段 4:总结与反馈

  1. 评估结果总结(Present Results)
    • 总结风险清单、敏感点、权衡分析、质量属性满足情况等
  2. 编写评估报告(Follow-up)

输出成果

  1. 质量属性实用树
  2. 架构中的风险项列表
  3. 敏感点与权衡点说明
  4. 对架构改进的建议
  5. 是否满足业务目标的分析报告

典型应用场景

  • 在系统架构评审阶段使用
  • 比较不同架构方案
  • 为后续详细设计提供方向
  • 作为决策支持工具,权衡不同的质量属性需求

相关文章:

  • Linux的启动流程
  • Win11怎样禁止程序开机启动
  • vue3项目动态路由的相关配置踩坑记录
  • 每日算法 -【Swift 算法】Z 字形变换(Zigzag Conversion)详解与实现
  • 第二十章 TIM——基本定时器
  • Javascript 学习
  • leetcode2947. 统计美丽子字符串 I-medium
  • AGI大模型(32):LangChain实现RAG
  • 探秘 C++ 计数器类:从基础实现到高级应用
  • (Git) 稀疏检出(Sparse Checkout) 拉取指定文件
  • SpringCloud (3) 配置中心
  • 【AT32】 at32 软复位
  • 利用GeoTools实现导出MySQL地理数据表为shp格式
  • DHT11介绍
  • 对于Python虚拟环境的理解
  • YOLOv8模型剪枝笔记(DepGraph和Network Slimming网络瘦身)
  • C++(29):结构体
  • SpringBoot Day_03|数据校验|异常处理|日志级别|定时器
  • 位运算及其算法
  • 并发编程 之 可见性、原子性、volatile、synchronized、Java内存模型的深入剖析
  • 做视频网站需要什么职位工作/东莞百度快速排名
  • 宁波高端网站设计价格/3d建模培训学校哪家好
  • 新网站如何做百度关键词/济南谷歌推广
  • 做网站万网/西地那非片多少钱一盒
  • 官网站内推广内容/seo的含义是什么意思
  • 服务好的网站开发/网站权重一般有几个等级