背景:
在二十世纪七十年代,结构设计的原始开发者拉里-康斯坦丁(Larry Constantin)根据Martin和Estrin的”数据流图”(Data Flow Graph)计算模型提出了一种实用的数据流图。
数据流图(Data Flow Diagram):简称DFD,一种用于表达商业信息系统内数据如何流动的图表,它从数据传递和加工角度,以图形的方式表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,将进程、数据存储和系统外部实体之间的数据传输图像化。数据流图不是传统的流程图和框图,数据流也不是控制流。数据流图是从数据的角度来描述一个系统,而框图是从对数据进行加工的工作人员的角度来描述系统。
1.数据流图的主要因素:
数据加工(数据变换)-(描述输入数据经过什么样的处理变成输出数据流,(相当于程序中的函数))
数据源或终点-(外部实体)-(存在于软件系统外的人员组织,如操作该软件系统的人就属于外部实体
数据流-(数据组成,箭头表示数据的流向,每个数据具有一个名称来反映数据流的含义)
数据存储文件-(用来表示暂时存储数据,每个文件都有名字。数据流流向文件表示写我文件,数据流流出文件表示读文件)
1.1分层情况
(1)顶层— 0层,最高层次,决定输入输出数据流,它说明系统的边界,把整个系统的功能抽象一个加工,顶层DFD只有一张
(2)中间层— 顶层之下是若干中间层,是对顶层数据流图某个加工进行细化,又是它下一层若干加工的抽象,可进一步分解
(3)底层— 低层是对中层进一步细化的层次,用于表示系统的最小的功能单位或操作步骤,底层DFD的加工是由基本加工构成的,基本加工指不能再进行细化,其加工称为”原子加工”
1.2数据流图的作用
- 编译用户表达功能需求和数据及其联系
- 便于两类人员共同理解现行系统和规划系统的框架
- 清晰表达数据流的情况
- 有利于系统建模
过程:
1.数据流图
1.1数据与数据加工之间的关系
总结:
数据流程图可以帮助我们理解和描述系统的结构和流程,通过图形的方式更好底反洗和设计系统,并提供了一种有效的沟通工具,使的各方面的系统有共识。