4+1视图模型
flowchart LR %% ===== 样式定义 ===== classDef user fill:#E3F2FD,stroke:#1E88E5,color:#0D47A1 classDef dev fill:#E8F5E9,stroke:#43A047,color:#1B5E20 classDef process fill:#FFF3E0,stroke:#FB8C00,color:#E65100 classDef physical fill:#F3E5F5,stroke:#8E24AA,color:#4A148C %% ===== 逻辑视图 ===== subgraph logical["逻辑视图 (Logical View)"] A["👤 最终用户<br>功能需求<br>类与对象"] end %% ===== 开发视图 ===== subgraph development["开发视图 (Development View)"] B["💻 程序员<br>模块划分<br>代码结构"] end %% ===== 进程视图 ===== subgraph process["进程视图 (Process View)"] C["⚙️ 系统集成<br>并发处理<br>性能扩展"] end %% ===== 物理视图 ===== subgraph physical["物理视图 (Physical View)"] D["🖥️ 部署环境<br>网络拓扑<br>通信机制"] end %% ===== 关系 ===== A -->|需求驱动| B A -->|性能需求| C B -->|部署实现| D C -->|运行支撑| D %% ===== 样式应用 ===== class A user class B dev class C process class D physical
核心思想
从不同视角描述软件体系结构,包括:逻辑视图、开发视图、进程视图、物理视图、用例视图
1.逻辑视图
面向对象:最终用户
关注点:功能需求
内容:
- 类
- 对象
2.开发视图
面向对象:程序员
关注点:代码结构
内容:
- 配置
- 装配
3.进程视图
面向对象:系统集成人员
关注点:运行时行为
内容:
- 并发
- 性能
- 吞吐量
- 可伸缩性
4.物理视图
**面向对象:系统工程师
关注点:部署结构
内容:
- 硬件节点
- 网络拓扑
- 部署方式
5. 用例视图(Use Case View)⭐核心
面向对象:分析人员 / 测试人员
作用:
- 驱动其他4个视图
- 描述系统功能场景
五大视图对比
| 视图 | 面向对象 | 关注点 |
|---|---|---|
| 逻辑视图 | 用户/设计者 | 功能 |
| 开发视图 | 程序员 | 代码结构 |
| 进程视图 | 集成人员 | 并发/性能 |
| 物理视图 | 系统工程师 | 部署 |
| 用例视图 | 分析/测试 | 场景 |
FAQ
什么是4+1视图模型?
4+1视图模型是一种从多个角度描述软件架构的方法,包括4个结构视图和1个用例视图。
为什么需要多个视图?
因为不同角色关注点不同,需要从不同角度理解系统。
哪个视图最核心?
用例视图,因为它驱动其他视图。