ARTICLE · 1037678
02-软件架构设计入门
软件架构设计入门
软考高级 · 系统架构设计师|第 1 课建议用时:30~40 分钟用途:综合知识 + 案例分析 + 论文基础
本课目标
建立软件架构设计的完整骨架。学完后,你应能:
解释“什么是软件架构”; 识别六类常考质量属性; 判断常见架构风格及其适用场景; 区分 4+1 架构视图; 理解 ATAM 中的敏感点、权衡点和风险点。
一、软件架构设计的核心主线
软件架构不是“画几个框”,而是围绕业务目标作出一系列可解释、可验证、可权衡的高层技术决策。
软件架构 = 元素 + 关系 + 约束 + 决策依据
元素:系统有哪些核心构件、服务、模块、数据库和节点。 关系:元素之间怎样调用、通信、依赖和交换数据。 约束:必须遵守的技术、业务、合规、成本和部署条件。 决策依据:为什么这样拆分、为什么选这种风格、牺牲了什么、得到了什么。
架构设计五步主线
业务需求 → 质量属性 → 架构决策 → 架构视图 → 评估验证
考试主线:质量属性场景 → 架构风格与策略 → 4+1 视图 → SAAM / ATAM / CBAM 评估。
综合知识:考概念与辨析; 案例分析:考场景识别与方案落地; 论文:考架构决策、实施过程与质量属性权衡。
二、质量属性:决定架构长什么样
功能需求回答系统“做什么”; 质量属性回答系统“做得多好”,以及面对并发、故障、攻击和变化时表现如何。
2.1 质量属性场景六要素
刺激源 → 刺激 → 环境 → 制品 → 响应 → 响应度量
例:在系统正常运行期间,1 万名用户同时向订单服务提交请求,订单服务完成处理,并保证 95% 的请求在 2 秒内返回。
刺激源:1 万名用户; 刺激:同时提交订单请求; 环境:系统正常运行; 制品:订单服务; 响应:处理并返回结果; 响应度量:95% 请求在 2 秒内返回; 质量属性:性能。
易错点:
“10 天内接入新 API”是可修改性,不是性能; “故障后 5 分钟恢复”是可用性,不是可靠性计算; “10 分钟内定位故障实例”通常是可测试性。
三、常见架构风格
3.1 场景到架构风格
连续转换、步骤可替换 → 管道-过滤器; 规则动态变化、需要解释执行 → 解释器; 多个专家模块协同求解 → 黑板; 发布者不知道订阅者 → 事件驱动; 异构企业系统通过标准服务集成 → SOA; 自治团队、独立部署、弹性伸缩 → 微服务; 小型核心与可插拔功能 → 微内核。
四、4+1 架构视图
单张图无法同时满足业务、开发、测试、运维等角色的需要。4+1 模型使用多个视图描述同一个系统。
记忆口诀:逻辑看功能,开发看代码,进程看运行,物理看部署,场景串联验证。
五、架构评估:SAAM、ATAM、CBAM
5.1 四个必背概念
敏感点:某项架构决策的变化,会显著影响某一个质量属性。例:线程池大小显著影响性能。 权衡点:同一个决策同时影响多个质量属性,而且有利有弊。例:缓存提高性能,却可能损害一致性。 风险点:可能导致质量目标无法实现的架构决策。例:所有请求通过单实例网关,存在单点故障。 非风险点:经过分析,当前架构决策能够满足质量目标。
辨析口诀:敏感点看“影响大不大”;权衡点看“多个属性是否此消彼长”;风险点看“是否可能达不到目标”。
5.2 ATAM 基本过程
收集业务驱动因素和关键质量目标; 描述候选架构及主要方法; 建立质量属性效用树并确定优先级; 分析架构方法与质量属性场景; 识别敏感点、权衡点、风险点和非风险点; 汇总结果并提出架构改进建议。
六、综合案例:电商订单系统
某电商系统有以下要求:
双十一峰值达到 5 万 TPS,95% 请求在 800ms 内完成; 任一订单节点故障后 20 秒内恢复; 三天内能够接入一个新的物流服务商; 所有管理员操作必须可追溯; 商品价格变化后,缓存中允许最多延迟 3 秒生效。
七、即时自测
1. 质量属性判断
系统应支持开发人员在 3 个工作日内接入一种新的支付渠道。这主要属于哪一种质量属性?
查看答案与解析
答案:可修改性。关键词是“接入新渠道”和“3 个工作日内完成修改”。可采用统一支付接口、适配器模式和插件化策略。
2. 架构风格判断
数据需要依次经过解析、清洗、转换和输出,每个步骤可以独立替换。最适合哪种架构风格?
查看答案与解析
答案:管道-过滤器。各处理步骤是过滤器,数据通道是管道;优点是复用与替换方便,缺点是不适合强交互应用。
3. 架构评估概念
线程池从 50 调整到 200 后,系统吞吐量显著提升。线程池大小在架构评估中属于什么?
查看答案与解析
答案:敏感点。该决策变化对性能产生显著影响。若同时导致资源占用上升并影响成本,也可能成为权衡点。
4. 架构视图判断
描述服务器节点、容器、网络连接和部署区域,应使用 4+1 模型中的哪个视图?
查看答案与解析
答案:物理视图。也称部署视图,面向系统工程师与运维工程师。
5. 质量属性权衡
某方案通过增加缓存提升查询速度,但可能读取到短暂的旧数据。这属于哪类架构评估结论?
查看答案与解析
答案:权衡点。缓存决策同时影响性能和数据一致性,两个质量目标此消彼长。
八、当日记忆卡片
今日达标检查
我能不看资料复述架构设计的五步主线。 我能根据度量词识别性能、可用性、可修改性等质量属性。 我能说出至少 6 种架构风格的适用场景。 我能区分 4+1 的五个视图。 我能区分敏感点、权衡点和风险点。
下一课
架构风格与模式深挖:分层、管道-过滤器、事件驱动、解释器、黑板、微内核,以及它们在真题场景中的选择方法。
系统架构设计师每日课程 · 第 1 课|生成日期:2026-09-19|配套总纲:01-知识大纲.html