数据流图
2022 os数据流图(data-flow diagram,DFD),是一种通过流程或系统表示数据流的方式。数据流图也提供了每个实体的输入、输出和过程本身的信息。
数据流图是结构化分析和设计中重要的工具。
数据流图是没有控制流程,也就是没有决策规则,也没有循环。而基于数据的操作可以用流程图表示,而非数据流图。
基本符号
数据流图有四个基本符号。
元素 | 说明 | 描述 | 符号 |
---|---|---|---|
数据流 | 表示数据的流向 | flow | |
加工 | 表示输入到输出之间的数据加工 | function | |
数据存储/文件 | 表示存储的数据 | file/database | |
外部实体 | 表示系统外的实体 | input/output |
分层
为了是数据流图更加简洁明了,可以创建多层数据流图。一般最上层被称为顶层图,下面的子图依次称为 0, 1, 2…层图。
重要的原则
-
父图与子图必须平衡
即父图中的某个加工的输入/输出(数据流)和分解这个加工的子图的输入/输出数据流必须完全一致。
-
子图内的平衡
一个加工必须要有输入也要有输出。
数据流只能和加工相关,即从加工流向加工、数据源流向加工和加工流向数据源。
加工错误
数据流图中有 3 种常见的错误:
- 黑洞,加工有输入但是没有输出。
- 奇迹,加工有输入没有输入。
- 灰洞,加工不足以产生输出。
参考连接
- wikipeida: Data-flow diagram
- 《软件设计师教程》- 第 12 章:软件系统分析和设计