本篇文章作者将用示例展示业务流程图和数据流程图的不同,数据流程图更抽象,而业务流程图更具概括性。阅读本篇文章,可以详细了解二者的区别与应用关系。
大多数的2B产品都要解决如何将线下的业务流程放到线上?在需求分析的过程中,常常会用到两类图形工具: 业务流程图和数据流程图。
【资料图】
按理说这两类工具的名称都可以顾名思义:
业务流程图就是用来描述业务流的过程,主要面向的对象是甲方单位。 数据流程图就是用来说明未来线上的数据流,主要面向的是参与相关设计、开发的人员。可现实工作中,我们拿到的很多所谓业务流程图,都夹杂着数据流等信息,导致一张图想表达的内容太多,读图的人也云里雾里。
今天豆芽君就以准备系统分析师考试过程中,对这两个图的一些补充理解,来谈谈如何评审业务流程图、数据流程图画的好不好?
业务流程图的图形符号有6种如下图:
业务流程图的示例如下:
认真看看业务流程图的符号和示例,我们会发现有几个需注意的地方:
业务流程图没有条件判断框,这说明业务流程图主要描述标准的正向业务流。分支、异常等流程一般是通过设计阶段的活动图来描述。 业务流程图反映了业务处理的过程,不同岗位的分工与联系。 业务流程图还体现了过程中的输出文档/表格,所需的文件存储。到这里我们概括下,业务流程图主要是用以向甲方呈现业务处理的一般过程,并标识出过程中用到的各种过程文档,以及甲方主要会用到的报表文件有哪些?
看到这里,豆芽君希望你能抽象地做下进一步的总结,业务流程由不同岗位的人负责不同的业务活动,在活动过程有一般需要会有输入信息,同时在部分活动后会有输出信息。
这也体现了计算机主要干的三件事:输入、处理、输出。
相信你就容易理解业务流程图的作用就是把业务过程先做初始的结构化。大家把复杂的业务过程,翻译成了由输入-处理-输出组成的结构化流程。
我们继续谈谈数据流程图,在教材中对数据流程图的解释是,业务流程图虽然形象地表达了信息的流动和存储过程,但仍没有脱离货物、产品等物质要素。
为了用计算机处理信息,必须进一步舍去物质要素,收集数据资料,绘制数据流程图。单从数据流动过程来考查实际业务的数据处理。
我们同样先看张数据流程图的示例:
从上图我们可以看出数据流程图只有4种图形符号:数据流(流向箭头)、加工(圆圈)、数据存储(两条横线)、外部实体(矩形框)。
我们继续认真看图示的内容,再与业务流程图相比较下(以下均为逻辑对应):
外部实体对应了业务流程图的业务处理单位。 加工对应了业务流程图的业务处理。 数据流对应了业务流程图的业务流向。 数据存储对应了业务流程图的表格制作、数据收集(输入)和文件存储(输出)。但也请注意,它们两者的主要区别:
数据流程图相比业务流程图更加抽象,它舍去了具象化的活动、事务,只保留数据有关的信息。 数据流程图相比业务流程图更加概括,它通过逐层分解的方式(上图是0层图,还需要对图中的每个加工做下一级分解),在对应层次上只呈现相应的数据信息。这里想啰嗦几句:抽象能力是衡量一个IT从业人员除了逻辑之外,第二重要的能力。特别对于2B产品,面对复杂的业务,产品设计时如何以不变应万变,这才是2B产品分析工作最重要的价值所在。
相比来说,2C产品的业务流程比较单一,2C产品经理哪怕是1:1还原业务流程直接做产品设计,也不会给产品带来多大的复杂度。而2B产品则完全不同(懂的人秒懂哈)。
好了,到这里豆芽君希望你和我一起做下进一步总结:
应该先有业务流程图,再有数据流程图,因为数据流应该是基于要解决的具体业务问题。 数据流程图是对业务流程图的进一步抽象,它为下一步的数据库设计做准备。 这两个图应该有一定的映射关系,通过业务流程图可以检查数据流程图是否有遗漏?以上的总结内容,都来自豆芽君的个人经验总结,这也是文章的价值。
看完、理解了这些内容,再回过头去看每个软件项目的需求规格说明书,一下子就能看出文档作者到底是网上找个模板依葫芦画瓢(应付我们也是有标准的软件工程过程),还是真材实料可以指导后面的设计、开发。
以上,希望对你有帮助。
作者:豆芽悟,公众号:豆芽悟
本文由 @豆芽悟 原创发布于人人都是产品经理,未经许可,禁止转载。
题图来自 Unsplash,基于CC0协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。