4+1 视图定义

网上的资料各有不同。这里给出一版我的定义。

视图
内容
作用
用例视图 用例图。从用户角度出发,梳理技战法平台的所有使用场景(用例) 圈定功能范围
逻辑视图 对系统的静态描述:

  1. 定义系统的逻辑元素(模块、组件),并分配职责
  2. 描述逻辑元素间的关系:接口、组织架构等
描述系统的组成部分

对系统进行逻辑分解,尽量做到高内聚低耦合,便于分锅

过程视图 对系统的动态描述:

  1. 组件之间的数据流向(即我们常用的数据流图)
  2. 复杂交互流程及关键点“特写”(如并发)
描述系统的运行过程,便于理解整个系统是怎么运转的,及每个模块发挥了什么作用
开发视图 具体写代码时需要关注的部分:

  1. 技术栈:(语言、框架、类库、中间件)
  2. 代码规范
  3. 逻辑架构元素对应的代码位置(模块、包、类文件)
  4. 系统的构建信息:
    1. 构建依赖
    2. 构建工具链
    3. 构建环境信息
逻辑架构元素、代码、二进制交付件可以一一对应
部署视图 描述两种关系:

  1. 二进制交付件,与软件环境的部署关系
  2. 软件环境与物理环境的部署关系

相关定义:

  • 软件环境:虚拟机、容器、进程、线程
  • 物理环境:服务器、PC 终端
  • 对于每一个逻辑元素、每一段代码,知道最终运行在什么位置
  • 对于一个运行环境,知道部署在上面的逻辑架构元素、代码是什么

 

参考: