一、什么是架构图?
架构从字面意思上,是源于古代的建筑术语。把架构拆分成两个字“架”和“构”。“架”是“加”和“木”的结合,把木头加起来、连接起来就是架。“构”就是结构的意思。所以,“架构”就是把“木“按照一定的结构连接起来。
对应到软件架构,这里面的“木”代表什么,软件架构中的“结构”是什么,这些软件系统的“木”又是如何连接的?
-
关联到软件领域,木就是系统中的要素,我们将他们称之为架构要素。架构要素可以是子系统、模块、应用服务。
-
结构,是架构的产物。不同的软件系统会有不同的结构,这些结构是为解决不同场景而设计的。
-
连接,通过定义架构元素之间的接口和交互关系、集成机制,实现架构元素之间的连接。连接可以是分布式调用、进程间调用、组件之间的交互关系等。
架构是一种整体与局部关系的抽象描述,架构图是将软件所有的需求进行宏观地、系统地、抽象地描述,并通过图形的颜色以及结构设计展示出来。
二、为什么要画构图?
一图胜千言。要让人理解、遵循架构决策,就需要把架构信息传递出去。架构图就是一个很好的载体,那么,画架构图是为了:
-
解决沟通障碍
-
达成共识
-
减少歧义
-
进行模块化,抽象化的系统开发
-
实现系统的可复用性、可拓展性
三、由谁来画?
架构图是由架