首页 » 脚本文章 » 「软件项目管理入门」(28) 如何分析业务流程?(流程流程图刷卡读卡器起止)

「软件项目管理入门」(28) 如何分析业务流程?(流程流程图刷卡读卡器起止)

乖囧猫 2024-07-23 22:51:15 脚本文章 0

扫一扫用手机浏览

文章目录 [+]

业务流程,应该都会理解,因为我们每一项任务要么并行、要么串行地顺着时间轴向前推进,我们要做的工作就是将这个过程通过某种方式展现出来。

表现流程的最好办法就是使用流程图,很多初学者对流程和流程图理解得不深入,导致流程图画得不规范,反而让人费解。
下面我就流程的表现方面给几点建议,供大家参考。

1、首先要充分理解业务,每个流程都和一篇文章一样,有个核心,也就是说这个流程是干什么的。
比如说,我们要理解公交车上面的刷卡流程,就得要知道这个刷卡流程要做什么的,这点大家都知道,刷卡这个流程就是替代以前的人工售票操作,实现自动购票、计费和支付的功能。
刷卡就为了达到这个目的。
这个就是业务。

「软件项目管理入门」(28) 如何分析业务流程?(流程流程图刷卡读卡器起止) 「软件项目管理入门」(28) 如何分析业务流程?(流程流程图刷卡读卡器起止) 脚本文章
(图片来自网络侵删)

2、如何准确的理解业务?分解流程是关键。
还拿上面的例子来说吧。
刷卡流程都包括哪些环节?

a、乘客上车刷卡;

「软件项目管理入门」(28) 如何分析业务流程?(流程流程图刷卡读卡器起止) 「软件项目管理入门」(28) 如何分析业务流程?(流程流程图刷卡读卡器起止) 脚本文章
(图片来自网络侵删)

b、读卡器记录起始站点;

c、乘客下车刷卡;

d、读卡器自动根据起止站点计费;

e、读卡器自动扣款;

f、读卡器显示扣费结果。

可见,流程实际上是由一个个节点构成的,我们的重点就是提取这些节点。
但是流程并非是一条线进行的,经常会有分支。
还拿上面的例子来说明,比如乘客下车忘记刷卡,怎么办?这就引发另外一个分支流程:

a、乘客上车刷卡;

b、读卡器记录起始站点;

c、乘客下车忘记刷卡;

d、乘客第二次乘车下车刷卡;

e、读卡器自动查找上次的乘车记录,如果没有下车刷卡记录,则按全票计费,再加上当次费用合并计算;

f、读卡器自动扣款全部费用;

g、读卡器显示扣费结果。

当然,我这里的例子仅仅是为了说明流程,不涉及其中的算法,关于计费扣款的算法有很多种,具体采用哪种算法会综合考虑。

从上面的例子来看,针对复杂流程,我们需要考虑很多的分支流程。

3、了解业务的边界。
每一项业务不可能没有边界,所谓边界有两层含义,一层含义是指每项业务都有一个起止点。
大家都见过没有起止点的流程吧,对,都得有起止点。
所以我们展现流程的时候需要有个起止点。
边界的另一层含义是,任何一项任务都需要和其他的模块或系统做交互,没有人能够活在一个孤独的世界里,如果孤独了,那也等于结束了。
我们的流程也是这样,复杂流程都需要交代和外部系统的交互,但是我们平时所看到的的流程图貌似没有交互,实际上并不是没有交互,而是我们的设计师要么省略了,要么就当成内部节点处理了。

4、很多流程都有输出物。
流程输出形式很多,比如存到数据库、打印、输出成某种形式的文档、通过接口输出给其他系统等等。
这个也应该在流程里体现出来。

做到上面几点,基本上就可以表现流程了。
表现的方式也有多种,比较经典的还是流程图的方式,当然初期使用脑图也是可以的,有很多脑图高手将脑图画得惨不忍睹,这个也是不建议的,我们自己明白是不行的,关键的是要让别人明白,所以最终采取哪种形式,最好征求一下甲方的意见,如果不想征求意见的话,就干脆使用流程图的方式,比较稳妥。

如何画流程图,我就不在这里展开了,但是流程图有自己的规范,最好要瞭一眼,不然大家也是看不懂。
比如说起点是个圆点,节点是个方块等等,细节上注意一下。
另外在合适的地方加个注释会更好一些。

这几节的内容实际上都是架构师的工作内容,我会在后续的【软件架构师杂谈】中详细介绍。
之所以在这里简单介绍一下,是希望项目经理能够架构师的工作,从而更好的管理项目。

关于流程和流程图就聊到这,下一节我们聊一聊数据结构设计。

标签:

相关文章