当前位置:   article > 正文

[架构之路-140]-《软考-系统架构设计师》-数据流图DFD(Data Flow Diagram)和控制流图CFD(Control Flow Diagram)的比较_数据流和控制流的区别

数据流和控制流的区别

第1章 什么是控制流(程)图CFD =》 执行的步骤或动作流

1.1 概述/定义

控制流图(Control Flow Graph, CFG)也叫控制流程图,是一个过程程序的抽象表现,是用在编译器中的一个抽象数据结构,由编译器在内部维护,代表了一个程序执行过程中会遍历到的所有路径。它用图的形式表示一个过程内所有基本块执行的可能流向, 也能反映一个过程的实时执行过程。

Frances E. Allen于1970年提出控制流图的概念 [1] 。此后,控制流图成为了编译器优化和静态分析的重要工具。

控制流图中每个在图形中的节点代表一个基本块,例如,没有任何跳跃或跳跃目标的直线代码块;跳跃目标以一个块开始,和以一个块结束。定向边缘被用于代表在控制流中的跳跃。在那里,在大部分介绍中,两个特定的设计块:项目块,通过它控制到流图的输入,和编辑块,通过它全面控制流输出。

控制流程图(CFD)是图来描述控制流程一个的业务过程、过程或审核。

控制流程图可以由细分组成,以显示顺序步骤,以及if-then-else条件、重复和/或case条件。适当注释的几何图形用于表示操作、数据或设备、箭头用于指示从一个到另一个的顺序流动。

1.2 控制流(逻辑运算流)

控制流是指按一定的顺序排列程序元素来决定程序执行的顺序。Visual BASICC和其他编程语言也继承了控制流,语句按照出现在程序中的顺序执行。LabVIEW 使用顺序结构实现数据流框架中的控制流。顺序结构是一系列顺序执行的有序帧集合。顺序结构顺序执行帧0,然后是帧1、帧2,直到最后一个帧。只有最后一个帧执行完毕,数据才会离开结构。共有两种风格的顺序结构:单层顺序结构和叠层顺序结构,可以在Functions 选项卡的Programming>>Structures 子选项卡中找到。

单层顺序结构和叠层顺序结构这两种顺序结构非常相似,都有像胶片一样的帧。

其区别在于单层顺序结构中的帧是一个接一个排列的;

叠层顺序结构的帧是顺序和Case结构相似。

除了外观不一样,这两种顺序结构(单层和叠层)以相同的方式执行代码。

第2章 什么是数据流图DFD =》 数据的流动

2.1 概述/定义

数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。在结构化开发方法中,数据流图是需求分析阶段产生的结果。

数据流图或数据流程图Data Flow Diagram),缩写为DFD。数据流图DFD是描述系统中数据流程的一种图形工具,它标志了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换逻辑输出所需的加工处理。

值得注意的是,数据流图不是传统的流程图框图数据流也不是控制流。数据流图是从数据的角度来描述一个系统,而框图是从对数据进行加工工作人员的角度来描述系统。

DFD显示系统将输入输出什么样的信息,数据如何通过系统前进以及数据将被存储在何处。它不显示关于进程计时的信息,也不显示关于进程将按顺序还是并行运行的信息,而不像传统的关注控制流的结构化流程图,或者UML活动工作流程图,它将控制流和数据流作为一个统一的模型。

数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。

2.2 数据流

数据流(data stream)是一组有序,有起点和终点的字节的数据序列。包括输入流和输出流。

数据流最初是通信领域使用的概念,代表传输中所使用的信息的数字编码信号序列。这个概念最初在1998年由Henzinger在文献87中提出,他将数据流定义为“只能以事先规定好的顺序被读取一次的数据的一个序列”。

第3章 控制流图与数据流图的区别

控制流中,“流动”的是逻辑,属于控制面,节点是逻辑运算。

数据流中,“流动”的是数据,属于数据面,节点是数据处理。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/331234
推荐阅读
  

闽ICP备14008679号