顺序sequence结构
任务前后按顺序执行。先执行A,A完成后执行B。

平行parallel结构
任务A和B在X完成后同时开始,并行执行。

判断decision结构
二元判断
经过D点决策后,按照条件方向,执行A或者B。
条件A和条件B构成判断的全集,例如是/否,通过/不通过等。

多元判断
经过D点决策后,根据一系列判断条件,选择相应的后续执行步骤。
条件Ai组成判断的全集,Ai之间可能存在一定交叉。因此,在某个条件Aj判断为真之后,其余条件并不能豁免判断,所有条件都应遍历。

循环结构
重复-直到REPEAT-UNTIL结构
重复执行任务A,直到满足条件C。例如,重复执行修改报告的任务,直到汇报通过。

如果-那么DO-WHILE结构
如果满足条件C,则执行任务A,直到条件C不再满足。例如,如果今天的任务还没有完成,则继续处理任务,直到今天的事情处理完毕。

其他逻辑结构
基本流程图较为适合表达以上较为简单的逻辑关系,但是当出现多个关系的协同判断的的时候,存在一些问题,因此,笔者在基本流图符号语言之外,以BPMN网关为蓝本引入AND和OR两种符号,用来表示一些较为复杂的逻辑关系。
这一做法并非公认,只作为笔者的一家之言,读者是否使用请自行判断。
分叉(AND-FORK)
指A完成后同时开始B和C,B和C之间不具有排他性,这时候我们可以如下左,使用AND符号连接,也可以直接从A连到B和C。

例如群付款。

排他(EXCLUSIVE)
A完成后,通过某种条件来指示是开始B还是C,为了和决策decision区别开来,我们约定,decision是人工的决策活动,而逻辑符号表示的是无需人工的,经由机器或者系统的判断活动。

例如聚餐付款

合并(MERGING)
A或者B完成后,C就可以开始工作,不一定需要AB都完成。可以如下左显示,通过OR符号连接,也可以不适用逻辑符号。

例如借一支笔。

连接(JOIN)
表示AB都完成后,才能开始C,使用AND符号连接。

例如约多个人开会。


原 文 
评 论