模式语言的思想,起源于一本1977年出版的书关于建筑和它们的结构,很容易转化为其他类型的设计。本文描述了一种用于工作流建模的模式语言。
本文遵循一系列工作流建模模式:
体系结构的模式语言使用这样的思想,即建筑物的某些部分或城市规划的元素是时效性问题的重复解决方案。这些模式创建了一种语言,架构师可以使用这种语言在更高的层次上谈论他们的工作,而不是在砖块和砂浆的(字面上的)构建块上。作为流程设计人员,我们可以为流程模型做同样的事情。
在业务流程管理中,我们使用不同类型的模式来讨论流程建模。这些模式语言在抽象级别上有所不同。
低级别工作流模式
在同一个句子中提到“工作流”和“模式”会让一些人立即想到大写的“工作流模式”。工作流模式是一项学术倡议,用于描述过程语言的基本词汇和符号,例如BPMN。
如果您正在实现一个工作流引擎,例如Signavio workflow的核心引擎,那么workflow Patterns为您提供了一种有用的语言,用于在编程语言之上实现概念。如果你是一个商业用户,那么你会发现这些模式水平太低,没有什么用,这就是为什么你首先使用Signavio Workflow这样的工具的部分原因。
完整的业务流程模型
作为业务用户,您可能更愿意访问完整业务流程模型的存储库,该存储库恰好包含您所需要的确切模型,例如招聘流程、订单兑现流程或特定于您的行业的某些内容。不幸的是,由于各种原因,您可能找不到这样的流程存储库。
- 公司很少公开他们的业务流程细节,因为他们认为这样做很少或没有好处,因为他们想保护他们的商业秘密,甚至因为如果世界知道他们的真实工作方式,他们会感到尴尬。
- 尽管成功了BPMN 2.0标准在美国,能够流利地阅读和编写流程模型的人相对较少,即使公司确实发布了这些模型,这些模型对任何人来说都是有意义的,并且在实践中可以重用。
- 其他人的模型用处有限,因为事实证明,每个人做事情的方式都略有不同。您可能会花费更长的时间来理解和修改别人的模型,而不是从头开始为自己的流程建模。
尽管存在这些问题,但我相信世界确实需要一个开源BPMN 2.0流程模型的存储库,以促进对每个模型的讨论和变化,但是我将把这个故事留待以后讨论。
可重用的工作流片段
如果您发现底层工作流模式太抽象,而其他人的完整流程模型太具体(或者不可用),那么您可能会从介于两者之间的东西中获得更多的价值。您将不能使用其他人的Product Prototype流程,但可以重用表示文档结束的部分。
事实证明,复杂的业务流程往往包含通常出现在许多模型中的模型片段。例子包括:
- 文档归档-保存文件最终版本的副本
- 多涉众输入-听取多个利益相关者对提案的意见
- 被拒绝的通知-发送批准被拒绝的标准通知
- 申请表格批核-管理部门对填写在表单上的请求的批准
- 独立复杂工作-区分需要专业知识的任务。
大多数业务流程都包含一个或多个这样的示例,您可以在下面的文章链接中找到这些示例。
工作流建模模式
为了避免与工作流模式(上面)混淆,让我们称这些可重用的流程模型片段为“工作流建模模式”。为了保持模式语言的传统,每一个都使用一个标准模板。
- 模式名称-一个概括图案目的的名词短语。
- 过程目标-一个动词短语,概括了过程片段的成就。
- 例子-这种模式的具体例子,作为现实世界过程的一部分。
- 上下文-这个模式什么时候有用,什么时候不用。
- 结构-流程模型图。
- 参与者(也称为协作)——图中的元素如何一起工作。
- 后果-可能的实现选择之间的权衡。
- 相关模式-做类似事情或参与更大结构的其他模式的列表。
本博客之前的文章包括上面提到的例子,以及其他一些建爱游戏ayx双赢彩票模模式:
这些只是冰山一角。您经常看到哪些流程模型片段?