数据流图Data Flow Diagram, DFD是结构化分析的核心工具旨在以图形化方式描述数据在系统中的流动、处理、存储和交互。 [1, 2, 3]以下是掌握数据流图的关键要点1. 四大基本元素 [3, 4]外部实体 (External Entity)通常用矩形表示指系统之外与系统交互的人、组织或外部系统是数据的来源或终点。处理过程 (Process)通常用圆角矩形或圆形表示指对数据进行操作、变换或加工的环节。数据流 (Data Flow)用带箭头的直线表示标示数据的流动方向箭头必须指向数据的接收端。数据存储 (Data Store)通常用开口矩形或两条平行线表示代表系统内部需要暂存的数据如数据库表或文件。2. 三大核心原则 [4, 5]数据守恒原则任何一个加工Process都必须既有输入流也有输出流。黑洞错误只有输入没有输出。奇迹错误只有输出没有输入。父子图平衡原则在分层数据流图中子图的输入/输出流必须与父图中该加工的输入/输出流在数量和内容上完全一致。守恒加工原则一个加工的输出数据流必须能够由其输入数据流通过处理逻辑产生。 [6, 7]3. 分层结构 [6, 7]顶层图 (Level 0)将整个系统看作一个单一的“加工”仅展示系统与外部实体之间的数据交互用于确定系统边界。0 层图顶层图的第一次细化展示系统内部的主要功能模块及模块间的数据流。底层图逐层细化直到每一个加工的逻辑都足够简单可以直接编写伪代码或说明。4. 常见绘制技巧与禁忌 [4, 8]避免交叉尽量减少数据流线的交叉以保持清晰。命名规范外部实体用名词处理过程用动宾短语如“计算总价”数据流用名词或名词短语。禁止直接连接外部实体不能直接与外部实体交换数据。外部实体不能直接与数据存储交换数据。数据存储之间不能直接交换数据。所有数据的流动必须经过“处理过程”中转。5. 补充工具数据字典 [5, 9]数据流图描述了“做什么”而数据字典则负责定义流图中每一个元素的具体内容如字段类型、长度等两者配合才能完整定义系统的逻辑模型。[1] https://www.ibm.com[2] https://cloud.tencent.com[3] https://blog.csdn.net[4] https://developer.aliyun.com[5] https://cloud.tencent.com[6] https://guides.visual-paradigm.com[7] https://juejin.cn[8] https://zhuanlan.zhihu.com[9] https://www.processon.com