数据流图(DFD)提供了系统内信息流(即数据流)的可视化表示。通过绘制数据流程图,您可以了解由参与系统流程的人员提供并交付给他们的信息、完成流程所需的信息以及需要存储和访问的信息。本文以一个订餐系统为例,对数据流图(DFD)进行了描述和说明。

食品订购系统示例

上下文

上下文关系图是只显示顶层的数据流关系图,也称为0级。在这个层次上,只有一个可见的流程节点,它代表了一个完整系统的功能,包括它如何与外部实体交互。上下文关系图的一些好处是:

  • 显示系统边界的概述
  • 使用简单的符号不需要任何技术知识
  • 简单的绘制,修改和阐述作为其有限的表示法

下图显示了为食品订购系统绘制的上下文数据流程图。它包含一个表示要建模的系统的流程(形状),在本例中是“食品订购系统”。它还显示将与系统交互的参与者(称为外部实体)。在本例中,供应商、厨房、经理和客户是将与系统交互的实体。在流程和外部实体之间有数据流(连接器),表明实体和系统之间存在信息交换。

上下文DFD是数据流模型的入口。它只包含一个进程,并且不显示任何数据存储。

1级过程

下图显示了第一级DFD,它是在DFD上下文中显示的食品订购系统流程的分解(即分解)。通读这张图,然后我们将介绍一些基于这张图的关键概念。

食品订单系统数据流图示例包含三个流程、四个外部实体和两个数据存储。

根据图表,我们知道客户可以下订单。订单食品流程接收订单,将其转发到厨房,将其存储在订单数据存储中,并将更新后的库存详细信息存储在库存数据存储中。该流程还向客户交付账单。

经理可以通过Generate Reports流程接收报告,该流程分别从库存数据存储和订单数据存储中获取库存细节和订单。

经理还可以通过提供库存订单来启动订单库存流程。流程将库存订单转发给供应商,并将更新后的库存详细信息存储在库存数据存储中。

数据流程图提示和注意事项

提示

  1. 过程标签应该是动词短语;数据存储由名词表示
  2. 数据存储必须至少与一个进程相关联
  3. 外部实体必须与至少一个流程相关联
  4. 不要让它变得太复杂;通常5 - 7个普通人可以管理流程
  5. DFD是不确定的——编号不一定表示顺序,它在与用户讨论时用于标识流程
  6. 数据存储不应该连接到外部实体,否则,这将意味着您将让外部实体直接访问您的数据文件
  7. 如果没有经过一个流程,数据流不应该存在于两个外部实体之间
  8. 有输入但无输出的过程被认为是黑洞过程

注意事项

不要混淆数据流和进程流

有些设计人员可能在看到从数据存储连接到流程的连接器时感到不舒服,因为没有看到数据请求的步骤以某种方式显示在图中。其中一些将试图通过在流程和数据存储之间添加连接器来表示请求,并将其标记为“请求”或“请求某些东西”,这是错误的。

请记住,数据流图是为表示信息交换而设计的。数据流图中的连接器用于表示数据,而不是表示流程流、步骤或其他任何东西。当我们将结束于数据存储的数据流标记为“请求”时,这意味着我们将请求作为数据传递到数据存储中。虽然这可能是在实现级别的DBMS做支持的使用功能,而摄入一些值作为参数并返回一个结果,在数据流图中,我们倾向于把数据存储作为唯一的数据夹,并不拥有任何处理能力。如果您想对系统流或流程流建模,那么可以使用UML活动图或BPMN业务流程图。如果希望对数据存储的内部结构建模,请使用实体关系图。

资源

  • Food-Ordering-System.vpp

本教程的读者也可以阅读

  1. 什么是数据流程图(DFD)?如何绘制DFD?
  2. 如何编写有效的用例?
  3. 如何使用ERD对关系数据库设计建模?
  4. 如何开发现有的和将来的业务流程?
  5. 数据流程图与实例-客户服务系统

原文:https://www.visual-paradigm.com/tutorials/data-flow-diagram-example-food-ordering-system.jsp

本文:http://jiagoushi.pro/data-flow-diagram-examples-food-ordering-system

讨论:请加入知识星球【首席架构师圈】或者飞聊小组【首席架构师智库】

