数据流图DFD
数据流图DFD
- 1 定义
- 2 元素
- 3 分层结构
- 4 数据流图平衡原则
1 定义
数据流图(Data Flow Diagram,DFD)是一种图形化工具,用于描述系统内部的数据流动、处理逻辑和数据存储。它通过节点(如加工、数据存储)和箭头(数据流)直观展示系统各组件间的交互关系,适用于结构化系统分析与设计。
2 元素
元素 | 说明 | 图元 |
---|---|---|
数据流 | 有一组固定成分的数据组成,表述数据的流向 。每个数据流通常有一个合适的名词,反映数据流的含义 | ![]() |
加工 | 加工描述了输入数据流到输出数据流 之间的变换 ,也就是输入数据流做了什么处理之后,变成了输出数据流 | ![]() |
数据存储(文件) | 用来表示暂时存储的数据,每个文件都有名字。流向文件的数据流表示写文件 ,流出的表示读文件 | ![]() |
外部实体 | 指存在于软件系统外的人员活组织,或者其他系统 | ![]() |
3 分层结构
顶层图(系统上下文图)
- 功能:最高层抽象,描述系统与外部实体的交互。
- 组成:单个过程(代表整个系统)、外部实体(如用户、其他系统)及数据流。
一级分解图
- 功能:分解上下文图中的单一过程,展示主要子系统或功能模块。
- 组成:多个子过程(如“处理订单”、“生成发票”)、数据存储(如“订单数据库”)及更详细的数据流。
- 特点:避免过度细化,通常包含5-7个关键过程。
二级及以下分解图
- 功能:对一级图中的子过程进一步细化,直至达到足够细节。
- 规则:每个下层图仅扩展一个上层过程,保持一致性(如输入/输出数据流需匹配)。
- 终止条件:当过程可被简单代码或逻辑描述时停止分解。
4 数据流图平衡原则
父图与子图之间的平衡
- 每一层的 输入、输出数据流 必须与其上层对应的输入、输出保持一致
- 上层某个过程分解为下层子过程时,下层的外部输入输出不能比上层多,也不能少
子图内平衡
- 指在同一层级的多个过程之间,数据流要能自洽,即输入输出能够闭合,不能凭空生成或消失
异常现象
黑洞
:一个加工只有输入数据流,而没有输出数据流奇迹
:一个加工只有输出数据流,而没有输入数据流灰洞
:一个加工的输入数据流无法通过该加工产生输出流