数据流图(DFD)

数据流图

什么是数据流图?

数据流图(Data Flow Diagram,简称DFD)是便于用户理解系统数据流程的图形表示。它能精确地在逻辑上描述系统的功能、输入、输出和数据存贮等,而摆脱了其物理内容,它表达了系统中的数据传从输入到存储间所涉及的程序。

数据流图可以分为逻辑形和物理形。逻辑数据流图描述了用以完成某业务功能所涉及的、业务层面的数据流动, 物理数据流图则描述系统层面的数据流动。

为什么要画数据流图?

系统分析阶段必须进行全面准确的收集、整理、分析收集的数据及其流程。数据流图以将用以寻找、编辑、存储和分发数据的功能或过程图像化,方便用户和系统设计人员沟通。数据流图的结构也容让开发人员从高点分析系统,继而生成一系列用以深入分析的图表。数据流图被广泛应用,具体原因如下:

  • 用于表达系统的逻辑信息流

  • 用于寻找系统需求

  • 简单、以理解的图形符号

  • 建立手动和自动系统需求

怎么画数据流图?

数据流图的基本符号

简单例子

 

 

上图是一个简单的数据流图,它表示数据X从源S流出,经P加工转换成Y,接着经P加工转换为Z,在加工过程中从F中读取数据。

具体画法

一般遵循“由外向里”的原则,即先确定系统的边界或范围,再考虑系统的内部,先画加工的输入和输出,再画加工的内部。即:

   (1)识别系统的输入和输出。

   (2)从输入端至输出端画数据流和加工,并同时加上文件。

   (3)加工的分解“ 由外向里”进行分解。

  (4)数据流的命名,名字要确切,能反映整体。

  (5)各种符号布置要合理,分布均匀,尽量避免交叉线。

  (6)先考虑稳定态,后考虑瞬间态。如系统启动后在正常工作状态,稍后再考虑系统的启动和终止状态。

  对于不同的问题,数据流图可以有不同的画法。一般情况下,应该遵守“由外向里”的原则。即先确定系统的边界或范围,再考虑系统的内部,先画加工的输入和输出,再画加工内部。具体实行时可按下述步骤进行:

(1)识别系统的输入和输出,画出顶层图

  即确定系统的边界。在系统分析初期,系统的功能需求等还不很明确,为了防止遗漏,不妨先将范围定得大一些。系统边界确定后,那么越过边界的数据流就是系统的输入或输出,将输入与输出用加工符号连接起来,并加上输入数据来源和输出数据去向就形成了顶层图。

(2)画系统内部的数据流、加工与文件,画出一级细化图

  从系统输入端到输出端(也可反之),逐步用数据流和加工连接起来,当数据流的组成或值发生变化时,就在该处画一个“加工”符号。

  画数据流图时还应同时画上文件,以反映各种数据的存贮处,并表明数据流是流入还是流出文件。

  最后,再回过头来检查系统的边界,补上遗漏但有用的输入输出数据流,删去那些没被系统使用的数据流。

(3)加工的进一步分解,画出二级细化图

  同样运用“由外向里”方式对每个加工进行分析,如果在该加工内部还有数据流,则可将该加工分成若干个子加工,并用一些数据流把子加工联接起来,即可画出二级细化图。二级细化图可在一级细化图的基础上画出,也可单独画出该加工的二级细化图,二级细化图也称为该加工的子图。

(4)其它注意事项

  一般应先给数据流命名,再根据输入/输出数据流名的含义为加工命名。名字含义要确切,要能反映相应的整体。若碰到难以命名的情况,则很可能是分解不恰当造成的。应考虑重新分解。

  从左至右画数据流图。通常左侧、右侧分别是数据源和终点,中间是一系列加工和文件。正式的数据流图应尽量避免线条交叉,必要时可用重复的数据源、终点和文件符号。此外,数据流图中各种符号布置要合理,分布应均匀。

  画数据流图是一项艰巨的工作,要做好重画的思想准备,重画是为了消除隐患,有必要不断改进。

  因为作为顶层加工处理的改变域是确定的,所以改变域的分解是严格的自顶向下分解的。由于目标系统目前还不存在,应此分解时开发人员还需凭经验进行,这是一项创造性的劳动。同时,在建立目标系统数据流图时,还应充分利用本章讲过的各种方法和技术,例如:分解时尽量减少各加工之间的数据流;数据流图中各个成分的命名要恰当;父图与子图间要注意平衡等等。

  当画出分层数据流图,并为数据流图中各个成分编写词典条目或加工说明后,就获得了目标系统的初步逻辑模型。

posted @ 2022-05-11 00:00  Fancy[love]  阅读(5429)  评论(0编辑  收藏  举报