数据流图
1、数据流图(date flow diagram , DFD),它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。
2、数据流图与流程图的区别
a、数据流图是从数据的角度来描述一个系统的,而流程图则是从对数据加工的角度来描述系统的;
b、数据流图中的箭头是数据流,而流程图中的箭头则是控制流,它表达的是程序执行的次序;
c、数据流图适合于宏观地分析一个组织业务概况,而程序流程图只适合于描述系统中某个加工的执行细节。
3、符号
4、编号
● 顶层图只有一张,也称0层,图中的加工也只有一个,所以不必为其编号。
● 1层图只有一张,图中的加工号分别是1, 2 。
● 子图就是父图中被分解的加工号,子图中的加工号是由图号、圆点和序号组成,如:1.1,1.2 等等。
5、画数据流图的步骤
(1)首先画系统的输入输出,即先画顶层数据流图。顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据、输出数据流。顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系。下图为飞机机票预订系统的顶层图。
(2)画系统内部,即画下层数据流图。不再分解的加工称为基本加工。一般将层号从0开始编号,采用自顶向下,由外向内的原则。画0层数据流图时,分解顶层流图的系统为若干子系统,决定每个子系统间的数据接口和活动关系。例如,在上面的机票预订系统按功能可分成两部分,一部分为旅行社预订机票,另一部分为旅客取票,两部分通过机票文件的数据存储联系起来,0层数据流图。
(3)注意事项。
①命名。不论数据流、数据存储还是加工,合适的命名使人们易于理解其含义。
②画数据流而不是控制流。数据流反映系统“做什么”,不反映“如何做”,因此箭头上的数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。
③一般不画物质流。数据流反映能用计算机处理的数据,并不是实物,因此对目标系统的数据流图一般不要画物质流。
④每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果。
⑤编号。如果一张数据流图中的某个加工分解成另一张数据流图时,则上层图为父图,直接下层图为子图。子图及其所有的加工都应编号。
⑥父图与子图的平衡。子图的输入输出数据流同父图相应加工的输入输出数据流必须一致,此即父图与子图的平衡。
⑦局部数据存储。当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。
⑧提高数据流图的易懂性。注意合理分解,要把一个加工分解成几个功能相对独立的子加工,这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性。
守恒加工原则
对同一个加工来说,输入与输出的名字必须不同样。即使它们的组成成分同样。
1.对于每一个加工,必须既有输入数据流,又有输出数据流。
2.数据流与加工有关,且必须经过加工。
对于加工。输入是A,输出还是A,也违反了数据守恒原则,输入与输出一样,加工没有作用。比方,人不可能吃的什么。出来的是同一样的。
对于加工,仅仅有输入,没有输出,违反了数据守恒原则。比方,人不可能仅仅吃饭,不大小便。
对于加工,仅仅有输出。没有输入,违反了数据守恒原则。比方。人不可能一直大小便。但不吃饭。
再贴2个其他系统的图