系统架构的常用建模方法和评价架构的4+1观察视角

一、四种架构模型(建模的 4 种思路)

1. 结构模型【最常用】

关键词:构件、连接件、架构描述语言 ADL 通俗理解:把系统拆成一个个组件(构件),组件之间怎么相连(连接件),画出来系统长什么样。 比如微服务里各个服务就是构件,RPC 接口就是连接件。 重点描述:有哪些模块、模块之间怎么连接、有什么约束、是什么架构风格。 核心:静态长什么样,核心工具是架构描述语言 ADL。

2. 框架模型

关键词:不抠细节,看重整体大骨架,面向特定问题 和结构模型很像,但不去纠结每个组件内部细节。只搭大架子,用来解决某一类特定问题。 举例:MVC 框架,只规定分为 Model‑View‑Controller 三大块,不会规定每个类写什么代码。给一类问题提供整体骨架。

3. 动态模型

关键词:大颗粒行为、系统演化、重配置、激励触发 前面结构、框架更多偏向静态;动态模型看系统运行起来会发生什么变化 。 不是普通函数调用那种小动态,是大颗粒级别: 比如系统运行中重新扩容、动态增减服务节点、系统重构配置、启动 / 销毁通信链路。一般由某个事件 / 激励触发发生改变。 定位:是对结构 / 框架模型的补充。静态图纸 + 动态行为 = 完整。

4. 过程模型

关键词:构造系统的步骤、过程脚本 它不描述 "最终系统长啥样",而是描述怎么一步步把系统给搭建出来。 规定先干什么、后干什么,按照一套流程脚本,一步步得到最终架构。
✔小结 4 个模型考点:

  • 结构模型:构件 + 连接件,ADL,最普遍直观
  • 框架模型:整体骨架,忽略细节,面向特定问题
  • 动态模型:系统运行时大粒度行为、重配置、演化
  • 过程模型:构建系统的步骤流程
  • 四者不是互斥,需要组合使用。

二、4+1 视图(5 个观察视角)

4 个基础视图 + 1 个场景视图,场景用来验证前面 4 个视图。 每个视图只看系统的一个侧面,合在一起才是完整架构。

  1. 逻辑视角(逻辑视图) 面向功能需求;系统提供什么功能,抽象的模块、类、子系统、服务之间的逻辑关系。

回答:系统功能上分成哪些部分

  1. 过程视角(进程视图) 关注运行时,线程、进程、并发、同步、性能吞吐量。

回答:程序跑起来之后,进程线程怎么协作,并发如何处理。

  1. 开发视角(开发视图 / 实现视图) 面向开发人员,代码如何组织,模块划分、包、库、源码目录,模块如何编译划分。

回答:代码仓库里面代码怎么拆分组织。

  1. 物理视角(部署视图) 硬件层面,软件部署在哪台服务器、机器、容器,网络如何连接。

回答:各个程序组件安装、跑在哪台机器上。

  1. +1:场景视图(场景,用例) +1 的那个,起到粘合剂、验证的作用。用关键业务场景 / 用例,去检验逻辑、过程、开发、物理这 4 个视图设计是否合理。看业务流程能不能跑通。

记忆口诀:逻过开物场

逻辑、过程、开发、物理,场景。

🎯概念区分

  1. 4 种模型:是建模方法(你用什么思路去造模型) 结构、框架、动态、过程。
  2. 4+1 视图:是观察架构的视角(造好模型,从哪 5 个角度看它) 逻辑、过程、开发、物理 + 场景。
相关推荐
风123456789~1 小时前
【架构专栏】第7章 系统架构设计基础知识 3/3
架构·系统架构
天空之城--1 小时前
Flutter线程模型完全指南:从架构到实战
flutter·架构
头茬韭菜2 小时前
第 1 篇:「架构鸟瞰与 Memory 初始化」—— 从 pip install 到三个工厂
jvm·架构·pip·mem0
风123456789~2 小时前
【架构专栏】第7章 系统架构设计基础知识 2/3
架构·系统架构
励志不掉头发的内向程序员2 小时前
【LibreCAD 2D架构】RS_Line创建之后发生了什么?从图形容器到屏幕渲染
开发语言·c++·qt·学习·系统架构
vx-Biye_Design9 小时前
SSM伴侣动物伴护星小程序06330-计算机课程设计、毕业设计
spring boot·后端·elasticsearch·小程序·架构·课程设计·idea
X54先生(人文科技)11 小时前
ELR-SELLM Edge 神经元网络架构评估报告
人工智能·深度学习·架构·开源
微三云生态系统架构师-彭丹12 小时前
顶俏积分闭环S2B2C系统设计:以销定产与积分换货的技术实现
系统架构
小陈不好吃13 小时前
从单体到微服务:Spring Cloud Gateway 动态路由实战与踩坑记录
微服务·云原生·架构