【业务架构】如何在BPMN中正确使用泳道
在BPMN术语中,“泳道”代表两个主要分组BPMN元素-池和泳道。
池
池是设置业务流程边界的基本BPMN元素。池最多包含一个业务流程。这意味着两个流程程必须在两个不同的池中建模。池可以以将要执行的流程的形式具有可见的内部详细信息(称为“白盒池”),或者池可能没有可见的内部详细信息(称为“黑盒池”)。应该使用的池类型取决于所需的详细程度和特定的上下文。
“白盒”池通常以相应的业务流程(如“需求管理流程”、“帮助台流程”或“服务交付流程”)命名,而“黑盒”池通常以相应的组织、人员或系统(如“供应商”)命名,“客户”或“内容管理系统”)。
泳道
Lane是池中的子分区,用于组织和分类流程的活动。最常见的是,lane代表一个组织角色(例如开发人员、分析师和经理)。但是,泳道也可用于其他目的(例如第一阶段、第二阶段和第三阶段)
常见误解
游泳池和泳道的含义和语义常被误解。例如,一组池可能被错误地视为单个池中的一组泳道,反之亦然。这会导致语法和语义上错误的流程模型。
由于池和通道之间的语义差异,BPMN流元素(活动、网关和事件)的连接方式不同,这取决于它们是在池中使用还是在池之间使用。在池中,BPMN流元素以以下方式与序列流连接,如图2所示。
“池之间”通信时只能使用消息流。消息流表示两个池或流程之间的消息交换,包括它们的同步。可以按照图3中的定义使用消息流:
请注意,在这两种情况下,只允许元素之间的连接,如前两幅图所示。基于这些误解,在建模BPMN时,以下三个错误是常见的:
错误1:缺少序列流
问题。在对多个池进行建模时(例如,在业务对业务的情况下,两个或多个流程交互),一个常见的错误是池中的活动没有连接到序列流。
这种错误最常见的原因是建模者可能将多个池视为单个流程,并错误地将消息流解释为指示活动序列的方式。这种流程模型是无效的,因为没有明确定义活动的顺序。
解决方案。建模者应该始终对单个池进行建模和验证,并记住一个池不能包含多个流程。这意味着池中的所有流元素都应该使用图2和图3中定义的序列流进行连接。
错误2:序列流的错误使用
问题。建模多个池时的另一个常见问题是,建模者可能会将一组池视为具有多个通道的单个池。在这种情况下,建模者使用池之间的序列流。最终结果将是一个不正确的模型(参见图2),该模型散布在池的边界上。
解决方案。此问题最常见的解决方案是在单个模型中使用泳道交换池,如下所示。如果需要使用多个池(可能存在多个独立流程时),则应使用错误1的解决方案。
错误三:泳道使用不当
问题。有时,建模者可能会错误地将一个通道视为一个池,从而在单独的通道中表示各个流程。这是错误的,因为通道只是一种“活动分类机制”。下图显示了这个错误。
解决方案。这个问题最常见的解决方案与前一个类似;在两个流程中定义一个(如图9所示)。这意味着冗余的开始和结束事件将从模型中删除。如果实际需要多个池(存在多个独立流程),则应使用错误1的解决方案。
尽管如此,重要的是要指出,如果一个流程有两个开始或两个结束事件,在语法上并不是错误的!例如,几个不同的事件可以在不同的地方启动一个流程,例如,通过消息触发器异步启动一个流程,或者每天早上定期启动一个流程。另一方面,一个流程通常以不同的结束状态结束(例如“成功治疗”或“不成功治疗”)。
结论
本文介绍了BPMN“泳道”的概念,它可以用“池子”和“泳道”来建模。乍一看,这两个元素看起来非常相似,但是它们有完全不同的含义!
池是单个流程的容器,而通道充当“活动分类机制”。基于这些差异,BPMN流元素的关联方式完全不同。在池间交互的情况下,只能使用消息流。另一方面,只有顺序流可以在池内和泳道之间使用。
原文:https://blog.goodelearning.com/subject-areas/bpmn/common-bpmn-modeling-mistakes-swimlanes/
本文:http://jiagoushi.pro/node/1084
讨论:请加入知识星球【首席架构师圈】或者小号【jiagoushi_pro】
- 200 次浏览