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

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

食品订购系统示例

上下文

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

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

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

80a170e96884b61edb10602132efa786.png

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

1级过程

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

b5dfeef8bf61758cec3b1f6396acd975.png

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

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

经理可以通过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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/552440.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jsp项目放入宝塔windows环境_商业裂变,之项目技术实战(第八节:宝塔面板介绍)...

一、宝塔简介:宝塔面板是一款服务器管理软件,支持windows和linux系统,可以通过Web端轻松管理服务器,提升运维效率。例如:创建管理网站、FTP、数据库,拥有可视化文件管理器,可视化软件管理器&…

es文件浏览器smb服务器,ES文件浏览器怎么连接电脑SMB,可以参考这篇文章

ES文件浏览器是一款多功能的手机文件/程序/进程管理器,可以在手机、电脑、远程和蓝牙间浏览管理文件。是一个功能强大的免费的本地和网络文件管理器和应用程序管理器。ES文件浏览器与电脑进行局域网链接后可以管理电脑的文件,不只是复制,还可…

arm ida 伪代码 安卓 符号表_使用IDA动态调试及ARM指令学习笔记

本文介绍如何用IDA进行动态调试及部分ARM指令的学习。环境:已root的安卓手机一部,IDA pro 6.8,win7系统。下载样本app,并已确认可调试(debuggable true),下文不表:http://pan.baidu.com/s/1jG22HMY一 手机…

糖豆人显示此服务器正在进行游戏,糖豆人服务器频繁崩溃,west滚石教技巧,蓝哥踢球做内鬼...

原标题:糖豆人服务器频繁崩溃,west滚石教技巧,蓝哥踢球做内鬼自从糖豆人游戏开放以来,大批玩家涌入,造成糖豆人服务器拥堵,一度出现崩溃。隔三差五就会来一次。玩家正玩得兴起,突然的崩溃让玩家…

js中立即执行函数会预编译吗_面试官:聊聊对Vue.js框架的理解

作者:yacan8https://github.com/yacan8/blog/issues/26本文为一次前端技术分享的演讲稿,所以尽力不贴 Vue.js 的源码,因为贴代码在实际分享中,比较枯燥,效果不佳,而更多的是以图片和文字的形式进行表达。分…

如何卸载服务器的系统,卸载服务器的操作系统

卸载服务器的操作系统 内容精选换一换弹性云服务器卸载磁盘。弹性云服务器状态为stopped时支持系统盘(也就是/dev/sda挂载点)和用户盘的卸载,没有操作系统限制,也不需要在弹性云服务器内部安装vmtools。弹性云服务器状态为active态时有如下约束限制&…

修改了模板文件tpl如何立即生效_Views视图与模板

一、概述用户请求到视图流程:当有人访问我们django项目的时候 例如127.0.0.1:8000/polls/23,django首先到加载mysite.urls模块在mysite.urls中发现有urlpatterns变量,于是在其内按顺序进行匹配。当它匹配上了polls,就到匹配到的po…

vue本地没事放到服务器上无限循环,解决vue中的无限循环问题

项目中遇到了这样一个问题:每一种产品有对应的服务费,每一个商家有多种商品要单独计算每一家的服务费,最后汇总总的服务费用。我直接写了一个方法来计算出每个商家和总的服务费用并return出来。如果不看控制台的话运行是没问题的。但是控制台…

壁式框架内力计算_4种类型剪力墙的计算要点

剪力墙又称抗风墙、抗震墙或结构墙。房屋或构筑物中主要承受风荷载或地震作用引起的水平荷载和竖向荷载(重力)的墙体,防止结构剪切(受剪)破坏。又称抗震墙,一般用钢筋混凝土做成。它分平面剪力墙和筒体剪力墙。平面剪力墙用于钢筋混凝土框架结构、升板结…

片源系统服务器,OUO NAS10主控界面评测

