C4模型中的Level 1(System Context Diagram,系统上下文图)是C4模型最顶层的抽象视图
📅 2026/7/4 4:21:49
👁️ 阅读次数
📝 编程学习
C4模型中的Level 1(System Context Diagram,系统上下文图)是C4模型最顶层的抽象视图,用于描述整个软件系统在更大环境中的位置和边界。它聚焦于“系统是什么、为谁服务、与哪些外部实体交互”,不涉及内部技术细节或组件结构。
- 名称:System Context(系统上下文)
- 内容:
- 展示目标系统作为一个整体(单个矩形框);
- 列出所有直接与该系统交互的外部用户(Person)和外部系统(Software System);
- 用带标签的箭头表示交互关系(如“登录”“查询订单”“同步数据”等);
- 不包含内部模块、容器、组件或代码细节;
- 面向对象:所有人(包括非技术人员),如业务干系人、产品经理、客户、管理者、开发、测试等——因其高度可视化、语言中立、无技术门槛,是统一沟通的起点。
该层级是C4建模的基石,确保所有参与者对系统范围和边界达成共识,避免理解偏差。
C4模型中Level 1(System Context Diagram)与Level 2(Container Diagram)的核心区别在于抽象层级、关注焦点、细节粒度和目标受众:
| 维度 | Level 1:System Context | Level 2:Container Diagram |
|---|---|---|
| 抽象层级 | 最高层(宏观全局视图) | 次高层(系统内部第一层分解) |
| 核心目标 | 回答“系统是谁的?和谁交互?”——界定系统边界与外部关系 | 回答“系统由哪些可部署/可运行的逻辑单元构成?”——揭示内部高层次运行时结构 |
| 建模元素 | 仅含:1个目标系统(单框)、外部用户(Person)、外部系统(Software System) | 含:目标系统内部的多个容器(如Web应用、移动App、数据库、API服务、第三方集成服务等),以及它们之间的通信关系 |
| 技术细节 | 零技术细节(不体现语言、框架、协议、部署方式) | 包含轻量级技术标识(如“Spring Boot API”“PostgreSQL”“React SPA”“AWS Lambda”),但不深入实现 |
| 面向对象 | 所有人(尤其非技术人员)——用于对齐业务范围与干系人共识 | 开发者、架构师、运维——用于理解系统分层部署与职责划分 |
| 典型用途 | 需求启动、售前沟通、架构愿景对齐、合规边界确认 | 架构设计评审、技术选型讨论、DevOps职责划分、微服务拆分起点 |
✅ 简言之:
- Level 1 是“系统在世界中的名片”(Who & What it connects to);
- Level 2 是“系统拆开后的主干骨架”(What it’s made of, at runtime)。
二者逐层递进,共同构成从战略到战术的技术沟通桥梁。
编程学习
技术分享
实战经验