网上的资料各有不同。这里给出一版我的定义。
| 视图 | 内容 | 作用 |
|---|---|---|
| 用例视图 | 用例图。从用户角度出发,梳理技战法平台的所有使用场景(用例) | 圈定功能范围 |
| 逻辑视图 | 对系统的静态描述: 1. 定义系统的逻辑元素(模块、组件),并分配职责 2. 描述逻辑元素间的关系:接口、组织架构等 |
描述系统的组成部分 对系统进行逻辑分解,尽量做到高内聚低耦合,便于分锅 |
| 过程视图 | 对系统的动态描述: 1. 组件之间的数据流向(即我们常用的数据流图) 2. 复杂交互流程及关键点“特写”(如并发) |
描述系统的运行过程,便于理解整个系统是怎么运转的,及每个模块发挥了什么作用 |
| 开发视图 | 具体写代码时需要关注的部分: 1. 技术栈:(语言、框架、类库、中间件) 2. 代码规范 3. 逻辑架构元素对应的代码位置(模块、包、类文件) 4. 系统的构建信息: 1. 构建依赖 2. 构建工具链 3. 构建环境信息 |
逻辑架构元素、代码、二进制交付件可以一一对应 |
| 部署视图 | 描述两种关系: 1. 二进制交付件,与软件环境的部署关系 2. 软件环境与物理环境的部署关系 相关定义: - 软件环境:虚拟机、容器、进程、线程 - 物理环境:服务器、PC 终端 |
- 对于每一个逻辑元素、每一段代码,知道最终运行在什么位置 - 对于一个运行环境,知道部署在上面的逻辑架构元素、代码是什么 |
参考: