您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
   
 
     
   
 订阅
  捐助
在EA中创建CMMN模型
 
作者:张贵显(火龙果软件工程)
608 次浏览     评价:  
 2020-9-23
 

CMMN(Case Management Model and Notation)是案例管理模型和符号的缩写,它是一种相对比较新的符号,于2014年首次发布,最新版本是 OMG在2016年3月发布的1.1版。它定义了用于建模和图形化表达案例的通用元模型和符号以及一种用于在不同工具之间交换案例模型的接口格式。

提到案例管理,首先我们先了解一下什么是案例。案例是CMMN中的主要概念,它类似于一个过程。案例管理是一种业务流程技术,它不使用控制流来描述流程,典型的案例管理场景有贷款申请、保险索赔、客户投诉等。案例管理不同于业务流程管理(BPM)。它更多的关注整个案例中要处理的实际数据,而不是实施步骤的顺序。

为什么需要CMMN

业务流程建模已经有了BPMN,为什么还要使用CMMN呢?因为如下2点:

1、CMMN更接近于实际的业务描述,所以采用案例的方式,从一个真实而完整的视角描述业务。它是没有顺序的流程,它以某种状态对案例建模。根据状态和情况而定,有些事情可能会处理,有些事情可能不会。控制主要由人来执行。

2、CMMN模型说明了要完成的工作,但没有说明如何实现它。相反,BPMN强制性地规定了流程中某些步骤必须进行的工作。

在EA中CMMN有什么

CMMN中一个案例包含一个案例文件(即案例数据容器),它包含有关流程的所有数据和信息。

EA中CMMN模型中的案例模型用公文夹的样式表示。每个案例模型都包含一个用于放置计划元素的「案例计划模型」,每个计划元素都有明确的类型,常见计划元素如人员的工作任务(human task)、里程碑(milestone)、流程任务(process task)、案例任务(case task)和阶段(stage)等。如下所示


EA中CMMN 元素

元素图示 名称 说明
CasePlanModel 案例计划模型: 在案例计划模型中捕获案例的完整行为模型。
CaseFileItem 案例文件项:所有数据和数据结构都称为案例文件项。所有案例文件项都存储在案例文件中。案例文件项用于表示各种数据,包括数据库中的数据值、数据库中的行、文档、电子表格、图片、视频、录音等。除基本数据外,案例文件项也可以表示容器,包括目录、文件夹、集合、堆栈、列表等。
Stage 阶段(Stage):阶段用于把一组元素聚合在一起,可以有进入和退出的条件。阶段可以嵌套,一个阶段中的计划元素只有其父阶段激活时才生效。
EntryCriterion 条件(Criteria):分为进入条件和退出条件。

进入条件:描述任务、阶段或里程碑何时应该可用于执行(进入条件)

ExitCriterion 退出条件类似于条目标准,但它用于在满足时停止处理阶段、任务或案例(案例计划)。
PlanFragment 计划片段
Task 任务(Task):任务是发生于引擎外部的事件,包含名称、阻塞(决定任务是否阻塞的布尔值)、阻塞表达式(表达式的布尔值决定任务是否阻塞)等属性。
HumanTask 人员的工作任务(Human task):通常指需要人员通过表单执行的手动任务,包含一系列属性。
CaseTask 案例任务(Case task):案例可以嵌套,案例中的子案例就是案例任务。可用于调用另一个案例。
ProcessTask 流程任务(Process task):当流程任务阻塞时,实例化的计划要素会处于激活状态,直至流程任务完成。可以在案例中用于调用业务流程。
Milestone 里程碑(Milestone):里程碑标识某一具体案例到达特定点。
TimerEventListener 定时器事件监听器:用于捕获预定义的时间流逝
UserEventListener 用户事件监听器是用来捕捉由用户引发的事件。
PlanningTable 计划表:阶段或人工任务可以具有计划表,指示是否可视化( - )或(+)可自由选择的项目。当用户“扩展”计划表时,其包含的可自由支配的项目在阶段内或人工任务外部可见。对于与人工任务关联的自由选项,计划仅在任务的活动状态下可用。
Connector 连接器。

好了,我们了解了EA中的CMMN模型,那么问题来了!

如何在EA中创建CMMN 模型呢?

在EA中创建CMMN模型

首先创建图,然后选择 Analysis 中CMMN图,点击确定即可。


下面我们用一个简单的客户投诉流程为例进行CMMN建模 。建模投诉流程的目的是使投诉流程标准化,为负责该流程的客户服务人员提供指导和支持。

如下是我们创建好的CMMN模型。


首先我们要分析创建 投诉流程的CMMN 模型,都有哪些里程碑、阶段、任务、事件触发器等,然后在工具箱中选择相应的元素拖到画布。

上图中我们设置了如下内容:

1. 流程有几个必须达到的里程碑:

  • 收到的客户信息
  • 完成投诉
  • 2. 设置多少个任务由我们自己决定。

    3. 包含“ 产品投诉”和“ 服务投诉”2个阶段。

    4. 确当文件项目,包含输入信息、报告、决议文件、取消文件等

    5. 创建文档或达到截止日期后将完成流程。

    具体建模步骤如下:

    1、首先我们创建 收到客户投诉信息的流程。


    输入文件夹可以包含电子邮件,文档,图片,客户电话等信息,我们把客户提交的所有数据放着这个文件夹下。

    2、在投诉过程中,发送信函 任务取决于两个事件,一个事件来自收到的客户信息里程碑,另一个事件来自决议案件文件。


    我们需要客户的输入信息,并且我们必须接受这个投诉才能将信函发送给客户。这意味着输入条件有两个事件,并且它们形成一个AND条件。必须满足这两个事件,才能满足输入标准。

    3、取消投诉可以是客户取消投诉的语音记录,客户的来信,或者只是案例数据中的标记。


    4、我们设置一个用户事件监听器,为主管提供一种触发退款任务的方法。


    5、产品投诉阶段中,产品专家任务没有输入条件,因此,一旦产品投诉开始执行,产品专家任务也会立即开始执行。最终,案例工作者可以创建报告,根据设定条件满足已完成的里程碑。


    6、欺诈调查是一个自由裁量阶段,因此以虚线绘制。它包含两个非自由选择项(欺诈里程碑和调查阶段)。


    以上就是我们CMMN 建模的全部内容,在实际项目中我们很少单独用CMMN建模,一般是结合BPMN以及DMN建立模型,我们网站还有很多这方面资源,欢迎大家关注。

    如果您希望了解更多信息:

    下载 pdf版: 《在EA中创建CMMN模型》

    本文使用的建模工具为EA,可以下载试用版http://tool.uml.com.cn/ToolsEA/download.asp

     

    后记

    希望您读了此文后有所受益。

    如果您有经验乐于分享,欢迎投稿给我们。

    如果您对我们的培训、咨询和工具感兴趣:

  • 课程:基于UML和EA进行分析设计
  • 课程:MBSE(基于模型的系统工程)  
  • 课程:基于模型的需求管理)方法与实践
  • 课程:基于SysML和EA进行系统设计与建模  
  • 课程:企业架构建模
  • 课程:系统架构建模方法与案例
  • 课程:领域驱动的建模与设计
  • 课程:基于模型的设计
  • 课程:业务建模与业务分析
  • 建模工具:EA
  • 基于模型的需求管理工具:iSpace
  • 咨询方案:MBSE(基于模型的系统工程)
  • 咨询方案:基于UML的模型驱动的开发
  • 欢迎联系我们: 俎涛 Zutao@uml.net.cn

       
    608 次浏览     评价: 订阅 捐助
     
    相关文章

    UML概览
    UML图解:用例图(Use case diagram )
    UML图解:活动图(activity diagram )
    UML图解:类图(class diagram )
     
    相关文档

    UML统一建模语言参考手册
    网上商城UML图
    UML建模示例:JPetStor
    UML序列图编写规范
     
    相关课程

    UML与面向对象分析设计
    UML + 嵌入式系统分析设计
    业务建模与业务分析
    基于UML和EA进行系统分析设计
    最新课程计划
     
    最新文章
    iPerson的过程观:要 过程 or 结果
    “以人为本”的工程哲学
    企业架构、TOGAF与ArchiMate概览
    UML 图解:顺序图( sequence diagram )
    UML 图解:对象图( class diagram )
    最新课程
    基于UML和EA进行系统分析设计
    UML+EA+面向对象分析设计
    基于SysML和EA进行系统设计与建模
    UML + 嵌入式系统分析设计
    领域驱动的建模与设计
    更多...   
    成功案例
    某电信运营供应商 应用UML进行面向对象分析
    烽火通信 UML进行面向对象的分析设计
    西门子 UML与嵌入式软件分析设计
    航天科工某子公司 从系统到软件的分析、设计
    深圳某汽车企业 模型驱动的分析设计
    更多...