数据流图的绘制方法

数据流图(Data Flow Diagram,DFD),从数据传递和加工的角度,以图形的方式刻画系统内数据的运动情况。它可以用少数几种符号综合地反映出信息在系统中的流动、处理和存储的情况。

数据流图具有抽象性和概括性:抽象性表现在它完全舍去了具体的物质,只剩下数据的流动、加工处理和存储;概括性表现在它可以把信息中的各种不同业务处理过程联系起来,形成一个整体。

(1)数据流图的基本成分:外部实体、数据流、数据存储和处理逻辑。

①外部实体:外部实体指不受系统控制,在系统以外又与系统有联系的事物或人,它表达了目标系统数据的外部来源或去处。例如,顾客、职工、供货单位,等等。外部实体也可以是另外一个信息系统。

为了区分不同的外部实体,可以在正方形的左上角用一个字符表示。在数据流图中,为了减少线条的交叉,同一个外部实体在一张数据流图中可以出现多次,这时在该外部实体符号的右下角画斜线,表示重复。若重复的外部实体有多个,则相同的外部实体画数目相同的斜线。

②数据流:数据流表示数据的流动方向,用一个水平箭头或垂直箭头表示。数据流可以是订单、发票等。数据流一般不会是单纯的数据,而是由一些数据项组成。例如“发票”数据流有品名、规格、单位、单价、数量等数据项组成。

对数据流的描述写在箭头的上方,一些含义十分明确的数据流,也可以不加以说明。

③数据存储:数据存储表示数据保存的地方(不是物理介质,是逻辑描述)。

数据存储用一个右边开口的长方形条来表示,图形右部填写存储的数据和数据集的名字。左边填写该数据存储的标识,用字母D和数字组成。同一数据存储可在一张数据流图中出现多次,这时在数据存储符号上画竖线,表示重复。指向数据存储的箭头,表示送数据到数据存储(存放、改写等);从数据存储发出的箭头,表示从数据存储读取数据。

④处理逻辑(加工):处理逻辑指对数据的逻辑处理功能,也就是对数据的变换功能。它包括两方面内容:一是改变数据结构;二是在原有数据内容基础上增加新的内容,形成新的数据。

在数据流图中,处理逻辑可以用一个带圆角的长方形来表示,长方形分为三个部分。

标识部分用来标明一个功能,一般用字符串表示,如P1,P1.1等。功能描述部分是必不可少的,它直接表达这个处理逻辑的逻辑功能。一般用一个动词加一个名词表示。

功能执行部分表示这个功能由谁来完成,可以是一个人,也可以是一个部门,甚至可以是某个计算机程序。

(2)数据流图的绘制。

①确定外部项。一张数据流图表示某个子系统或某个系统的逻辑模型。外部项就是那些不受所描述的系统的控制,但又影响系统运行的外部环境,也是系统的数据输入的来源和输出的去处。

②自顶向下逐层扩展。信息系统庞大而复杂,数据的加工可能成百上千,自顶向下的原则为绘制数据流图提供了一条清晰的思路和标准化的步骤。

③合理布局。一般把系统数据主要来源的外部项尽量安排在左方,而要把数据主要去处的外部项尽量安排在右边。数据流的箭头线尽量避免交叉或过长,必要时可用重复的外部项和重复的数据存储符号。

④数据流图只反映数据流向、数据加工和逻辑意义上的数据存储,不反映任何数据处理的技术过程、处理方式和时间顺序,也不反映各部分相互联系的判断与控制条件等技术问题。只从系统逻辑功能上讨论问题。

⑤数据流图绘制过程,就是系统的逻辑模型的形成过程。必须与用户及其他系统建设者共同商讨以求一致意见。

( 3 )数据流图的改进。

①检查数据流图的正确性。

a.数据是否守恒,即输入数据与输出数据是否匹配。数据不守恒的情况有两种。一种是某个处理过程产生输出数据,但没有输入数据给该处理过程,这肯定是某些数据流被遗漏了。另一种是有输入数据给处理过程,但没有输出数据,这种不一定是错误,但要认真推敲是否可去掉以简化逻辑。

b.数据存储的使用是否恰当。在一套数据流图中的任何一个数据存储,必定有流入的数据流和流出的数据流,即写文件和读文件,缺少任何一种都意味着遗漏了某些处理逻辑。

c.父图和子图是否平衡。父图中某一处理框的输入、输出数据流必须出现在相应的子图中,否则就会出现父图与子图的不平衡。尤其是在对子图进行修改时,必须仔细检查其父图是否要做相应的修改,以保证数据流的平衡。父图与子图的关系,类似于全国地图与各省地图的关系。

d.任何一个数据流至少要有一端是处理框。换句话说,数据流不能从外部实体直接到数据存储,也不能从数据存储直接到外部实体,也不能在外部实体之间或数据存储之间流动。(数据流是处理功能的输入输出)

②提高数据流图的易理解性

简化处理间的联系、保持分解的均匀性、适当命名。

重新分解的步骤:

a.把需要重新分解的数据流图的所有子图拼接成一张图。

b.把新拼接成的图分成几个部分,使各部分之间的联系最少。

c.重新建立父图,即把b步骤所得的每一部分画成一个处理框。

d.重新建立各张子图,这只需要把b步骤所得的图沿各个部分边界分开即可。

e.为所有处理重新命名和编号。

posted @ 2018-04-08 17:32  谈笑风生~  阅读(3720)  评论(0编辑  收藏  举报