使用正确的数据流图软件可以容易的理解流经系统的数据流。本指南提供了有关数据流图所需的所有知识,包括定义、历史记录以及符号和表示法。 您将学习DFD的不同级别,逻辑DFD和物理DFD之间的区别以及制作DFD的技巧。

什么是数据流图?

数据流图(DFD)表示任何流程或系统的信息流。 它使用定义的符号(例如矩形、圆形和箭头)以及短文本标签来显示数据输入、输出、存储点和每个目标之间的路线。 数据流图的范围从简单的甚至是手绘的过程概述,到深入的多层次DFD都将逐步深入研究数据的处理方式。 它们可用于分析现有系统或为新系统建模。 像所有好图表一样,DFD经常可以直观地“说”出难以用语言解释的事物,并且适用于技术人员和非技术人员,从开发人员到首席执行官。 这就是为什么DFD在这些年来一直如此受欢迎。 尽管它们在数据流软件和系统上应用良好,但它们现在很少应用在可视化交互式、实时或面向数据库的软件或系统。

DFD的历史

数据流图是由计算机先驱Ed Yourdon和Larry Constantine于1970年代后期流行的,源于《Structured Design》一书。 他们基于David Martin和Gerald Estrin的“数据流图”计算模型。 结构化设计概念在软件工程领域开始兴起,而DFD方法随之兴起。 在应用于商业分析时,它在学术界比在学术界更受欢迎。

另外有两个相关的概念:

  • Yourdon和Peter Coad提出的面向对象的分析和设计(OOAD),用于分析和设计应用程序或系统。
  • 结构化系统分析和设计方法(SSADM),一种用于分析和设计信息系统的瀑布方法。 这种严格的文档编制方法与诸如Scrum和动态系统开发方法(DSDM)之类的现代敏捷方法形成对比。

促成DFD方法学上升的其他三位专家是Tom DeMarco,Chris Gane和Trish Sarson。 他们组合在一起成为数据流图中符号和符号的主要定义者。

DFD中使用的符号和符号

两种常见的符号系统以其创建者命名:

  • Yourdon and Coad
  • Yourdon and DeMarco
  • Gane and Sarson

它们的符号的主要区别在于,Yourdon-Coad和Yourdon-DeMarco使用圆进行加工,而Gane和Sarson使用带有圆角的矩形,有时也称为菱形。 还会使用其他符号变体,因此要记住的重要一点是,在与他人交流和协作时所用的形状和符号要清晰且一致。

使用任何约定的DFD规则或指导,这些符号都描述了数据流图的四个组成部分。

  1. 外部实体:发送或接收数据并与被图形表达的系统进行通信的外部系统。它们是进入或离开系统的信息的来源和目的地。他们可能是外部组织或个人、计算机系统或业务系统。它们也被称为终结者,来源和接收者或参与者。它们通常绘制在图的边缘。
  2. 流程:更改数据并产生输出的任何流程。它可能执行计算,或者根据逻辑对数据进行排序,或者根据业务规则指导数据流。简短标签用于描述该过程,例如“提交付款”。
  3. 数据存储:保存信息以备后用的文件或存储库,例如数据库表或成员身份表。每个数据存储区都会收到一个简单的标签,例如“订单”。
  4. 数据流:数据在外部实体、流程和数据存储之间采取的路线。它描绘了其他组件之间的界面,并以箭头显示,通常标有简短的数据名称,例如“账单明细”。

需要更多细节吗? 这里全面介绍了图表符号和表示法以及它们的用法。

DFD规则和提示

  • 每个过程至少应具有一个输入和一个输出。
  • 每个数据存储区应至少有一个数据流入和一个数据流出。
  • 存储在系统中的数据必须经过一个过程。
  • DFD中的所有过程都转到另一个过程或数据存储。

DFD级别和层:从上下文图到伪代码

