一种改进的事件驱动流程链建模方法及装置的制作方法

文档序号:6578546阅读:94来源:国知局
专利名称:一种改进的事件驱动流程链建模方法及装置的制作方法
技术领域
本发明涉及业务流程建模技术,特别涉及一种改进的事件驱动流程链建模方法及
直O
背景技术
目前,存在多种用于表征业务流程的建模语言。例如Petri net、事件驱动流程链 (EPC :Event-driven Process Chain)、统一建模i吾言 舌动图(UML activity diagram)、业 务流程建模符号(BPMN business Process Modelling Notation)等。采用这些建模语言 所建立的模型,可以在一个组织中的不同人群之间实现通信,这些人群可能具备某一特殊 领域的知识,或是具备技术知识的顾问或软件工程师等。采用自然语言描述业务流程可能 会存在一些问题,而实际应用中有许多问题根本无法用数学公式表达,因此,人们试图通过 采用建模语言中的半公式化图标或图表来避免上述问题。在众多建模语言当中,EPC语言是一种直观的、图形化的流程建模语言,它是“事 件”与“功能”的定向连接图。EPC中的主要元素有流程(Process)、事件(Event)、功能 (Function)、连接符(Connector)、逻辑运算符、流程接口(Process Interface)、组织单元 (Orgnization Unit)和角色(Role)。EPC中提供了多种连接符(Connector)以允许选择执 行或并行执行流程,并进一步提供了诸如“与”、“或”、“异或”等的逻辑运算符。下面通过表 1对EPC中的元素、以及各元素的图标和功能进行简要介绍 表 1EPC语言的用途在于描述流程的先后顺序,而不是着重在细部定义的叙述;与其 它建模语言相比,其最大的优点在于能把描述能力和易读性二者进行很好的结合,因此使 得非流程建模人员也能轻易地理解其中的含义。并且,EPC模型可以采用与工具无关的EPC 过程描述语言(EPML:EPC Markup Language)来描述。因此,EPC以其简单、易于理解的优 势成为一种被广泛接受的技术,并被众多公司用于进行业务流程的建模、表示、分析和重设 计。表1中的组织单元用于确定哪个参与者或组织对某个特定的功能负责,它是流程 建模中的角色描述,例如销售部门、销售经理、产品经理等。在角色描述方面,EPC建模方 法存在一些不容忽视的缺点。具体包括1、在组织命名或人员命名上难以保持一致性。例如假设某个EPC模型中存在60 个以上的功能,并且不同的功能由来自不同部门的技术工程师执行,对于流程建模者来说, 确保组织命名的正确性、并在业务流程需要作出一些变更时保持组织单元与功能之间的一 致性将非常困难。2、难于理解。EPC使用非常简单的模型元素,并将这些模型元素连成一个定向的 流程图,因此,它比其它建模语言更易于理解。但是,如果每个功能都需要横向连接相应的 组织单元的话,将使整个业务流程变得非常复杂,并可能导致一些误解。例如图1为现有 技术中一个多角色EPC模型的示意图。图1中,组织单元图标内的“汽车消费者雇员”、“汽 车消费者雇主”、“汽车供应商销售人员”、“汽车供应商仓库管理员”和“汽车供应商技术员” 是该流程中的不同角色,需要执行不同的功能。由于图1中每个功能都有相应的组织单元, 导致图1所示流程的可读性比较差,比较难于理解。3、难以统计。由于组织和人员的信息分布在整个业务流程的各个角落,并未集中 存放,导致分析人员、建模人员或用户无法快速得到一些统计信息,例如总共有多少人参 与了该业务流程、多少功能属于某些人等等。

发明内容
有鉴于此,本发明的主要目的在于提供一种改进的EPC建模方法及装置,以弥补 EPC模型在角色描述方面存在的缺陷。为达到上述目的,本发明提供了一种改进的事件驱动流程链建模方法,所述事件 驱动流程链EPC建模方法采用连接符将功能、事件和逻辑运算符元素按照业务逻辑连接成业务流程,所述各个功能有其对应的参与者;该方法预先设置用于表示业务流程参与者的泳池Pool和泳道Lane ;并在建模过 程中执行如下操作根据参与者之间的归属关系构造相应的Pool和Lane ;根据所述各个功能与参与者之间的对应关系,将所述业务流程中的元素归类到相 应的参与者所对应的Pool和Lane中。较佳地,所述Pool与Lane之间的关系可以为若一个Lane归属于一个Pool,那 么,所述Lane所对应的参与者归属于所述Pool所对应的参与者。较佳地,所述根据参与者之间的归属关系构造相应的Pool和Lane可以为对每一 个参与者执行如下操作判断所述参与者是否归属于其它参与者,若所述参与者不归属于其它参与者,则 对应于所述参与者构造一个Pool ;否则,判断所述参与者所归属的参与者是否对应于一个Pool,如果是,则对应于所 述参与者构造一个归属于所述Pool的Lane ;如果不是,则所述参与者所归属的参与者对应一个Lane,对应于所述参与者构造 一个归属于所述Lane的Lane。较佳地,在将所述业务流程中的元素归类到相应的参与者所对应的Pool和Lane 中时,遵循如下原则每个功能归类到一个Pool或Lane中。较佳地,所述Pool的属性可以包括名字属性、流程属性、角色属性和Lane属性, 其中所述名字属性为Pool的文本描述;所述流程属性用于表示Pool中所包含的流程;所述角色属性用于表示Pool所对应的参与者;所述Lane属性用于表示Poo 1中所包含的Lane。所述Pool的属性可以进一步包括边界可见属性,所述边界可见属性用于表示所 述Pool的竖直边界是否可见。较佳地,所述Lane的属性可以包括名字属性和父Pool属性,其中所述名字属性为Lane的文本描述;所述父Pool属性用于表示所述Lane所归属的Pool。所述Lane的属性可以进一步包括父Lane属性,所述父Lane属性用于表示所述 Lane所直接归属的Lane。进一步地,该方法还可以包括为所述业务流程中的元素增加Pool属性和Lane属 性,其中所述Pool属性用于表示所述元素所属的Pool ;所属Lane属性用于表示所述元素所属的Lane。本发明还提供了一种改进的事件驱动流程链建模装置,所述事件驱动流程链EPC 建模装置用于采用连接符将功能、事件和逻辑运算符元素按照业务逻辑连接成业务流程, 所述各个功能有其对应的参与者;所述EPC建模装置中进一步包括用于表示业务流程参与者的泳池Pool和泳道Lane,其中所述Pool和Lane用于体现参与者之间的归属关系,并用于根据所述各个功能与 参与者之间的对应关系,作为承载所述业务流程中对应的元素的归类容器。由上述技术方案可见,本发明通过在EPC建模语言现有元素的基础上,引入Pool 和Lane这两种元素,并通过Pool和Lane对业务流程中的功能进行归类,将流程逻辑映射 到具体的组织单元和角色的执行关系下,从而完善了 EPC建模语言在角色描述上的缺陷, 使得EPC模型更易于理解、更容易保持一致性、流程更优化、并便于对相应参与者的职责进 行统计和审计。


