BPMN、CMMN和DMN堪称流程改进标准的“三冠王”,是三种不同的业务流程和决策建模标准,相互补充和集成,共同为业务流程管理提供了一个全面的框架,从流程的执行、案例的管理再到决策的制定,每个标准都在其特定的领域内发挥作用,同时又与其他标准进行紧密协作。
BPMN是业务流程模型与标记法(Business Process Model and Notation)的英文缩写,是一种用于定义和规范业务流程,即从触发事件开始,通过一系列活动,最终达到某些业务成果的过程。主要适用于业务流程自动化、业务流程优化、跨部门协作和合规性管理等线性化、有严格执行顺序的、可预测的业务流程场景,例如:订单处理、审批流程等。核心元素包括:池/泳道、任务(含用户任务、服务任务、脚本任务等)、事件(含开始事件、中间事件、结束事件等)、网关(含并行网关、排他网关等)等。CMMN是案例管理模型与标记法(Case Management Model and Notation )的英文缩写,是一种用于定义案例,即在特定上下文中,一个事件触发后,根据条件执行特定的行动,是一种用于捕获基于处理需要各种活动的案例的工作方法,这些活动可能以不可预测的顺序执行以响应不断变化的情况。主要适用于非线性化、没有固定顺序的、需要根据不断变化的情况做出反应的业务流程场景,如客户服务或紧急响应等。核心元素包括:任务(含用户任务、过程任务、案例任务)、事件(含计划项启动事件、阶段完成事件)、阶段(含里程碑)、计划项、案例文件、声明等。DMN是决策模型与标记法(Decision Model and Notation)的英文缩写,是一种用于精确规范业务决策和业务规则的建模语言和符号,应用于定义决策制定过程,包括决策点、决策需求和决策逻辑。主要适用于基于输入的业务数据应用定义的业务规则来进行决策的场景,这些决策逻辑可以被BPMN或CMMN流程所引用。核心元素包括:决策(含决策节点)、输入数据、业务知识模型、知识源、决策表(含规则、输入条目、输出条目)等。这三种建模语言的共同点在于它们都提供了一种图形化的方式来表示复杂的业务逻辑,使得非技术背景的利益相关方也能够理解和参与到业务流程的设计和改进中。各自的侧重点不同:
以汽车保险申请流程为示例,基于BPMN+CMMN+DMN联合使用,对汽车保险申请流程进行描述。该流程以BPMN模型开始,如下所示:
一份保险申请被接收,触发该流程。然后经过风险评估决策后(基于DMN表达和解释说明),该流程有三种可能的执行方向,包括:
对于风险的确定,有一系列的输入来定义条件。在该示例中,引入三个输入条件,分别是“年龄”、“汽车制造商”、“汽车类型”,由此产生了五种可能的结果,这些输出的结果就是“风险评估”,用于驱动BPMN流程下一步的继续执行。当风险评估的结果为“黄色”级别时,该流程将进入人工评估阶段,见如下CMMN表达:
当流程达到这个阶段时,需要对保险申请进行人工评估。申请将由对应的员工执行,由该员工决定是否批准或拒绝申请,结束案例计划或继续执行流程。在该CMMN模型中还允许员工在作出决定时,让上级也参与评估,或者要求提供额外的文件。它还允许在员工批准申请后,上级可以批准或拒绝该决定,从而直接结束该案例计划。 DMN 提供了决策逻辑,而BPMN 和 CMMN 则是这些决策逻辑的“执行者”。在BPMN流程中,决策点可以触发DMN决策,而在CMMN案例中,决策可以指导案例的发展方向。在实际应用中,可以基于混合流程建模方法,将BPMN、CMMN、DMN结合起来使用,对业务流程进行建模,从而有助于以更加简单、更结构化和更符合现实场景的方式来定义组织的业务流程,以支持复杂的业务场景。
示例源自:https://aisel.aisnet.org/cgi/viewcontent.cgi?article=1006&context=capsi2018 |