热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

业务流程图vs数据流程图

一、业务流程图与数据流程图的区别1.描述对象不同业务流程图的描述对象是某一具体的业务;数据流程图的描述对象是数据流。业务是指企业管理中必要且逻辑上相关的、为了完成某种管理功能的一系列相关的活

一、业务流程图与数据流程图的区别

1. 描述对象不同

业务流程图的描述对象是某一具体的业务; 数据流程图的描述对象是数据流。

业务是指企业管理中必要且逻辑上相关的、为了完成某种管理功能的一系列相关的活动。在系统调研时, 通过了解组织结构和业务功能, 我们对系统的主要业务有了一个大概的认识。但由此我们得到的对业务的认识是静态的, 是由组织部门映射到业务的。而实际的业务是流动的, 我们称之为业务流程。一项完整的业务流程要涉及到多个部门和多项数据。例如, 生产业务要涉及从采购到财务, 到生产车间, 到库存等多个部门; 会产生从原料采购单, 应收 付 账款, 入库单等多项数据表单。因此, 在考察一项业务时我们应将该业务一系列的活动即整个过程为考察对象, 而不仅仅是某项单一的活动, 这样才能实现对业务的全面认识。将一项业务处理过程中的每一个步骤用图形来表示, 并把所有处理过程按一定的顺序都串起来就形成了业务流程图。如图 1 所示, 就是某公司物资管理的业务流程图。


数据流程图是对业务流程的进一步抽象与概括。抽象性表现在它完全舍去了具体的物质, 只剩下数据的流动、加工处理和存储; 概括性表现在它可以把各种不同业务处理过程联系起来,形成一个整体。从安东尼金字塔模型的角度来看, 业务流程图描述对象包括企业中的信息流、资金流和物流, 数据流程图则主要是对信息流的描述。此外, 数据流程图还要配合数据字典的说明, 对系统的逻辑模型进行完整和详细的描述。

2. 功能作用不同

业务流程图是一本用图形方式来反映实际业务处理过程的“流水帐”。绘制出这本流水帐对于开发者理顺和优化业务过程是很有帮助的。业务流程图的符号简单明了, 易于阅读和理解业务流程。绘制流程图的目的是为了分析业务流程, 在对现有业务流程进行分析的基础上进行业务流程重组, 产生新的更为合理的业务流程。通过除去不必要的、多余的业务环节; 合并重复的环节; 增补缺少的必须的环节; 确定计算机系统要处理的环节等重要步骤, 在绘制流程图的过程中可以发现问题, 分析不足, 改进业务处理过程。

数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的就是要发现和解决数据流通中的问题, 这些问题有: 数据流程不畅, 前后数据不匹配, 数据处理过程不合理等。通过对这些问题的解决形成一个通畅的数据流程作为今后新系统的数据流程。数据流程图比起业务流程图更为抽象, 它舍弃了业务流程图中的一些物理实体, 更接近于信息系统的逻辑模型。对于较简单的业务, 我们可以省略其业务流程图直接绘制数据流程图。

3. 基本符号不同


对数据流程图的基本符号解释如下:
外部实体表示数据流的始发点或终止点。原则上讲, 它不属于数据流程图的核心部分, 只是数据流程图的外围环境部分。在实际问题中它可能是人员、计算机外设、系统外部的文件等。在圆形框中用文字注明外部实体的编码属性和名称。
数据流是用箭头线及其上的数据表示数据流动的方向, 数据流由一个或一组数据项组成。
数据存储表示逻辑意义上的数据存储环节, 不考虑存储的物理介质和技术手段的数据存储环节。它用一个右边开口的长方形条来表示, 图形右部填写存储的数据和数据集的名字, 左边填写该数据存储的标志。

处理逻辑 加工 也称为处理或功能, 它包括两方面的内容:一是改变数据结构; 二是在原有数据内容基础上增加新的内容,形成新的数据。一般用一个长方形表示处理逻辑, 图形下部填写处理的名字, 上部填写该处理的标志。