java中审核订单流程图_「数据架构」数据流程图:实例-订餐系统相关推荐

  1. service数据保存_「数据架构」数据流程图与实例-客户服务系统

    数据流图(DFD)提供了系统内信息流(即数据流)的可视化表示.通过创建一个数据流图,您可以告诉参与系统流程的人员所提供和交付的信息.完成流程所需的信息以及需要存储和访问的信息.数据流图在软件工程中得到 ...

  2. java中审核订单流程图_看95后java妹子横扫阿里,京东,小米,滴滴,美团等大厂,一份热腾腾的面经(最终入职阿里)...

    内容目录 头条 美团 滴滴 京东 others 算法题 HR面 tips 自序 这次面试的公司有一点点多,主要是因为毕业后前两份工作找的都很草率,这次换工作就想着,emm,毕业三年了,该找个工作好好沉 ...

  3. java中审核订单流程图_Java 后端横扫阿里、滴滴、美团总结的面试经验!

    这次面试的公司有一点点多,主要是因为毕业后前两份工作找的都很草率,这次换工作就想着,emm,毕业三年了,该找个工作好好沉淀几年了. 先说下这次面试的结果吧: 到 hr 面的:阿里.美团.滴滴.金山云. ...

  4. java锁的有哪些_「并发编程」Java锁分类和特点有哪些

    公平锁.非公平锁:公平锁指多个线程按照申请锁的顺序来获取锁,非公平锁就是没有顺序完全随机,所以能会造成优先级反转或者饥饿现象:synchronized 就是非公平锁,ReentrantLock(使用 ...

  5. java交易撮合怎么实现_「康力电梯002367」“股票实时交易系统如何实现高并发撮合交易?最好有java架构“java 股票分析工具-京东方a小-seo金融...

    本文由京东方a小编创作于2020-09-10 21:11:04发布的来源于seo金融股票配资http://www.drill-pipe.com/gov/52833.html请您欣赏.seo金融网拥有众 ...

  6. confluence 制作流程图_「每周开方」 高效制作流程图、思维导图

    提升工作效率,并且可以自成一套职场PPT的导图.流程图! 这周的「每周开方」公子要分享强大的"思维导图"及"流程图"制作网站!在职场中导图的重要性应该不需要公子 ...

  7. 开源合同管理系统_「物联网架构」最适合物联网的开源数据库

    物联网产生大量的数据,包括流数据.时间序列数据.RFID数据.传感数据等.要有效地管理这些数据,就需要使用数据库.物联网数据的本质需要一种不同类型的数据库.以下是一些数据库,当与物联网一起使用时,会给 ...

  8. 文件标识符无效。使用 fopen 生成有效的文件标识符。_「存储架构」块存储、文件存储和对象存储(第1节)...

    全球传输和生成的数据比以往任何时候都多.国际数据公司(IDC)的分析师预计,到2025年,全球数据层将增至163zb.这比2016年16.1 ZB的数据增长了1000%以上.数据大量增加的原因是多方面 ...

  9. 「数据架构」数据架构的未来

    安东尼J.阿尔格明认为,数据架构正从一个混乱和纠结的时代进入一个更加干净和有组织的时代.在DATAVERSITY®数据体系结构在线会议上,Algmin回顾了过去的预测.当前的热门话题以及对未来的预测. ...

最新文章

  1. vue项目中批量打印二维码
  2. 利用RC网络降低可调节LDO输出噪声
  3. 哈夫曼编码译码 C语言,【求助】严蔚敏版数据结构 哈夫曼编码译码
  4. 使用libxml提示libxml/tree.h找不到的问题解决
  5. [原创]前端工作了一段时间经验总结,献给做前端的同学
  6. 计算机专业女生的就业方向参考
  7. python分布式事务_分布式事务的管理--atomikos
  8. Android开发笔记(三十三)文本文件和图片文件的读写
  9. jQuery图片轮播插件 jQuery Cycle Plugin
  10. dell网卡linux驱动,Dell R720上安装linux网卡驱动
  11. zktime 协议_中控考勤机对接信呼帮助(中控ZKTime5.0系统软件版)
  12. 程序员的十一个层次,你感觉自己属于那一层?
  13. AtCoder Beginner Contest 158 E.Divisible Substring
  14. 针对灰产外挂的分析与研究
  15. 浅谈网站PR值 如何提高PR值
  16. 在命令行cmd 下,输入dxdiag 查看关于电脑许多硬件的详细信息
  17. .length和.length()
  18. C++基础概念(初步代码示例英石与磅单位互换)
  19. linux操作系统c语言编程,Linux操作系统下C语言编程从零开始
  20. C语言 六大门派身份识别

热门文章

  1. Mybatis源码阅读(三):结果集映射3.1 —— ResultSetBuilder与简单映射
  2. win10升级后chrome碰到对话框就卡死
  3. 1.计算机语言发展史
  4. docker 指定网卡_Docker | Docker技术基础梳理(五) Docker网络管理
  5. 怎么看so文件是哪个aar引进来的_手机爱奇艺下载视频存在哪个文件夹
  6. 高级数据分析1代码_用Python进行数据分析,让你一看就会
  7. java中jdom,java – JDOM中的命名空间(默认)
  8. python 熊猫,Python熊猫
  9. 高并发内存占用持续下降_师兄,为什么删除数据后,Redis内存占用依然很高?...
  10. python的format函数如何理解_python format函数的使用