2.5.1 数据流图的表示符号
1.数据流图的4种基本符号
数据流图的基本符号如图2.3所示有三种不同的表示方法,归纳起来数据流图只有4种基本符号元素,数据流(Data Flow)、数据处理(Process)、数据存储(Data Store)和外部实体(External Entity)。

图2.3 数据流图的基本符号
(1)数据流。用箭头表示数据流,箭头方向表示数据流向,数据流名标在数据流线上。数据流由一组数据项组成,但在数据流图中只有其名称。所以,应尽量准确地给数据流命名。
数据流是沿箭头传送数据的通道,是描绘数据流图中各种成分的接口。数据流的方向从加工流向加工,从加工流向数据存储,从数据存储流向加工,从源点流向加工或从加工流向终点。数据流的含义如下。
①数据流是一组成分已知的信息包,信息包中可以有一个或多个已知信息。
②两个加工间可以有多个数据流。
③数据流应有良好的名字,便于进一步地了解系统。
④同一数据流可以流向不同的加工,不同加工可以流出相同的流(合并与分解)。
⑤流入或流出到存储的数据流不需要命名,因为数据存储的名字已经有足够的信息来表达数据的意义。
⑥数据流不代表控制流。数据流反映了处理的对象,控制流是一种选择或用来影响加工的性质,而不是对它进行加工的对象。
(2)加工。加工也称为数据处理,或称为变换,是对数据进行处理的单元。数据处理名称写在方框内。它对数据流进行某些操作或变换,每个加工也要有名字,通常是动词短语,简明地描述完成什么加工。在分层的数据流图中,加工还应编号。
(3)数据存储。数据存储是由若干数据元素组成的,它为数据处理提供数据处理所需要的输入流或为数据处理的输出数据流提供储存“仓库”。
数据存储在数据流中起保存数据的作用,可以是数据库文件或任何形式的数据组织、可以表示文件、文件的一部分、数据库的元素或记录的一部分等。在数据流图中要注意指向数据文件的箭头的方向,读数据的箭头是指向加工处理的,写数据的箭头是指向数据存储的,如果既有读又有写,则是双向箭头。(https://www.daowen.com)
(4)数据源点和终点。数据源点和终点是数据的始发点和终止点,表示系统和环境的接口,是软件系统外部环境中的实体(包括人员、组织或其他软件系统),统称外部实体,其作用是提供系统和外界环境之间关系的注释性说明。它们是为了帮助理解系统界面而引入的,一般只出现在数据流图的顶层图中,表示了系统中数据的来源和去处,不需要对它进行软件设计和实现。因此,在命名时应符合环境的真实状况。
有时为了增加数据流图的清晰性,防止数据流的箭头线太长,在一张图上可重复画同名的源/终点(如某个外部实体既是源点也是终点的情况)。
2.数据流图的几种附加符号
在数据流图中,如果有两个以上数据流指向一个加工,或从一个加工中引出两个以上的数据流,这些数据流之间存在一定的关系。在图2.4中给出描述这些关系所用符号及其含义。其中:
(1)*表示相邻两个数据流之间是“与”的关系(同时出现);
(2)+表示相邻两个数据流之间是“或”的关系;
(3)⊕表示相邻两个数据流只能选取其中一个(互斥关系)。
①数据A和数据B同时输入时才能转换成数据C;
②数据A转换成数据B和数据C;
③数据A或数据B,也可以是数据A和数据B两者转换成数据C;
④数据A转换成数据B或数据C,也可是数据B和数据C两者;
⑤只有数据A或只有数据B转换成数据C;
⑥数据A转换成数据B或数据C两者之一。

图2.4 数据流图附加符号使用示例