关于业务流程图和数据流程图的基本符号很多教材上都不完全一致, 还没有形成一个统一的标准。例如, 有的教材上用圆形表示外部实体, 有的用矩形表示外部实体。二者所使用的符号不同, 但代表的含义都相同。业务流程图中的业务处理和存储这两个符号和数据流程图中的相应的符号基本一致; 业务流程图和数据流程图中都有箭头线的符号, 但含义不同: 业务流程图中的箭头线表示信息流向, 它没有名称; 数据流程图中的箭头线表示某一数据流, 它有名称, 通常写在数据流的上方。

4. 绘制过程不同

业务流程图就是用一些规定的符号及连线来表示某个具体务处理过程。业务流程图的绘制是根据系统详细调查过程中所得的资料, 按业务实际处理过程, 用规定的符号将它们绘制在同一张图上。它的绘制无严格的规则, 只需简明扼要地如实反映实际业务过程。在绘制过程中一般也遵循“自顶向下”的原则。

数据流程图的绘制方法较为复杂, 它是按照“自顶向下, 逐层求精”的方法进行的, 也就是将整个系统当成一个处理功能,画出它和周围实体的数据联系过程, 即一个粗略的数据流程图( 顶层数据流程图),然后逐层向下分析, 直到把系统分解为详细的低层次的数据流程图。如图A是一个高等学校学藉管理系统的顶层数据流程图。

绘制数据流程图的注意事项:

①数据流程图的绘制一般是从左到右进行。从左侧开始标出外部实体, 然后画出由外部实体产生的数据流, 再画出处理逻辑、数据流、数据存储等元素及其相互关系, 最后在流程图的右侧画出接收信息的系统外部实体。

②父图与子图的平衡。子图是对父图中处理逻辑的详细描述, 因此父图中数据的输入和输出必须在子图中反映。父图与子图的平衡是数据流守恒原则的体现, 即对每一个数据处理功能来说, 要保证分解前后的输入数据流与输出数据流的数目保持不变。

③数据流至少有一端连接处理框。数据流不能直接从外部实体直接传送到数据存储, 也不能从数据存储直接传送到外部实体。

④数据存储输入/输出协调。数据存储必定有输入数据流和输出数据流, 缺少任何一个则意味着遗漏了某些加工。

⑤数据处理流入/流出协调。只有流入没有流出, 则数据处理无需存在; 只有流出没有流入的数据处理不可能满足。

⑥合理命名, 准确编号。对数据流程图的基本元素进行编号, 这样有利于编写数据字典及方便系统设计人员和用户的阅读与理解。

二、业务流程图和数据流程图的联系

1. 业务流程图和数据流程图都是从流程的角度动态地去考察分析对象, 都是用图形符号抽象地表示调查结果。

2. 数据和业务的联系具体表现在: 数据流是伴随着业务过程而产生的, 它是业务过程的衍生物; 数据资料基本上也是按组织结构或业务过程收集的; 在数据汇总时, 我们也是以业务流程为单位, 将同一业务的不同处理步骤中的数据加以集中; 数据流程图的绘制遵照业务处理的全过程。

3. 数据流程图和业务流程图存在一定的对应关系。由业务流程图可以导出相应的数据流程图。有两种思路: 一种是先按业务流程图理出的业务流程顺序, 然后将相应调查过程中所掌握的数据、表单分离出来, 接下来考查数据的流向, 加工处理过程和存储, 把它们串起来就绘制成一完整的数据流程图; 另一种是从业务流程中分离出处理过程, 再考查每一个处理过程的输入数据与输出数据, 将业务过程中所有的处理过程的输入、输出数据流进行有机的集成就形成了一个完整的数据流程图。


推荐阅读
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • Google在I/O开发者大会详细介绍Android N系统的更新和安全性提升
    Google在2016年的I/O开发者大会上详细介绍了Android N系统的更新和安全性提升。Android N系统在安全方面支持无缝升级更新和修补漏洞,引入了基于文件的数据加密系统和移动版本的Chrome浏览器可以识别恶意网站等新的安全机制。在性能方面,Android N内置了先进的图形处理系统Vulkan,加入了JIT编译器以提高安装效率和减少应用程序的占用空间。此外,Android N还具有自动关闭长时间未使用的后台应用程序来释放系统资源的机制。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
author-avatar
Bboy龙超
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有