「数据架构」什么是数据流程图(DFD)?如何绘制DFD?

一图胜千言。数据流图(DFD)是可视化系统中信息流的传统方法。一个整洁而清晰的DFD可以图形化地描述大量的系统需求。它可以是手动的,自动的,或者两者的结合。

它显示了信息是如何进入和离开系统的,是什么改变了信息,以及信息存储在哪里。DFD的目的是显示整个系统的范围和边界。它可以作为系统分析人员与系统中充当重新设计系统起点的任何人员之间的通信工具。

它通常以一个上下文图作为DFD图的第0级开始,DFD图是整个系统的简单表示。为了进一步详细说明,我们深入到第1层图,其中包含从系统的主要功能分解而来的较低层功能。当需要进一步分析时,这可能会继续发展成一个2级图。升级到3级、4级等等是可能的,但超出3级的情况并不常见。请记住,分解特定函数的细节级别取决于该函数的复杂性。

图中的符号

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

外部实体

过程

流程是进行数据操作和转换的业务活动或功能。可以将流程分解为更细的细节级别,以表示如何在流程中处理数据。

数据存储

数据存储表示进程所需和/或产生的持久数据的存储。下面是一些数据存储的例子:成员表单、数据库表等。

数据流

数据流表示信息流,其方向由箭头表示,箭头显示在流连接器的末端。

在本教程中我们将做什么

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

如何绘制上下文级DFD

要创建新的DFD,从工具栏中选择Diagram>new。

在NewDiagram窗口中,选择DataFlowDiagram并单击Next。

输入上下文作为关系图名称,然后单击OK进行确认。

我们现在画出第一个过程。从关系图工具栏中,将流程拖动到关系图上。命名新的过程系统。

接下来,让我们创建一个外部实体。将鼠标指针放在系统上。按下并拖出右上角的资源目录按钮。

释放鼠标按钮并从资源目录中选择双向数据流->外部实体。

将新的外部实体命名为Customer。

现在,我们将对系统访问的数据库进行建模。使用资源目录创建来自系统的数据存储,其中包含双向数据流。

命名新的数据存储库存。

创建另外两个数据存储,Customer和Transaction,如下所示。我们刚刚完成了上下文关系图。

如何绘制一级DFD

我们将分解系统过程以形成一个新的DFD,而不是从头创建另一个图。右键单击System并从弹出菜单中选择分解。

连接到所选流程(系统)的数据存储和/或外部实体将在第1级DFD中引用。因此,当提示您将它们添加到新图表中时,单击Yes以确认。

注意:新的DFD最初看起来应该与上下文关系图非常相似。每个元素都应该保持不变,除了系统过程(从这个新的DFD分解而来)现在已经没有了,取而代之的是一个空格(待阐述)。

重新命名新的DFD。右键点击它的背景并选择Rename…在关系图的名称框中,输入Level1DFD并按回车键。

在中心创建三个流程(流程订单、发货、收货),如下图所示。那是系统过程的老地方,我们把它们放在那里来阐述系统。

连接数据流的连接线

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

将鼠标指针放在客户上方。拖出资源目录图标并按进程顺序释放鼠标按钮。

从资源目录中选择数据流。

新订单信息有流程说明。

同时,流程订单流程也从数据库中接收客户信息来处理订单。

使用资源目录创建从客户到处理订单的数据流。

可选:如果您愿意,可以将数据流标记为“客户信息”。但是,由于这个数据流在视觉上是相当不言自明的,我们将在这里省略它。

通过组合来自客户(外部实体)的订单信息和来自客户(数据存储)的客户信息,Processorder(Process)然后在数据库中创建一个事务记录。创建从流程顺序到事务的数据流。

绘画技巧:

若要重新排列连接线,请将鼠标指针置于要添加轴心点的位置。然后你会看到一个气泡在你的鼠标指针。按下并拖动到需要的位置。

到目前为止,您的图表应该是这样的。

一旦存储了事务,接下来就是传递过程。因此,创建一个来自ProcessOrder(Process)的数据流来交付好(Process)。

发货时需要阅读交易信息(即订单号,以便包装正确的产品发货)。从事务(数据存储)创建一个数据流来交付好(流程)。

注意:如果缺少空间,请随意移动形状以腾出空间。

ShipGood还需要读取客户的送货地址信息。从客户(数据存储)创建一个数据流来交付好(流程)。

ShipGood然后更新库存数据库以反映所运货物。创建一个从发货(流程)到库存(数据存储)的数据流。更新的产品记录。

一旦订单到达客户手中,发放收据的过程就开始了。其中,收据是根据存储在数据库中的事务记录准备的。因此,让我们从事务(数据存储)创建一个数据流来发出收据(流程)。

然后向客户发出收据。让我们创建一个从问题收据(流程)到客户(外部实体)的数据流。命名数据流接收。

您刚刚完成了第一级图的绘制,它应该是这样的。

如何提高DFD的可读性

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

右键单击图表(级别1DFD)并选择连接器>曲线。图中的连接器现在用曲线表示。

