系统架构图和硬件架构图,有什么区别?

发布于 2023-6-20 17:39
浏览
0收藏

Automotive SPICE模型、ISO 26262标准里面的“System(系统)”,是指由Software, Hardware, Mechanical等相关学科构成的,能够在整车层面实现一定功能的对象。单独的Software或单独的Hardware,不能称之为“System(系统)”。


很多时候,在和项目组讨论System Architecture Design时,项目组在开始的时候都往往会说:系统架构图就是硬件Block图啊!”


真的是这样吗?本文就这个话题进行讨论,也欢迎读者给出更多的观点和看法。


说明:本文后续描述中,假设构成系统的学科包括SW (Software), HW (Hardware), ME (Mechanical)。

系统架构设计

系统是由不同学科构成的,系统的实现需要不同学科共同来完成。那每个学科的职责是什么呢?学科之间的接口和交互是什么呢?这是系统架构设计需要解决的问题之一。


系统架构设计是对系统需求的Solution,主要包括:

  • 识别系统元素,并确定其所属的学科。
  • 将系统需求分配到系统元素,并据此识别系统元素之间的接口和交互。(即:系统元素与系统元素之间是如何来交互,从而实现的系统需求呢?)

系统架构图和硬件架构图,有什么区别? -汽车开发者社区

项目在完成系统架构设计后,接下来就会进行各个学科的设计和开发。HW学科会据此分析硬件需求和进行硬件架构设计,硬件架构设计中会包括硬件Block图。

情况1:

硬件Block图中的”硬件元素”与系统架构设计中”HW实现的系统元素”是一致的,如下图所示:

系统架构图和硬件架构图,有什么区别? -汽车开发者社区

这样的情况,表明了系统架构设计中包括了对硬件架构的限制。


不足之处也在于此:系统设计与硬件设计之间存在较强的耦合性。后续如果硬件设计发生了变更,则系统设计也需要变更。


这样的设计不符合“分层设计”、”低耦合度”等设计原则。


这样的场景,发生的可能条件,比如说:

  • 没有专门的系统工程师,系统设计是SW、HW、ME等各个学科的代表共同完成的。
  • 或者,系统工程师能力不足,没有足够的系统设计能力。

情况2:

硬件Block图中的”硬件元素”与系统架构设计中”HW实现的系统元素”之间,不存在一一对应的关系,如下图所示:

系统架构图和硬件架构图,有什么区别? -汽车开发者社区

这样的情况,表明了在系统架构设计中,没有包括对硬件架构设计的限制,给硬件设计留足了设计空间。


这样做的好处:

  • 系统设计与硬件设计之间不存在耦合性。(如果硬件设计改变了,系统设计可以不必修改)
  • 这样的设计,符合“分层设计”、”低耦合度”等设计原则。


因此,好的系统架构设计:

  • 应遵循相应的设计原则,例如:分层设计的原则
  • 不应对各个学科的设计实现,进行不必要的限制,应给各个学科的设计和实现有足够的空间。(除非必要,否则不予限制)
  • 系统架构设计中识别的由HW实现的系统元素,与,硬件架构设计中的硬件元素,可以不一一对应。
  • 系统架构设计中识别的由SW实现的系统元素,与,软件架构设计中的软件元素,可以不一一对应。


推荐阅读:


文章转载自公众号:仨人谈起

分类
收藏
回复
举报
回复
相关推荐