全部模板

数据流图模板

映射数据在系统中的流动——从输入到处理到输出。适合系统分析和需求文档。

使用此模板

模板亮点

  • 外部实体、处理过程和数据存储
  • 带数据标签的有向流箭头
  • 支持多层分解

这个模板适合做什么

数据流图(DFD)展示数据在系统中的流动方式:数据从哪里来、经过哪些处理环节、存储在哪里、最终去往何处。与展示组件关系的架构图不同,数据流图聚焦于数据本身——使其成为理解系统行为、记录需求、发现数据泄露或损坏风险的核心工具。这个模板适用于系统分析、需求文档编写、安全审查以及帮助工程师快速熟悉现有系统。

适用场景

  • 记录用户数据在 Web 应用中从输入到存储再到输出的完整流转过程。
  • 分析业务流程,找出数据被重复录入、丢失或手动转移的环节。
  • 在安全或合规审计前,梳理敏感数据的存储位置和传输路径。
  • 向不懂技术架构图的利益相关方说明系统的工作方式。
  • 为新入职工程师展示现有系统中数据的流转路径,帮助快速上手。
  • 在建立数据管道之前,确定两个系统之间的集成点。

使用步骤

  1. 1识别所有外部实体——向系统发送或接收数据的人员、系统或组织。
  2. 2列出系统内所有对数据进行转换的处理过程。
  3. 3识别在处理过程之间持久化数据的所有数据存储。
  4. 4用带标签的箭头连接实体、处理过程和数据存储,每条箭头标注所传递的数据名称。
  5. 5检查每个处理过程至少有一个输入流和一个输出流。
  6. 6与团队共同审查,确认图表与系统实际行为相符。

简单示例

用户注册流程

外部实体:用户 → 发送注册表单数据
处理过程:验证输入 → 检查邮箱格式、密码强度
处理过程:创建账户 → 写入用户数据库
数据存储:用户数据库 → 存储用户记录
处理过程:发送确认邮件 → 从用户数据库读取邮箱
外部实体:邮件服务 → 向用户发送确认邮件

相关资源

和相似工具的对比

数据流图 vs 系统架构图

系统架构图展示组件和基础设施,数据流图展示信息如何在人、流程、存储和系统之间流动。想说明“系统里有什么”用架构图;想说明“数据去哪了”用数据流图。

数据流图 vs 流程图

流程图关注步骤顺序和判断分支,数据流图关注输入、输出、转换和存储。如果问题是“下一步发生什么”,用流程图;如果问题是“这些数据流向哪里”,用数据流图。

上下文图 vs 一级 DFD

上下文图把系统看作一个整体流程,周围放外部实体;一级 DFD 展开内部流程和数据存储。先用上下文图确认边界,再用一级 DFD 给工程团队讨论细节。

常见误区

  • 把软件组件当成数据流图节点

    “React 应用”“Node 服务”更像架构图元素。在数据流图里,节点应描述数据发生了什么处理,例如“验证订单”“存储支付令牌”“发送确认邮件”。

  • 箭头不标数据名称

    没有标签的箭头只能表示方向。应标出真实负载,例如客户资料、支付令牌、订单事件、CSV 导出,这样评审者才能判断隐私和正确性。

  • 漏掉数据存储

    团队常画输入和处理,却忘了数据持久化在哪里。数据库、队列、日志、缓存、对象存储,才是保留周期、合规和回放问题发生的地方。

  • 试图在一张图里展示所有字段

    数据流图应展示有意义的数据包,而不是完整 schema。字段级细节如果重要,另接 ER 图或 schema 文档,不要把数据流图塞到不可读。

常见问题

数据流图应该包含什么?+

至少包含外部实体、处理过程、数据存储和带标签的数据流。每个处理过程都应有输入和输出,每条箭头都应说明传递的数据是什么。

什么时候应该画数据流图?+

当你需要弄清信息如何进入、变化、保存并离开一个系统时,就适合画 DFD。它特别适合需求梳理、安全审查、合规映射和新人上手。

数据流图和 ER 图一样吗?+

不一样。ER 图描述数据结构——实体、属性和关系;数据流图描述数据运动——数据从哪里来、怎么被处理、最后去了哪里。

DFD 应该画多细?+

先画上下文图,再只展开需要讨论的部分。一个实用标准是:如果干系人几分钟内看不懂,就应该拆成多个层级。

这个模板能用于安全审查吗?+

可以。标出信任边界、敏感数据存储和外部集成点。数据流图通常是发现加密、访问控制、日志和保留策略缺口最快的方法。

在线开始编辑

在 CodePic 中打开模板后,替换示例内容,很快就能整理成自己的版本。

查看示例: /templates/data-flow/examples

更多推荐模板