1. 架构评审概述

各位同学好,我是老张。今天咱们开始聊ASPICE流程里的架构评审。说实话,这个主题我讲了不下二十次,但每次讲都有新感悟。为什么?因为架构评审这东西,你做得越深,越发现它不光是技术活,更是个管理艺术。

什么是架构评审

架构评审,说白了就是一群人坐在一起,对着你的系统架构设计方案挑毛病。嗯,我故意说得这么直白。你想想看,一个汽车电子系统,少则几十个ECU,多则上百个,里面跑的软件动辄上千万行代码。如果不在设计阶段把架构理清楚,等到代码写完了再改,那成本可就大了去了。

我个人习惯把架构评审分成两类:

  • 正式评审:有流程、有模板、有签字确认。ASPICE里要求的那种。
  • 非正式评审:拉几个资深工程师,在白板前画一画,聊一聊。我经常干这事。

但不管哪种形式,核心目标都一样——尽早发现设计缺陷

关键点:架构评审不是走形式,不是为了让PM在甘特图上打个勾。它是实实在在的质量控制手段。

为什么在ASPICE中如此重要

这个问题我问过很多学员。有人说是为了过审核,有人说是客户要求的。这些都对,但没说到根子上。

ASPICE的SYS.3和SWE.2这两个过程域,专门针对架构设计。评审是其中的关键活动。我记得有一次帮一家供应商做流程改进,他们的架构评审就是走过场——评审会开了,问题也提了,但没人跟踪整改。结果呢?项目后期出了个严重的时序冲突问题,改了一个月才搞定。

为什么会这样?因为架构评审在ASPICE里承担着三个核心作用:

  1. 验证符合性:架构设计是否满足了系统需求?有没有遗漏?
  2. 识别风险:架构层面的技术风险、集成风险、性能风险。
  3. 建立基线:评审通过的架构,就是后续开发的基准。谁想改,得走变更流程。

说白了,ASPICE把架构评审当作一个质量门。过了这个门,你才能往下走。不过这个门,后面出了问题你都得自己扛。

注意:很多团队在ASPICE审核时被开不符合项,问题就出在评审记录不完整。评审了,但没证据。这在审核员眼里等于没做。

评审的总体目标

我总结了四个字:找茬、对齐

找茬,就是发现架构设计里的问题。比如:

  • 模块划分不合理,耦合度太高
  • 接口定义不清晰,数据流有歧义
  • 性能指标没满足,响应时间超标
  • 安全机制缺失,故障处理路径不完整

对齐,就是让所有干系人对架构达成一致理解。你想想看,系统工程师、软件工程师、测试工程师、项目经理,每个人对架构的理解可能都不一样。评审会就是把这些理解拉到同一个频道上。

我曾经遇到过一个项目,系统工程师画的架构图里有个模块叫"通信管理",软件团队理解成CAN通信,硬件团队理解成以太网通信。结果评审会上才发现,两边说的根本不是一回事。你说这评审重不重要?

我的建议:评审目标要写在会议邀请里,让参会者提前知道今天要解决什么问题。别搞成"大家来看看这个设计怎么样"——这种开放性问题,评审会容易跑偏。

最后说一句。架构评审不是一次性的活动。我习惯在架构设计的不同阶段做多次评审:

阶段 评审重点 参与角色
概念设计 方案可行性、技术选型 系统架构师、技术专家
详细设计 模块划分、接口定义 软件架构师、开发代表
实现前 时序分析、资源预算 性能工程师、测试代表

嗯,今天就先聊到这儿。下一节咱们具体讲讲评审的输入和输出,也就是评审前你要准备什么,评审后你要产出什么。这些东西搞清楚了,你的评审才不会流于形式。