OUO NAS10主控界面评测■OUO NAS10主控界面评测OUO NAS10采用了高集成度的芯片,功耗比较低,整机满载情况下也不会超过9W。不过他的主控界面看起来还是比较简单易懂的,由于本身自带了linux的操作系统,还是比较容易上手的。附送光盘…

解锁设备_无师自通解锁新设备抗击疫情

随着春节假期接近尾声,一线企业复工复产,春运迎来全面返程客流高峰,为应对返程客流,做好疫情防控工作,哈车管内各站全面组织积极应对,做好进出站旅客测温,加强对进出站旅客体温筛查,…

主从式网络的优点_贸泽电子原创开发板大赛【创意奖作品】物联网开发板做成主从机形式,是创意还是多此一举?...

没有创意,竞赛还有什么意义?作为汇集了国内工程师中的一批顶尖高手的设计大赛,本届贸泽电子原创开发板大赛自然少不了“最佳创意奖”,今天,就让我们来看看工程师大开脑洞的获奖作品有何稀奇?奖创意奖《基于…

docker mysql配置 丢失_Ubuntu16.04服务器环境配置 – Docker、MySQL、Redis

Ubuntu16.04 服务器环境配置 – Docker、MySQL、Redis安装Docker1. 卸载旧版本sudo apt-get remove docker docker-engine docker.io2. 安装 https 相关的软件包sudo apt-get update # 先更新一下软件源库信息sudo apt-get install apt-transport-https ca-certificates cur…

mysql主从配置_MySQL主从配置详解

主服务器数据库的每次操作都会记录在其二进制文件mysql-bin.xxx(该文件可以在mysql目录下的data目录中看到)中,从服务器的I/O线程使用专用账号登录到主服务器中读取该二进制文件,并将文件内容写入到自己本地的中继日志relay-log文件中,然后从…

mysql 复制方式_MySQL复制方法

MySQL的二进制日志,MySQL复制原理,MySQL主从模式搭建,MySQL双主模式搭建,MySQL级联模式搭建,MySQL半同步模式复制一、二进制日志1、概念MySQL的二进制日志(binary log)是一个二进制文件,主要用于记录修改数…

mysql内部时区_一文解决MySQL时区相关问题

前言:在使用MySQL的过程中,你可能会遇到时区相关问题,比如说时间显示错误、时区不是东八区、程序取得的时间和数据库存储的时间不一致等等问题。其实,这些问题都与数据库时区设置有关,本篇文章将从数据库参数入手&…

制作 mysql的rpm文件_自制mysql.rpm安装包

RPM安装比源码更快更方便,更利于统一版本,省去了繁琐的编译过程,下面以制作mysql的rpm安装包为例。编译环境1、 安装rpm-build;检查是否配置rpm环境1 # sudo yum list | greprpm2 This system is not registered with RHN.3 RHN s…

mysql multi主从复制_mysqld_multi方式配置Mysql数据库主从复制

mysqld_multi设计用于管理在同一台机器上运行的多个mysqld进程,这些进程使用不同的socket文件并监听在不同的端口上。mysqld_multi可以批量启动、关闭、或者报告这些mysqld进程的状态。在这里我们通过这种方式来在同一个机器上启动多个数据库实例,并配置…

mysql中if在oracle怎么用_mysql和oracle的mybatis操作

1.Oracle、MySQL插入时返回下一个主键的操作Xml代码 Oracle:SELECT SEQ_ROLE.NEXTVAL AS ID FROM DUALinsert into ROLE(ID, NAME, CREATE, MODIFY) values (#{id}, #{name}, sysdate, sysdate)注意:这边的keyProperty"id"中"id"指的…

mysql数据库的三级模式_2016年计算机三级MySQL数据库试题

2016年计算机三级MySQL数据库试题一、选择题1.E-R图提供了表示信息世界中实体、属性和________的方法。A.数据B.联系C.表D.模式2.数据库系统的核心是________。A.数据模型B.数据库管理系统C.数据库D.数据库管理员3.E-R图是数据库设计的工具之一,它一般适用于建立数据…