E6 · 出版卷 28

架构评审

权衡、技术债、迁移与弃用

*权衡、技术债、迁移与弃用*

架构视点通过证据关口汇聚到迁移、发布或重新考虑
架构视点通过证据关口汇聚到迁移、发布或重新考虑

学习目标

本课是通用、机构中立内容,不使用任何真实公司、个人、矿权、项目或可识别地点。通用角色只描述职责,SYN-ARCH 标识符明确表示合成教学证据。

  • 界定由“权衡、技术债、迁移与弃用”治理的决定。
  • 在选择实现前建立相关边界、状态与合同模型。
  • 定义可测不变量、故障证据与安全发布后果。
  • 基于合成证据产出一套包含决定、迁移关口与未解决风险的完整架构评审包并为其权衡辩护。

决策边界

架构评审判断的是提议系统能否以可信证据支持声明决定与风险,而不是图是否看起来完整。通过利益相关方关注点和独立视点评审:语境、信息、功能职责、并发、部署、安全、运行与演进。对每项重要选择,依据质量场景、专业边界、约束与不确定性比较可行备选。结论可以是接受、有条件接受、退回补证或拒绝。未解决风险、技术债与非目标保持可见;批准不会把假设变成事实。

核心概念

关注点是对利益相关角色重要的问题;视点定义该问题的证据如何组织;视图是生成的表示。架构决定记录捕获语境、选项、证据、决定、后果、状态与重新考虑触发条件。技术债是某项选择产生的已知未来约束或代价,不是对不喜欢代码的模糊标签。迁移通过有界状态与兼容关口改变正在运行的证据系统。弃用是与消费端的合同:包含替代、警告、观察、证据保留路径与移除条件。

系统模型与合同

评审包包含范围与非目标、利益相关角色图、需求与风险追踪、视点目录、系统与数据边界、合同、来源与版本政策、权限模型、性能预算、测试组合、遥测与恢复计划、决定记录、技术债登记、迁移计划、弃用计划及未解决发现。决定矩阵记录标准、证据单位、不确定性与后果,不能用无法解释的总分掩盖判断。依赖关系显示每个迁移步骤影响哪些合同、数据、测试、运行与消费端。

不变量与验收标准

| 不变量 | 测试证据 | 发布后果 | |---|---|---| | 每项架构主张都追踪到关注点、证据与评审处置。 | 合同测试与反例记录 | 阻止发布 | | 备选方案依据相同声明决定标准比较。 | 回放比较与摘要检查 | 隔离制品 | | 批准签署一个不可变架构与证据基线。 | 基于角色的验收追踪 | 把决定返回为未解决 | | 迁移保留身份、历史与经过测试的安全停止边界。 | 故障注入与恢复记录 | 保留上一已验证版本 | | 技术债与未解决风险在有证据关闭前保持可见。 | 依据声明证据的领域审查 | 记录明确评审发现 |

量化工程

对适用关注点、需求、风险、控制与测试测量追踪完整度,但比例必须附缺失的高后果项目。决定矩阵只有在声明尺度与方向时才能规范量度;权重表达评审判断并接受敏感性分析。迁移量度包括已转换和验证总体、协调差异、双读或双写不一致、回退就绪、弃用使用组与未解决例外。质量场景保留各自单位与阈值。一个综合分数不能抹去失败的安全、完整性或专业边界关口。

数据质量、证据与不确定性

评审证据建立版本且可检查:代表性工作负载、合同、清单、图、威胁与故障场景、基准、测试结果、恢复演练、消费端清单与领域发现。主张区分实测、观测、派生、假设与未知。备选分析使用相同决定标准,不能只为首选方案提供更丰富证据。概念验证测试选定不确定性并明确标记;除非实际运行相应条件,否则它不能证明规模、安全、可恢复性或机构适配。

互操作性与版本

每个评审项具有稳定身份、关注点、证据链接、发现、严重级别或后果、处置、责任角色、触发条件与关闭证据。决定记录与视图定义随架构基线建立版本。迁移合同定义来源和目标身份、映射、兼容窗口、验证、协调、切换、回退边界与保留历史。弃用通知标识确切合同版本和可测移除关口。批准签署一个不可变评审包;后续变化需要影响分析以及新建或修订决定记录。

安全与专业责任

评审访问应有边界,因为图、故障场景与迁移路径可能暴露受保护结构。需要广泛沟通时发布脱敏视图,而获授权评审者保留确切证据。后果要求职责分离时,任何评审者都不能独自批准其设计、实现并测试的控制。迁移身份获得临时最小权限,并在验证后到期。兼容桥接被视为新增攻击与故障面。归档评审证据受完整性保护,保留政策跟随受影响科学与运行记录。

运行流程与可观测性

架构评审在批准后通过决定触发条件与运行证据继续。合同、数据规模、参考模型、威胁、专业边界、质量目标、依赖或消费端发生实质变化时触发复审。迁移按演练阶段进行,每阶段具有进入和退出证据、受监测使用组、协调与经过测试的停止条件。弃用使用按消费端与决定后果测量。只有约束与验收证据解决后才能关闭技术债,不能因登记项不方便而关闭。定期评审移除过期假设,同时保留历史理由。

集成检查点

把“架构评审”制品连接到本卷前面的架构。追踪一个合成对象从来源身份穿过新边界到达已审查输出,再把一个拒绝或故障追溯到最早被违反的不变量。更新架构决定记录,写明所选方案、备选方案、假设、证据、后果、责任角色、评审状态与重新考虑触发条件。只有另一位审查者无需口头说明即可重建成功路径与阻断路径,检查点才通过。

合成案例

SYN-ARCH-13 因一个原型加载更快而提议替换某条存储与交付路径。评审发现原型遗漏历史版本、受限范围、恢复证据与两个消费合同。备选方案依据相同正确性、性能、安全、恢复与迁移标准比较。所选路径使用不可变目标包、双读比较、有界兼容适配、使用组监测与别名移动前回退点。批准以协调、恢复演练与领域审查为条件;未解决数值容差继续作为明确风险,而不是隐藏假设。

练习与考核

  1. 声明决定需要哪些关注点与视点?
  2. 哪些证据支撑每个选项、权衡与未解决风险?
  3. 哪些迁移关口证明身份、兼容性与恢复?
  4. 哪种运行变化会触发重新考虑该决定?

考核制品:一套包含决定、迁移关口与未解决风险的完整架构评审包。提交时附来源清单、验收证据、未解决风险,并简要说明为何没有选择一个合理备选方案。

常见失败模式

  • 评审组件流行度而不是决定、关注点与证据。
  • 只给首选方案比备选更强的证据。
  • 用综合分数掩盖失败的高后果关口。
  • 没有协调与安全停止条件就原地迁移。
  • 依赖证据与消费端仍需要合同时就移除它。

来源与延伸阅读