系统架构的常用建模方法和评价架构的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 个角度看它) 逻辑、过程、开发、物理 + 场景。
相关推荐
海宇数据6 小时前
零信任架构实战:基于海宇网上踪迹欺诈行为识别构建自动化信贷资信评估网关
运维·人工智能·架构·自动化
翼龙云_cloud7 小时前
亚马逊云服务器服务代理商:Bedrock 实践经验 Serverless 架构下的 AI 自动化落地
服务器·架构·serverless·云计算·aws
烛影摇红透纱窗7 小时前
AI从零介绍代码架构的复盘(含要使用的提示词)
人工智能·架构
小天源9 小时前
从 Nginx 日志到访问分析:轻量化网站监测服务的架构实践
jvm·nginx·网络安全·架构·网络监控
数据工匠老o9 小时前
异构数据库DDL同步:260条链路的结构变更自动适配方案
数据库·架构
破烂三角裤10 小时前
AI 应用上线后如何判断质量:Prompt 版本、评测集与可观测性
架构
第404号工位10 小时前
手机到底有没有偷听我们?我抓包了 72 小时,抓到了真凶
linux·人工智能·架构
这个DBA有点耶10 小时前
银行业市占率最高的国产数据库是谁?先搞清楚“市占率”的四种口径
数据库·程序员·架构
雾行0x0011 小时前
粗排:如何在毫秒级筛出值得精排的内容?
后端·架构
雾行0x0011 小时前
精排:推荐系统如何给内容打分?从多目标预估到分数融合
后端·架构