数据流图:简称DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
数据流图的基本符号的意思:
1.矩形表示数据的外部实体;
2.圆角的矩形表示变换数据的处理逻辑;
3.少右面的边矩形表示数据的存储;
4.箭头表示数据流。
数据流程图中有以下几种主要元素:
→:数据流。数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成。如订票单由旅客姓名、年龄、单位、身份证号、日期、目的地等数据项组成。由于数据流是流动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。
□:数据源(终点)。代表系统之外的实体,可以是人、物或其他软件系统。
○:对数据的加工(处理)。加工是对数据进行处理的单元,它接收一定的数据输入,对其进行处理,并产生输出。
〓:数据存储。表示信息的静态存储,可以代表文件、文件的一部分、数据库的元素等。
数据流程图是描述系统数据流程的工具,它将数据独立抽象出来,通过图形方式描述信息的来龙去脉和实际流程。
为了描述复杂的软件系统的信息流向和加工,可采用分层的DFD来描述,分层DFD有顶层,中间层、底层之分。
(1)顶层。决定系统的范围,决定输入输出数据流,它说明系统的边界,把整个系统的功能抽象为一个加工,顶层DFD只有一张。
(2)中间层。顶层之下是若干中间层,某一中间层既是它上一层加工的分解结果,又是它下一层若干加工的抽象,即它又可进一步分解。
(3)底层。若一张DFD的加工不能进一步分解,这张DFD就是底层的了。底层DFD的加工是由基本加工构成的,所谓基本加工是指不能再进行分解的加工。
数据流程图的基本成分
系统部件包括系统的外部实体、处理过程、数据存储和系统中的数据流四个组成部分
1,外部实体
外部实体指系统以外又和系统有联系的人或事物,它说明了数据的外部来源和去处,属于系统的外部和系统的界面。外部实体支持系统数据输入的实体称为源点,支持系统数据输出的实体称为终点。通常外部实体在数据流程图中用正方形框表示,框中写上外部实体名称,为了区分不同的外部实体,可以在正方形的左上角用一个字符表示,同一外部实体可在一张数据流程图中出现多次,这时在该外部实体符号的右下角画上小斜线表示重复.
2,处理过程
处理指对数据逻辑处理,也就是数据变换,它用来改变数据值。而每一种处理又包括数据输入、数据处理和数据输出等部分。在数据流程图中处理过程用带圆角的长方形表示处理,长方形分三个部分,标识部分用来标识一个功能,功能描述部门是必不可少的,功能执行部门表示功能由谁来完成。
3,数据流
数据流是指处理功能的输入或输出。它用来表示一中间数据流值,但不能用来改变数据值。数据流是模拟系统数据在系统中传递过程的工具。
在数据流程图中用一个水平箭头或垂直箭头表示,箭头指出数据的流动方向,箭线旁注明数据流名。
4,数据存储
数据存储表示数据保存的地方,它用来存储数据。系统处理从数据存储中提取数据,也将处理的数据返回数据存储。与数据流不同的是数据存储本身不产生任何操作,它仅仅响应存储和访问数据的要求。
在数据流程图中数据存储用右边开口的长方条表示。在长方条内写上数据存储名字。为了区别和引用方便,左端加一小格,再标上一个标识,用字母D和数字组成.
1,画数据流程图的基本原则:
①数据流程图上所有图形符号必须是前面所述的四种基本元素。
②数据流程图的主图必须含有前面所述的四种基本元素,缺一不可。
③数据流程图上的数据流必须封闭在外部实体之间,外部实体可以是一个,也可以是多个。
④处理过程至少有一个输入数据流和一个输出数据流。
⑤任何一个数据流子图必须与它的父图上的一个处理过程对应,两者的输入数据流和输出数据流必须一致,即所谓“平衡”。
⑥数据流程图上的每个元素都必须有名字。
2,画数据流程图的基本步骤:
①把一个系统看成一个整体功能,明确信息的输入和输出。
②找到系统的外部实体。一旦找到外部实体,则系统与外部世界的界面就可以确定下来,系统的数据流的源点和终点也就找到了。
③找出外部实体的输入数据流和输出数据流。
④在图的边上画出系统的外部实体。
⑤从外部实体的输入流(源)出发,按照系统的逻辑需要,逐步画出一系列逻辑处理过程,直至找到外部实体处理所需的输出流,形成数据流的封闭。
⑥将系统内部数据处理又分别看做整体功能,其内部又有信息的处理、传递、存储过程。
⑦如此一级一级地剖析,直到所有处理步骤都很具体为止。
3,画数据流程图的注意事项:
①关于层次的划分
逐层扩展数据流程图,是对上一层图中某些处理框加以分解。随着处理的分解,功能越来越具体,数据存储、数据流越来越多。究竟怎样划分层次,划分到什么程度,没有绝对标准,一般认为展开的层次与管理层次一致,也可以划分得更细,处理块的分解要自然,注意功能完整性,一个处理框经过展开,一般以分解为4个至10个处理框为宜。
②检查数据流程图
对一个系统的理解,不可能一开始就完美无缺,开始分析一个系统时,尽管我们对问题的理解有不正确、不确切的地方,但还是应该根据我们的理解,用数据流程图表达出来,进行核对,逐步修改,获得较为完美的图纸。
③提高数据流程图的易理解性
数据流程图是系统分析员调查业务过程,与用户交换思想的工具。因此,数据流程图应简明易懂。这也有利于后面的设计,有利于对系统说明书进行维护。