数据流动图(Data Flow Diagram,简称DFD)是一种图形表示方法,用于描述系统内数据的流动情况。它主要由三种元素构成:数据流、加工和数据存储。
数据流:
用单箭头表示,如――>。数据流是由一组固定成分的数据组成,表示数据的流向。在数据流图中,描述的是数据流,而不是控制流。每个数据流必须要有一个合适的名字,以反映该数据流的含义。
加工:
用圆或椭圆表示,如〇。加工描述了输入数据流到输出数据之间的变换,即输入数据流经过什么处理后变成了输出数据。每个加工都有一个名字和编号,编号能反映该加工位于分层的数据流图的哪个层次和哪张图中,能够看出它是由哪个加工分解出来的子加工。
数据存储:
用双杠(带一边开口,一边闭合)表示,又叫做文件。数据存储表示暂时存储的数据。在数据流图中,数据存储通常表示为长方形,并且在长方形内部标注了数据存储的名称和类型。
设计方法
画顶层数据流图:
即画整个系统的输入输出。把整个系统视为一个大的加工,然后根据数据系统从哪些外部实体接收数据流,以及系统发送数据流到那些外部实体,就可以画出输入输出图。这张图称为顶层图。
画系统内部:
即画下层数据流图。不再分解的加工称为基本加工。一般将层号从0开始编号,采用自顶向下,由外向内的原则。画0层数据流图时,分解顶层流图的系统为若干子系统,决定每个子系统间的数据接口和活动关系。
注意事项
命名:
不论数据流、数据存储还是加工,合适的命名使人们易于理解其含义。
画数据流而不是控制流:
数据流反映系统“做什么”,不反映“如何做”,因此箭头上的数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。
一般不画物质流:
数据流反映能用计算机处理的数据,并不是实物,因此对目标系统的数据流图一般不要画物质流。
每个加工至少有一个输入数据流和一个输出数据流:
反映出此加工数据的来源与加工的结果。
编号:
如果一张数据流图中的某个加工分解成另一张数据流图时,则上层图为父图,直接下层图为子图。子图及其所有的加工都应编号。
父图与子图的平衡:
子图的输入输出数据流同父图相应加工的输入输出数据流必须一致,此即父图与子图的平衡。
局部数据存储:
当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。
提高数据流图的易懂性:
注意合理分解,要把一个加工分解成几个功能相对独立的子加工,这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性。
通过以上步骤和注意事项,你可以更好地理解和绘制数据流动图,从而有效地描述系统的数据流动和处理过程。