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

业务流程图vs数据流程图

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

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

1. 描述对象不同

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

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


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

2. 功能作用不同

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

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

3. 基本符号不同


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

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

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

4. 绘制过程不同

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

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

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

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

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

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

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

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

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

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

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

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

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


推荐阅读
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文介绍了如何使用 Spring Boot DevTools 实现应用程序在开发过程中自动重启。这一特性显著提高了开发效率,特别是在集成开发环境(IDE)中工作时,能够提供快速的反馈循环。默认情况下,DevTools 会监控类路径上的文件变化,并根据需要触发应用重启。 ... [详细]
  • 三星W799在2011年的表现堪称经典,以其独特的双屏设计和强大的功能引领了双模手机的潮流。本文详细介绍其配置、功能及锁屏设置。 ... [详细]
  • 在API测试中,我们常常需要通过大量不同的数据集(包括正常和异常情况)来验证同一个接口。如果为每种场景单独编写测试用例,不仅繁琐而且效率低下。采用数据驱动的方式可以有效简化这一过程。本文将详细介绍如何利用CSV文件进行数据驱动的API测试。 ... [详细]
  • 本文详细介绍了如何解决Uploadify插件在Internet Explorer(IE)9和10版本中遇到的点击失效及JQuery运行时错误问题。通过修改相关JavaScript代码,确保上传功能在不同浏览器环境中的一致性和稳定性。 ... [详细]
  • 本文将介绍如何使用 Go 语言编写和运行一个简单的“Hello, World!”程序。内容涵盖开发环境配置、代码结构解析及执行步骤。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
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社区 版权所有