DFD中的四大要点
数据流图(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
