提高逻辑思维:Python里的“数据流图” 是什么?“数据流图”该怎么绘制?

900 阅读5分钟

在这里插入图片描述

什么是数据流图?数据流图用于表示业务信息系统中的数据流,它表达了系统中的据传从输入到存储间所涉及的程序。数据流图的结构比较单一,其存在的约束比较多所以很多数据流图比较类似。

在这里插入图片描述

💌一、数据流图的概念

数据流图 (DFD) 用于表示业务信息系统中的数据流,它表达了系统中的据传从输入到存储间所涉及的程序。数据流图可以分为逻辑形和物理形。逻辑数据流图描述了用以完成某业务功能所涉及的、业务层面的数据流动, 物理数据流图则描述系统层面的数据流动。

数据流图以将用以寻找、编辑、存储和分发数据的功能或过程图像化,方便用户和系统设计人员沟通。数据流图的结构也容让开发人员从高点分析系统,继而生成一系列用以深入分析的图表。数据流图被广泛应用,用于表达系统的逻辑信息流、用于寻找系统需求、简单、以理解的图形符号、建立手动和自动系统需求。 在这里插入图片描述

💟二、数据流图常用符号

数据流图主要的组成元素有以下几个:

1、数据流。数据流是数据在系统传播的路径,是有一些固定的数据组合而成。比如学生饭卡由学生姓名,学号,班级,学院等信息组合而成。

2、数据源。代表系统外的实体,可以是系统外的物体等,直接有实体的符号。

3、加工(又称为数据处理)。是对数据进行处理的单元,接收一定的数据输入,然后对其进行处理,再进行系统输出。

4、数据存储(又称为文件)。可以代表文件,数据库等系统元素。

💖三、数据流图四种图形符号

箭头:表示数据流

〇:圆或椭圆,表示加工

= :双杠,表示数据存储(可以理解为文件)

□:方框,表示数据的源点或终点 在这里插入图片描述

💟四、绘制数据流图方法

绘制数据流图的方法有很多,比较常见的有手工绘制和软件绘制。

1、手工绘制

企业的系统分析人员会通过手工绘制的方式,直接快速的绘制数据流图,不过总体会比较粗糙。

2、软件绘制

在信息时代很多任务可以用第三方进行辅助。绘制数据流图也可以,利用软件进行绘制,如亿图图示、Word、Visio等。绘制出的数据图比较美观,容易编辑,也可以同步到其他工具。

顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据、输出数据流。

💖五、画数据流图的步骤

1.首先画系统的输入输出,即先画顶层数据流图

顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据、输出数据流。顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系。下图为飞机机票预订系统的顶层图。

在这里插入图片描述

2.画系统内部,即画下层数据流图

不再分解的加工称为基本加工。一般将层号从0开始编号,采用自顶向下,由外向内的原则。画0层数据流图时,分解顶层流图的系统为若干子系统,决定每个子系统间的数据接口和活动关系。例如,在上面的机票预订系统按功能可分成两部分,一部分为旅行社预订机票,另一部分为旅客取票,两部分通过机票文件的数据存储联系起来,0层数据流图如上图。 在这里插入图片描述

3.注意事项

  1. 命名。不论数据流、数据存储还是加工,合适的命名使人们易于理解其含义
  2. 画数据流而不是控制流。数据流反映系统“做什么”,不反映“如何做”,因此箭头上的数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序
  3. 一般不画物质流。数据流反映能用计算机处理的数据,并不是实物,因此对目标系统的数据流图一般不要画物质流
  4. 每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果
  5. 编号。如果一张数据流图中的某个加工分解成另一张数据流图时,则上层图为父图,直接下层图为子图。子图及其所有的加工都应编号

在这里插入图片描述

  1. 父图与子图的平衡。子图的输入输出数据流同父图相应加工的输入输出数据流必须一致,此即父图与子图的平衡
  2. 局部数据存储。当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储
  3. 提高数据流图的易懂性。注意合理分解,要把一个加工分解成几个功能相对独立的子加工,这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性

💗六、数据流图示例

顶层数据流图示例: 在这里插入图片描述

流程图的实例: 在这里插入图片描述 在这里插入图片描述

到这里结束了,感谢观看,我是一名喜欢分享的小博主,有问题可以私信我。 更多Python精彩内容看我主页,动动小手三连啦。