
大家好,我是人月聊IT,今天讲下架构图绘制核心逻辑。
架构图是软件系统设计的重要表达工具,但很多人在绘制时常常陷入混乱——不同层次的概念混杂在一起,导致架构图既不能准确传达设计意图,也无法指导具体实施。本文将系统阐述架构图绘制的核心方法论,帮助你理解不同架构视图的本质差异和适用场景。

一个完整的架构图可以拆分为"两边+中间"的结构。两边通常放置横切关注点,如安全管理、质量管理、技术标准规范、开发运维规范等支撑性内容。中间部分则是核心的分层架构,需要根据具体场景选择合适的分层模型。
在分层设计中,云计算和SOA架构提供了重要的参考逻辑。核心分层通常包括资源层、平台层、应用层和门户层。应用层本身还可以按业务域、价值链或业务生命周期进一步细分。现代架构更强调"平台+应用"的构建模式,通过服务层(SOA平台或API能力开放平台)统一接入和发布服务,形成资源、服务、应用的松耦合架构。
架构本身是多视角的,不同视角服务于不同的受众和目的。功能架构面向用户和业务人员,技术架构服务于开发团队,而部署架构则是运维工程师搭建系统的重要依据。理解这些视角的本质差异,是绘制清晰架构图的前提。
切忌将不同维度的架构属性随意融合,这会导致架构图混乱不堪,既无法准确传达设计意图,也会给实施带来困扰。
云计算架构遵循经典的IaaS-PaaS-SaaS三层模型。IaaS层是资源层,包括计算、存储、网络等基础设施;PaaS层涵盖各类平台,如技术平台、集成平台、数据平台等;SaaS层对应应用即服务的理念。
在实际构图时,常常需要根据场景扩展这个模型。例如构建物联网应用时,会在底层增加网络和感知层;体现服务化开发思路时,会增加独立的服务层或能力开放层。
云计算架构分层模型主要用于顶层整体架构规划,重点体现云架构分层、平台化应用构建以及各应用域和具体应用的布局。在这类架构图中,各个应用通常只是一个小方框而不展开细节,但能清晰呈现基于云平台构建了哪些应用系统。这种架构图常见于智慧城市、智慧政务、企业整体IT架构规划等场景。
应用技术架构描述的是应用内部的技术实现分层,如Java开发中的数据访问层、业务逻辑层、展现层,或领域模型中的领域服务层、应用层、界面接口层。
技术架构的重点不是说明应用有哪些功能,而是阐明每个功能如何通过技术分层实现——从数据库结构定义、数据访问接口开发、业务规则逻辑编写,到前端界面展现设计,最后将所有分层内容连接起来。
应用技术架构关注的是应用实现的技术层面,而非底层IT基础设施资源。因此在技术架构图中不应涉及底层的具体资源或平台,如果增加了IT基础设施、存储等内容,就会显得不伦不类。
应用功能架构需要体现应用的业务模块和具体业务功能点,而不是技术架构分层。但功能架构同样需要体现分层逻辑。
一个简洁的方式是:最下层抽象为基础技术支撑层,包含与业务无关的基础技术支撑功能;中间是应用功能层,可按业务域和业务功能逐层展开;最上层是门户层。
在应用功能层的描述中,如果业务应用有完整的生命周期或阶段线条,可以按阶段排列功能模块。底层通常放置基础数据管理、元数据管理等功能模块。当需要体现应用与外部系统的集成关系时,可以在纵向单独增加接口集成模块。
集成架构不仅要体现各个IT系统,更重要的是呈现系统之间的集成关系、关键集成点以及核心的数据流。这类架构图可以理解为传统软件工程中数据流图的演进。
构图的难点在于整体IT系统的布局和系统间接口连接线的设计。如果设计不当,集成架构图会显得非常凌乱。这是一个需要不断优化调整的过程,没有统一的方法可循,需要在实践中积累经验。
部署架构体现IT基础设施的关键内容,如应用层、接入层、汇聚层的网络拓扑结构。在绘制系统部署架构时,通常不体现应用层的功能内容,而是呈现核心系统的IT基础设施,如数据库服务器、中间件服务器、缓存服务器等。
部署架构中不应体现云平台的分层架构,也不体现应用分层架构,只需列清楚具体的物理资源或逻辑资源,以及资源的接入和汇聚情况即可。
中台本质上是一个业务概念,是原来应用层中可共享的共性业务能力的下沉。在中台架构下,应用层拆分为前台应用和中台能力层。
中台架构的分层应该是:前台应用+中台能力+后台。这里的后台也是业务能力的实现,例如企业传统的ERP系统就可以下沉为后台应用层能力。基于后台能力构建抽象的共享服务适配层,这个适配层就是中台能力,在某种意义上更类似一个服务层。
SOA架构分层的重点是体现独立的服务层。组件属于逻辑资源层的概念,而服务是资源对外暴露的能力抽象。
在SOA架构中,需要单独呈现业务服务能力和技术服务能力。当业务系统拆分为多个组件、服务域和流程时,构图的重点是将组件、服务域和流程清晰体现出来。服务层应该展示具体的API服务接口,如果服务接口数量大,通常会划分到服务域级别,如用户中心服务、采购类服务等。
虽然SOA架构分层、云平台分层、应用技术架构分层等各有应用场景,通常不混用,但有时也需要融合多种分层思想。
例如需要在一个架构图中既体现技术架构分层,又体现SOA和云的平台+应用架构思想,就可以采用横向+纵向结合的方式。具体做法是:将技术架构的分层转变为纵向描述,而横向重点体现云和SOA的架构分层,这样整体思路会更加清晰。
绘制清晰、准确的架构图需要深入理解不同架构视图的本质和适用场景。云计算架构用于顶层规划,应用技术架构关注实现细节,应用功能架构面向业务人员,部署架构指导运维实施,集成架构呈现系统间关系。
掌握各种分层逻辑的核心要点,避免不同维度概念的混用,根据实际需要灵活选择和组合架构模式,才能绘制出既能准确传达设计意图,又能有效指导实施的高质量架构图。这是一个需要在实践中不断积累经验和优化调整的过程。
附加NotebookLM输出的PPT材料如下:












