什么是数据流图
数据流图也称数据流程图(Data Flow Diagram,DFD),它是一种便于用户理解、分析系统数据流程的图形工具。它摆脱了系统的物理内容,精确地在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。[1]
数据流图分析法是结构化分析与设计方法(SSADM,Structured Systems Analysis & Design Method)的重要方法之一。分析产生的数据流图,和数据字典等一同构成结构化分析方法的核心输出。
数据流图的历史
数据流图在 1970 年代后期由计算先驱 Ed Yourdon 和 Larry Constantine的《结构化设计》一书普及开来。他们基于 David Martin 和 Gerald Estrin 的“数据流图”计算模型。结构化设计理念在软件工程领域起飞,DFD方法随之起飞。DFD 表示法借鉴了图论,最初用于运筹学,以对组织中的工作流进行建模。除了Edward Yourdon和Larry Constantine,还有三维促成 DFD 方法论兴起的专家,分别是 Tom DeMarco、Chris Gane 和 Trish Sarson。他们以不同的组合组合在一起,成为数据流程图符号的主要定义者。
后来随着UML的流行,数据流图变得不那么重要了。很大一部分原因是因为UML不使用纯数据流图,UML主要显示软件的控制流,也允许指示数据流。然而,这种控制流和数据流的混合使得在分析和设计新系统时很难专注于基本要素。
数据流图的优点
取决于其复杂性,数据流程图可以在数小时到数天内创建。相比之下,寻找系统性错误可能需要数周时间,并导致巨大的损失。在系统设计的早期阶段使用纯数据流图,有很多优点:
- 符号简单,合适与各类人员进行讨论
- 有助于快速识别出功能需求
- 更好地识别接口
数据流图易于阅读,支持对软件架构的理解,并使与相关人员的沟通更加容易。可以尽早发现系统中的弱点和错误,优化系统架构、减少的系统缺陷,值得我们学习掌握。

图表 1数据流图示意
参考文献:
[1]褚华, 霍秋艳. 软件设计师教程(第5版) [M]. 北京: 清华大学出版社, 2017.

原 文 
评 论