数据流图可以通过使用级别和层来逐步深入了解更多细节,从而对特定部分进行归零。 DFD级别编号为0、1或2,有时甚至达到3级或更高级别。 必要的详细程度取决于您要完成的工作范围。

  • DFD级别0也称为上下文图。 这是对要分析或建模的整个系统或流程的基本概述。 它被设计为概览视图,将系统显示为一个单一的高级流程,并与外部实体建立了关系。 包括利益相关者、业务分析师、数据分析师和开发人员在内的广泛受众应该容易理解它。
context  diagram
  • DFD级别1提供了更详细的上下文级别图细分。 在将上下文关系图的高级过程分解为其子过程时,您将突出显示系统执行的主要功能。
Level 1 diagram
  • 然后,“ DFD级别2”将更深入到“级别1”的各个部分。它可能需要更多文本才能达到有关系统功能的必要详细程度。
Level 2 diagram

  • 可以升级到3、4或更高级别,但超过3级并不常见。 这样做会导致复杂性,使其难以有效地进行沟通、比较或建模。

使用DFD图层,可以将级联直接嵌套在图中,从而提供更整洁的外观并易于访问。

通过在DFD中变得足够详细,开发人员和设计人员可以使用它来编写伪代码,该伪代码是英语和编码语言的结合。 伪代码有助于实际代码的开发。

如何使用DFD的示例

数据流图非常适合在不同领域中分析或建模各种类型的系统。

软件工程中的DFD:这是1970年代数据流图的主要起点。 DFD可以为技术开发提供集中的方法,其中需要进行更多的研究才能进行编码。

业务分析中的DFD:业务分析师使用DFD分析现有系统并发现低效率。 绘制过程示意图可以发现否则可能会遗漏或无法完全理解的步骤。

业务流程重组中的DFD:DFD可用于通过业务流程对更好、更有效的数据流进行建模。 BPR于1990年代首创,旨在帮助组织削减运营成本,改善客户服务并更好地参与市场竞争。

敏捷开发中的DFD:DFD可用于可视化和理解业务和技术要求并计划下一步。 它们可以成为交流和协作以专注于快速发展的简单而强大的工具。

系统结构中的DFD:可以在技术和非技术方面对任何系统或过程进行逐步详细的分析以改进它。

DFD与统一建模语言(UML)

DFD说明了数据如何流经系统,而UML是面向对象软件设计中使用的一种建模语言,用于提供更详细的视图。 DFD可能仍然是一个很好的起点,但是在实际开发系统时,开发人员可以求助于UML图(例如类图和结构图)以实现所需的特异性。

逻辑DFD与物理DFD

这是数据流程图的两类。 逻辑DFD可视化对于企业运营至关重要的数据流。 它关注于业务和所需的信息,而不关注系统的工作方式或建议的工作方式。 但是,物理DFD显示了现在如何实际实施该系统,或者将如何实施该系统。 例如,在逻辑DFD中,流程将是业务活动,而在物理DFD中,流程将是自动和手工过程。

逻辑DFD专注于业务和业务活动,而物理DFD则关注系统的实现方式。 因此,尽管任何数据流程图都为流程或系统映射信息流,但逻辑图提供了“what”,而物理图则提供了“how”。 它们是同一数据流的两个不同视角,每个视角都是为了可视化和改进系统。 逻辑DFD描述发生的业务事件以及每个事件所需的数据。 它为物理DFD提供了坚实的基础,它描述了数据系统的工作方式,例如硬件、软件、纸质文件和相关人员。 同时,逻辑和物理可以完全可视化当前状态并为要考虑并实施的新状态建模。

logical dfd
逻辑 DFD

physical DFD
物理 DFD

如何制作数据流图

您可以使用Lucidchart在线创建自己的DFD。 使用我们的DFD示例和专用符号直观地表示通过系统的数据流。 我们的数据流图制作者既简单又强大。 从模板开始,然后使用我们的形状自定义您的流程、数据存储、数据流和外部实体。

摘自《BangBA实践公开课》建模部分讲义

转与:https://www.lucidchart.com/pages/data-flow-diagram

发表评论

电子邮件地址不会被公开。 必填项已用*标注

10月24-25日TOGAF认证公开课线下补充班,上海,10月8日前8.8折优惠