下面将通过参照附图详细描述本发明的示例性实施例,使本领域的普通技术人员 更清楚本发明的上述及其他特征和优点,附图中图1为现有技术中一个多角色EPC模型的示意图;图2为本发明一实施例中Pool的图标;图3为本发明一实施例中Lane的图标;图4为本发明改进的EPC建模方法的流程示意图;图5为采用本发明改进的EPC建模方法对图1所示现有多角色EPC模型进行改进 之后得到的模型示意图。
具体实施例方式为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对 本发明进一步详细说明。本发明的主要思想是在EPC建模语言现有元素的基础上,引入泳池(Pool)和 泳道(Lane)这两种元素,并通过Pool和Lane对业务流程中的功能进行归类,将流程逻辑 映射到具体的组织单元和角色的执行关系下,从而完善EPC建模语言在角色描述上的缺 陷。以下,将引入本发明的Pool和Lane这两种元素之后的EPC模型称为eEPC-PL模型 (Enhanced Event-driven Process Chain with Pools&Lanes)0下面对本发明引入的Pool元素和Lane元素进行详细说明Pool表示业务流程的参与者。该参与者可以是一个特定的商业实体(例如公司) 或一个更普通的商业角色(例如购买者、出售者或制造者)。Pool是一个用于与其它Pool 分割业务流程的容器,尤其是在对商业到商业的情形进行流程建模时。从图标上而言,本发 明采用一个直角矩形内画一道黑色横向实心线的图标来表示Pool,如图2所示。当然,在实 际应用中,可以采用其它合适的图标表示Pool。在Pool中使用文本、颜色、大小、线等的规 则可以遵循现有技术中Contector的相关规则。Pool扮演着一种在各活动之间流动的功能的容器的角色。由于某一功能只能由一 个特定的角色执行,因此,功能不能穿越Pool的边界。但是,事件流可以穿越Pool的边界, 以连接对应的功能活动和功能。与EPC模型不同,本发明提出的eEPC-PL模型中至少包含一个Pool。在大部分情 况下,仅由一个Pool组成的eEPC-PL模型将只显示流程的活动,而不显示Pool的边界。进一步地,eEPC-PL模型可以以无边界的方式显示“主”Pool。也就是说如果对于建模者或 建模者的组织而言,代表这些被执行的工作的活动属于“内部”活动时,该活动可以不包含 在具有边界的Pool中,但是,流程图中其它的Pool必须有其相应的边界。Pool中的Lane用于对Pool中的活动进行组织和归类。建模者可以根据实际应用 的需要定义Lane的意义。Lane通常用于表示内部角色(例如经理、同事)、系统(例如 企业应用程序)、内部部门(例如运送、经费)等。例如以图1为例,假设将“汽车消费 者”作为一个Pool,那么“汽车消费者”下面的“雇主”和“雇员”可以分别作为属于该“汽 车消费者” Pool中的一个Lane。从图标上而言,Lane是Pool中的一个子部,并可在水平方向和竖直方向扩展Pool 的整个长度,如图3所示。与Lane相关的文本(如它的名字或其它属性)可以置于Lane 中的任意位置,建模者可以根据实际应用的需要确定。此外,Lane也可以嵌入或定义在矩阵中。例如可以为公司的部门设置一个Lane 的外部集,并为每个部门中的各个角色设置一个内部集。Lane也是一种在各活动之间流动 的功能的容器。因此,与Pool相同,功能不能穿越Lane的边界,但事件流可以穿越Lane的 边界,以连接对应的功能活动和功能。在引入了 Pool元素和Lane元素的EPC建模装置中,Pool和Lane可以用于体现 参与者之间的归属关系,并用于根据各个功能与参与者之间的对应关系,作为承载业务流 程中对应的元素的归类容器。基于上述对Pool和Lane的介绍,下面对本发明改进的EPC建模方法进行说明。图4为本发明改进的EPC建模方法的流程示意图。现有EPC建模方法采用连接符 将功能、事件和逻辑运算符等元素按照业务逻辑连接成业务流程,所述各个功能有其对应 的参与者。本发明改进的EPC建模方法是在上述现有EPC建模方法基础上的改进,参见图 4,本发明方法包括以下步骤步骤401 预先设置用于表示业务流程参与者的Pool和Lane。根据上述对Pool和Lane的介绍,Pool与Lane之间的关系为若一个Lane归属 于一个Pool,那么,该Lane所对应的参与者归属于该Pool所对应的参与者。在建模过程中,执行如下步骤402 403。步骤402 根据参与者之间的归属关系构造相应的Pool和Lane。本步骤中,在构造Pool和Lane时所遵循的原则是对应于每一个不归属于任何其它参与者的参与者构造一个Pool ;对应于直接归属于Pool所对应的参与者的参与者构造一个归属于所述Pool的 Lane ;对应于直接归属于Lane所对应的参与者的参与者构造一个归属于所述Lane的 Lane0在具体实现时,可以通过对每一个参与者执行如下操作来完成Pool和Lane的构 造判断该参与者是否归属于其它参与者,若该参与者不归属于其它参与者,则对应 于该参与者构造一个Pool ;否则,判断该参与者所归属的参与者是否对应于一个Pool,如果是,则对应于该参
8与者构造一个归属于该Pool的Lane ;如果不是,则表明该参与者所归属的参与者对应一个Lane,对应于该参与者构造 一个归属于该Lane的Lane。构造了 Pool和Lane后,可以根据实际应用的需要为其定义相应的属性,以便在建 模过程中使用。下面通过一些例子对属性定义进行说明。表2示出了本发明为Pool定义的属性示例 表2表3示出了本发明为Lane定义的属性示例 表3引入本发明的Pool和Lane这两种元素之后,现有EPC中的元素需要增加一些相
关的属性。表4示出需要在现有EPC的相关元素的属性中所增加的属性示例
0079]表 4
0080]需要增加表4所示属性的元素包括功能、流程接口等。
0081]在引入本发明Pool和Lane元素之后,标准EPML机制也需要作出-本发明的实施。例如<xselementname ='name “ type = ”xs:string" />
<xselementname ='process“ type =xs:string" />
<xselementname ='role" type = 〃xs:string" />
<xselementname ='Lanes 〃 type =“xs:typeLane“ />
<xselementname =“boundaryvisible‘type = “ xs:boolean
-些改进以适应
0082]
0083]
0084]
0092]
0093]
0094]
0095]
0096]
0097]
0098]
0099]
0100] 0101] 0102]
0103]
0104]
0105]
0106]
基于上述定义的Pool的属性,可以按照如下方式增加Pool类型 <xs complexType name=" typePool “ >
0090]</xscompl exType>
0091]基于上述定义的Lane的属性,可以按照如下方式增加Lane类型 <xscomplexType name = “ typeLane“ >
<xselement name=" name“
type 二” xs string"
〈xs: element name =〃 parentpool “ type =〃 xs: typePool/r /> 〈xs:element name =〃 parentLane“ type =〃 xs:typeLane/r />
</xs:complexType)
在现有功能类型的定义中,可以按照如下方式增加一些定义 <xs: complexType name 二" typeFunction" >
〈xs:element name =“ 〈xs:element name =“
pool “ type =” xs: tyepPool “ /> Lanes'7 type =” xs:typeLane/r />
</xs:complexType)
步骤403 根据各个功能与参与者之间的对应关系,将上述业务流程中的元素归 类到相应的参与者所对应的Pool和Lane中。 根据上述对Pool和Lane的介绍,在进行元素归类时,需要遵循原则每个功能归 类到一个Pool或Lane,也就是说功能不能穿越Pool或Lane的边界。
10
至此,结束本发明改进的EPC的建模方法。采用本发明上述方法对图1所示现有多角色EPC模型进行改进,可以得到如图5 所示的模型。图5中,根据图1所示多角色EPC模型中各参与者之间的归属关系,构造了两个 Pool,分别是“汽车消费者”Pool和“汽车供应商”Pool。并且,为“汽车消费者”Pool构造 了两个Lane 分别是“雇员”Lane和“雇主”Lane ;为“汽车供应商”Pool构造了三个Lane 分别是“销售人员,,Lane、“仓库管理员,,Lane和“技术员,,Lane。然后,根据参与者与功能 之间的对应关系,将相应的功能分别归类到对应的Pool和Lane中。该归类过程并不改变 原有业务流程中各元素之间的连接关系。由上述可见,本发明提供了一种富有创造性的改进的EPC流程建模方法及装置, 该方法及装置具备以下优点1、能够优化流程、调整角色本发明提供的Pool和Lane可以帮助传统的EPC模型 将功能和活动分解、归类到相应的角色下,从而使建模者或流程拥有者能够非常简便地分 析多少参与者对多少功能或活动负责,以及分配给哪些参与者的职责超出了其能够承受的 负担。从而,流程拥有者可以在各参与者之间平衡职责。2、能够进行职责审计如果流程实例在运行过程中出错了,流程拥有者通过分析 所失败的功能的Pool和Lane的位置,可以很清楚地找出该问题该由哪个参与者负责。3、传统的EPC模型主要专注于对一个给定的参与者提供内部的特定的专用流程。 EPC模型也可以定义一个抽象的流程,但是,是从单个的参与者的视角而言。本发明提供的 eEPC-PL模型图可以描述多个参与者,同时,可以显示单个子流程或参与者之间的协作流 程。每个单独的杀个农业自流可以成被看作是由不同的参与者执行,从图形上而言,每个角 色或参与者可被划分,即可被包含在一个矩形区域中。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在 本发明的精神和原则之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范 围之内。
权利要求
一种改进的事件驱动流程链建模方法,所述事件驱动流程链EPC建模方法采用连接符将功能、事件和逻辑运算符元素按照业务逻辑连接成业务流程,所述各个功能有其对应的参与者;其特征在于,该方法预先设置用于表示业务流程参与者的泳池Pool和泳道Lane;并在建模过程中执行如下操作根据参与者之间的归属关系构造相应的Pool和Lane;根据所述各个功能与参与者之间的对应关系,将所述业务流程中的元素归类到相应的参与者所对应的Pool和Lane中。
2.根据权利要求1所述的方法,其特征在于所述Pool与Lane之间的关系为若一个Lane归属于一个Pool,那么,所述Lane所对 应的参与者归属于所述Pool所对应的参与者。
3.根据权利要求2所述的方法,其特征在于所述根据参与者之间的归属关系构造相应的Pool和Lane为对每一个参与者执行如 下操作判断所述参与者是否归属于其它参与者,若所述参与者不归属于其它参与者,则对应 于所述参与者构造一个Pool ;否则,判断所述参与者所归属的参与者是否对应于一个Pool,如果是,则对应于所述参 与者构造一个归属于所述Pool的Lane ;如果不是,则所述参与者所归属的参与者对应一个Lane,对应于所述参与者构造一个 归属于所述Lane的Lane。
4.根据权利要求2所述的方法,其特征在于在将所述业务流程中的元素归类到相应的参与者所对应的Pool和Lane中时,遵循如 下原则每个功能归类到一个Pool或Lane中。
5.根据权利要求1至4任一项所述的方法,其特征在于所述Pool的属性包括名字属性、流程属性、角色属性和Lane属性,其中 所述名字属性为Pool的文本描述; 所述流程属性用于表示Pool中所包含的流程; 所述角色属性用于表示Pool所对应的参与者; 所述Lane属性用于表示Pool中所包含的Lane。
6.根据权利要求5所述的方法,其特征在于所述Pool的属性进一步包括边界可见属性,所述边界可见属性用于表示所述Pool的 竖直边界是否可见。
7.根据权利要求1至4任一项所述的方法,其特征在于 所述Lane的属性包括名字属性和父Pool属性,其中 所述名字属性为Lane的文本描述;所述父Pool属性用于表示所述Lane所归属的Pool。
8.根据权利要求8所述的方法,其特征在于所述Lane的属性进一步包括父Lane属性,所述父Lane属性用于表示所述Lane所直 接归属的Lane。
9.根据权利要求1至4任一项所述的方法,其特征在于,该方法进一步包括 为所述业务流程中的元素增加Pool属性和Lane属性,其中所述Pool属性用于表示所述元素所属的Pool ; 所属Lane属性用于表示所述元素所属的Lane。
10.一种改进的事件驱动流程链建模装置,所述事件驱动流程链EPC建模装置用于采 用连接符将功能、事件和逻辑运算符元素按照业务逻辑连接成业务流程,所述各个功能有 其对应的参与者;其特征在于,所述EPC建模装置中进一步包括用于表示业务流程参与者的泳池Pool和 泳道Lane,其中所述Pool和Lane用于体现参与者之间的归属关系,并用于根据所述各个功能与参与 者之间的对应关系,作为承载所述业务流程中对应的元素的归类容器。
全文摘要
本发明公开了一种改进的事件驱动流程链建模方法,该方法包括设置用于表示业务流程参与者的泳池Pool和泳道Lane;根据参与者之间的归属关系构造相应的Pool和Lane;根据所述各个功能与参与者之间的对应关系,将所述业务流程中的元素归类到相应的参与者所对应的Pool和Lane中。本发明还公开了一种改进的事件驱动流程链建模装置。应用本发明能够使EPC模型更易于理解、更容易保持一致性、流程更优化、并便于对相应参与者的职责进行统计和审计。
文档编号G06Q10/00GK101901417SQ20091014382
公开日2010年12月1日 申请日期2009年5月31日 优先权日2009年5月31日
发明者杨光信, 王超, 陈世俊 申请人:西门子(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1