移动图形,使图表看起来不那么拥挤。

更多过程示例

下面的列表向您介绍了涉及不同业务和问题领域的各种数据流图示例。其中一些包括使用多个上下文级别。

客户服务系统

食品订单系统

证券交易

超市的应用

车辆保养得宝

视频租赁存储

资源

Order-Processing.vpp

Order-Processing_result.vpp

本教程的读者也可以阅读

如何编写有效的用例

数据流程图:实例-订餐系统

如何使用ERD对关系数据库设计建模

如何开发现有的和将来的业务流程

数据流程图与实例-客户服务系统

如果想进一步讨论,请加仙翁小号【intelligenttimes】,注明你希望加入的群:架构,云计算,大数据,数据科学,物联网,人工智能,安全,全栈开发,DevOps,数字化,产品转型。

THE END
1.数据流图及数据字典.ppt全文免费数据流图及数据字典.ppt,用于需求分析的方法有多种,主要方法有自顶向下和自底向上两种 自顶向下的结构化分析方法(Structured Analysis,简称SA方法)是最简单实用的方法。 SA方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,用数据流图(Data Flow Diagramhttps://max.book118.com/html/2019/0701/5231241341002101.shtm
2.软件工程第二章三、数据流图(DFD) (一)是什么? (二)为什么? (三)怎么办? 四、数据字典 (一)是什么? (二)为什么? (三)怎么办? 五、成本/效益分析 (一)是什么? (二)为什么? (三)怎么办? 总结 写作风格说明 在软件工程这个专栏,我将会尽可能围绕知识点进行剖析,主要撰写重难点,不计较细枝末节。重点关注问题是什么,...https://www.jianshu.com/p/f288df57546d
3.数据库原理?四数据库设计和规范化理论当需求分析完成后,最终产生阶段性的成果:系统需求说明书,包括数据流图、数据字典、数据表格、系统功能结构图和必要的说明。 4.4 数据流图 数据流图(Data Flow Diagram, 简记为DFD) 是用图形方式来表达系统的逻辑功能,以及数据在系统内部的逻辑流向和逻辑变换过程。任何一个系统都可以抽象为数据流图形式。 https://developer.aliyun.com/article/1232854
4.学生信息管理系统ER图,数据流图用例图以及用例说明(部分)软件...软件工程-期末考试复习总结知识点必考题型(根据老师讲的重点自己整理) 简答和应用大题着重复习课后习题,尤其是数据流图、数据字典、ER图、状态图、程序流程图、N-S图、PAD图、等价类划分与逻辑覆盖的测试用例设计方法、用例图、活动图和顺序图。 软件工程复习重点.ppt(看完理解ppt内容及格没问题) 软件工程-期末考试...https://www.iteye.com/resource/m0_45272112-13585493
1.数据流图与数据字典的一个例子数据流图与数据字典的一个例子 数据流图是软件开发中的一种重要工具,用于描述系统的逻辑结构和数据处理过程。数据字典是数据流图的补充,用于详细说明数据流图中的各种成分。 在本例子中,我们考虑了一个计算机化的帐务处理系统,系统的数据流图是计算机部分的数据流图,人工完成的部分将不做反应。系统的顶层数据流图如...https://download.csdn.net/download/sociass/1460641
2.数据流图数据字典的画法数据流图、数据字典的画法 技术标签:笔记软件工程软件工程师 查看原文 数据流图 feedback.数据流图(DFD)数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是...细分画法数据流图的画法有一定的规则,需按照一定的规则来画,...https://www.pianshen.com/article/25802063423/
3.一文带你了解数据字典包括哪些内容及数据字典有什么作用星云联动数据存储是数据流的来源和去向,是数据结构停留或者保存的地方,一般从数据存储名、组成、编号、说明、数据量、存储方式、数据流流入、数据流流出灯方面进行描述。数据字典对数据存储的描述就是对数据流图中数据块的存储特性说明。 5、处理过程 处理过程在数据流图中用判定树或表,而在数据字典中只需要处理过程的说明信...https://www.istarscloud.com/new/3486.html
4.数据库系统:第七章数据库设计腾讯云开发者社区消除冗余主要采用分析方法,即以数据字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系的说明来消除冗余。 并不是所有的冗余数据与冗余联系都必须加以消除,有时为了提高效率,不得不以冗余信息作为代价。 用规范化理论来消除冗余: 1. 确定分E-R图实体之间的数据依赖。实体之间一对一、一对多、多对多的...https://cloud.tencent.com/developer/article/2069176
5.软件工程第3~4章结构化方法和面向对象方法UML数据源点终点(外部实体;也被称为数据源和数据潭):矩形表示。外部实体是存在于软件系统之外的人员或组织,他指出数据所需要的发源地或系统所产生的数据的归属地。一般只出现在数据流图的顶层图。 3.数据字典、判定表和判定树 (1)在数据字典中,为了使定义的结构数据便于理解和阅读,一般按三种条目来组织,即数据流条...https://blog.51cto.com/mlxia/7840867