2.6.3 什么是系统架构
在系统设计中,一个非常重要的内容是“系统架构”。
什么是系统架构?这个问题我也多次在现场交流时问过大家,我发现很多工程师都说不清楚。
关于系统架构,维基百科也给出了一个非常好的定义。
A system architecture is the conceptual model that defines the structure, behavior, and more views of a system.
(系统架构是概念模型,定义了系统的结构、行为和更多的视图。)
关于这个定义,从字面上可以这样理解:
(1)系统架构是一个“概念模型”(Conceptual Model)。
(2)系统架构定义了系统的结构(Structure)、行为(Behavior),以及更多的视图(More Views)。
关于这个定义,这里给出另外一种解读,供大家参考。
(1)静。首先,从静止的角度,描述系统如何组成,以及系统的功能在这些组成部分之间是如何划分的。这就是系统的“结构”。一般要描述的是:系统包含哪些子系统,每个子系统有什么功能。在做这些描述时,应感觉自己是一名导游,带着游客在系统的各子系统间参观。
(2)动。然后,从动态的角度,描述各子系统之间是如何联动的,它们是如何相互配合完成系统预定的任务或流程的。这就是系统的“行为”。在做这个描述时,应感觉自己是一名电影导演,将系统的各种运行情况通过一个个短片展现出来。
(3)细。最后,在以上两种描述的基础上,从不同的角度,更详细地刻画出系统的细节和全貌。这就是“更多的视图”。
经过静、动、细三方面的描述,我们可以在脑海中“清楚地看到”一个系统。
另外,在一个系统中,系统架构在多个层次都有所体现。“总体设计”中包含对系统总体的系统架构描述;“子系统设计”中包含对子系统的系统架构描述。在这两个设计中,使用的设计方法是类似的,只是所在层次不同而已。