什么是数据流图 Data Flow Diagram (DFD)

什么是数据流图(DFD)?如何绘制DFD?

一张图片胜过千言万语。数据流图(DFD)是系统内信息流的传统视觉表示。一个整齐而清晰的DFD可以用图形描绘出大量的系统需求。它可以是手动的,自动的或两者的组合。

它显示了信息如何进入和离开系统,什么改变了信息以及信息的存储位置。DFD的目的是显示整个系统的范围和界限。它可能被用作系统分析员和任何参与系统的人之间的交流工具,作为重新设计系统的起点。

它通常以上下文图开始,作为DFD图的0级,这是整个系统的简单表示。为了进一步阐述,我们深入到一级图,将较低级别的功能从系统的主要功能中分解出来。当需要进一步分析时,这可能会继续发展成为二级图。级别3,级别4等等是可能的,但是超出级别3的任何东西都不是很常见。请记住,分解特定函数的细节水平实际上取决于函数的复杂性。

DFD图表符号 (Diagram Notations)

现在我们要简要介绍一下您将在下面教程中看到的一些图表符号。

外部实体

外部实体可以代表人,系统或子系统。这是某些数据来自或去的地方。就业务流程而言,这是我们研究的系统的外部。出于这个原因,人们习惯于在图表的边缘绘制外部实体。


符号(外部实体)

处理 (Process)

一个过程是一个业务活动或功能,其中的数据处理和转换发生。一个进程可以被分解成更细的细节,用于表示数据在进程中的处理方式。 
符号(过程)

数据存储 (Data Store)

数据存储表示由进程需要和/或产生的持久性数据的存储。这里有一些数据存储的例子:会员表单,数据库表格等 
符号(数据存储)

数据流 (Data Flow)

数据流代表信息流,其方向由流量连接器末端显示的箭头表示。 
符号(数据流)

我们将在本教程中做什么?

在本教程中,我们将向您展示如何绘制上下文图,以及一级图。

注意:我们在这里使用的软件是Visual Paradigm欢迎您下载Visual Paradigm的30天免费 评估版,以便浏览下面的示例。没有注册,电子邮件地址或义务是必需的。

如何绘制 Context  Diagram 级DFD?

  1. 要创建新的DFD,请从工具栏中选择图表>新建
  2. New Diagram窗口中,选择Data Flow Diagram,然后单击Next
  3. 输入上下文作为图表名称,然后单击确定确认。
  4. 我们现在将绘制第一个过程。从图表工具栏,将过程拖到图上。命名新的进程系统
    在图上绘制过程
  5. 接下来,我们来创建一个外部实体。请将鼠标指针悬停在System上按下并拖出右上角资源目录按钮。
    拖动资源目录
  6. 释放鼠标按钮并从资源目录中选择双向数据流 - >外部实体
    从资源目录创建外部实体
  7. 命名新的外部实体Customer
    创建一个名为Customer的实体
  8. 现在我们将模拟系统访问的数据库。使用资源目录从系统创建一个数据存储,其间存在双向数据流。
    创建数据存储
  9. 命名新的数据存储
    创建一个名为Inventory的数据存储
  10. 创建另外两个数据存储,CustomerTransaction,如下所示。我们刚刚完成了上下文图。
    客户和交易创建

如何绘制1级 (Level 1) DFD?

  1. 我们将不再从头创建另一个图表,而是分解系统进程以形成一个新的DFD。右键单击系统,然后从弹出菜单中选择分解
    分解过程
  2. 连接到所选进程(系统的数据存储和/或外部实体将在1级DFD中被引用。因此,当系统提示您将其添加到新图时,单击确认。 
    注意:新的DFD看起来应该与上下文图非常相似。每个元素都应该保持不变,除了系统进程(从这个新的DFD分解)现在消失了,并被一个空白空间(将被阐述)取代。
  3. 重新命名新的DFD。右键单击其背景,并选择重命名...在图的名称框中,输入Level 1 DFD,然后按ENTER
  4. 如下所示,在中心创建三个流程(流程订单,运送情况,发货收据)。这是系统过程的旧点,我们把它们放在那里来详细说明系统
    在1级DFD中创建三个流程

用连接线 (Connection Line) 连接数据流

本节中的其余步骤是关于连接图中的模型元素。例如,客户在下订单处理时提供订单信息。

  1. 将鼠标指针放在Customer上拖出资源目录图标并释放流程订单上的鼠标按钮
    连接客户流程订单
  2. 从资源目录中选择数据流。
    选择数据流
  3. 输入订单信息有流量的标题。
    流标题输入
  4. 同时流程订单流程也接收来自数据库的客户信息以处理订单。 
    使用资源目录创建从客户流程订单的数据流。 
    在客户和流程订单之间创建数据流 
    可选:如果您愿意,您可以标记数据流“客户信息”。但是由于这个数据流在视觉上是相当自明的,所以我们在这里省略它。
  5. 通过结合来自客户(外部实体)的订单信息和来自客户(数据存储)的客户信息流程订单(过程)然后在数据库中创建交易记录。创建从流程订单交易的数据流。 
    数据流创建 
    绘图提示: 
    要重新排列连接线,请将鼠标指针放在要为其添加枢轴点的位置。然后你会在鼠标点看到一个气泡。点击并拖动到你需要的地方。 
    重新路由连接器 
    到目前为止,你的图应该看起来像这样。 
    更新-DFD
  6. 一旦交易被储存,运输过程就会结束。因此,创建一个从流程订单(流程)到货运状态(流程)的数据流。 
    数据流创建
  7. Ship Good需要读取交易信息(即Order_为了打包正确的产品交付,从Transaction(数据存储)创建一个数据流到Ship Good(处理) 
    数据流创建 
    注意:如果缺少空间,感觉自由移动周围的形状,以腾出空间。
  8. Ship Good也需要阅读他/她的送货地址的客户信息。Customer(数据存储)创建一个数据流到Ship Good(流程)。 
    数据流创建
  9. 装船好,然后更新库存数据库,以反映出货。创建一个从船舶良好(过程)到库存(数据存储)的数据流将其命名为更新产品记录。 
    数据流创建
  10. 一旦订单到达客户手中,问题回执过程就开始了。其中,基于存储在数据库中的交易记录来准备收据。所以让我们创建一个从Transaction(数据存储)到Issue Receipt(process)的数据流
    数据流创建
  11. 然后收据发给客户。让我们创建一个从问题收据(流程)到客户(外部实体)的数据流命名数据流收据。 
    数据流创建 
    你刚完成绘制1级图应该看起来像这样。 
    更新了dfd

如何提高DFD的可读性 (Readability)?

上面完成的图表看起来有点僵硬和忙碌。在本节中,我们将对连接器进行一些更改以提高可读性。

  1. 右键单击图(Level 1 DFD)并选择连接器>曲线图中的连接器现在是曲线。 
    连接器在曲线中
  2. 移动周围的形状,使图看起来不那么拥挤。
    完成dfd

更多的DFD例子

下面的列表将引导您查看涵盖不同业务和问题域的各种数据流图示例。

  • 5
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值