对工作流的基本了解小结-1

本文深入探讨了工作流与业务流程管理的区别,详细解析了流程定义的四个层次,包括状态层、上下文层、程序逻辑层和用户界面层。同时介绍了控制流的概念及UML活动图在业务流程建模中的应用,阐述了有限状态机(FSM)在流程执行过程中的作用,以及工作流系统中令牌的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近一直在学习工作流,初步还是停留在概念上的学习,这些资料当然也是来自互联网上,来自于自己读别人的blog上。

希望一些牛人能给我这个入门小菜鸟一些好的指示!

 

工作流和业务流程管理(BPM)的关系:
术语“工作流”通常描述人与计算机系统的一系列相关交互。工作流多半局限于技术领域。
业务流程管理,从管理人员的角度涉及了非技术问题,比如分析、组织的效率。

流程定义的四个层次:
什么是流程定义包括的内容。一个流程应该包含了什么内容,流程在业务中的意义。是一个业务的体现?还是others?
流程定义可划分为四个不同的层次:状态(State)、上下文(Context)、程序逻辑(Programming logic)和用户界面(UI)
【控制流】:程序中的命令、if语句、switch语句和循环语句等确定。其定义了必须被执行的指令顺序。业务流程使用状态作为基本元素。

状态层(State Layer)
所有状态和控制流的表述,都属于业务流程的状态层。
在流程中,状态 (或者说等待状态)代表了一种对外部参与者(actor)的依赖。状态的意思就像“现在X系统或某某人必须作某些事,在此等待直到参与者通知这些任务已完成”。
流程定义的控制流包含一组状态和它们之间的关系。状态之间的逻辑关系描述了哪些执行路径可以同时执行,那些不可以。
同步执行路径用分叉(forks)和联合(joins)建模,异步执行路径用判断(decisions)和合并( merges)建模。

UML活动图经常被用来做业务流程建模。作为一种直观和通用的表达,活动图在图形表述上有一个主要问题,就是没有区分状态和动作,它们都用活动来表示。【概念上的含糊不准确,容易误导理解,有可能对开发造成干扰】
在流程运行过程中,工作流系统用一个令牌(token)作为指针跟踪流程的状态。【token相当于程序计数器】

【有限状态机 Finite State Machine】:
有限状态机(FSM)或有限状态自动机或简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型.
可以这样理解,系统的行为如果在不同的时间(环境)下,其工作不同,并且行为可以分成所谓的有限的状态以及不重叠的程序块时,系统显现出了状态行为。
FSM肯定体现两点:首先是离散的,然后是有限的。
State:
  状态这个词有些难以定义,状态存储关于过去的信息,就是说它反映从系统开始到现在时
  刻的输入变化。


OSWorkFlow核心概念:
步骤(Step):
一个 Step 描述的是工作流所处的位置。可能从一个 Step Transtion(流转)到另外一个 Step,或者也可以在同一个 Step 内流转(因为 Step 可以通 Status 来细分,形成多个State)。一个流程里面可以多个Step。
状态(Status):
工作流 Status是用来描述工作流程中具体Step(步骤)状态的字符串。OSWorkflow 的有 Underway(进行中)、Queued(等候处理中)、Finished(完成)三种 Status。一个实际 State(状态)真正是由两部分组成:State = (Step + Status) 。
流转(Transtion):
一个State到另一个State的转移。
动作(Action):
Action 触发了发生在 Step 内或 Step 间的流转,或者说是基于 State 的流转。一个 step 里面可以有多个Action。Action 和Step 之间的关系是,Step 说明“在哪里”,Action 说明“去哪里”。 一个 Action 典型地由两部分组成:可以执行此Action(动作)的Condition(条件),以及执行此动作后的 Result(结果)。   
条件(Condition):
类似于逻辑判断,可包含“AND”和“OR”逻辑。比如一个请假流程中的“本部门审批阶段”,该阶段利用“AND”逻辑,判断流程状态是否为等候处理中,以及审批者是否为本部门主管。
结果(Result):
Result 代表执行Action(动作)后的结果,指向新的 Step 及其 Step Status,也可能进入 Split 或者 Join。
Result 分为两种, Contidional-Result (有条件结果),只有条件为真时才使用该结果,和 Unconditional- Result(无条件结果),当条件不满足或没有条件时使用该结果。
分离/连接(Split/Join):
流程的切分和融合。很简单的概念,Split 可以提供多个 Result(结果);Join 则判断多个 Current Step 的态提供一个 Result(结果)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值