业务流程一体化建模方法_第1页
业务流程一体化建模方法_第2页
业务流程一体化建模方法_第3页
业务流程一体化建模方法_第4页
业务流程一体化建模方法_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于BPMN勺业务流程一体化建模方法BPM业务分析员业务流程一体化建模为了给业务分析员提供一种简单易懂、直接支持计算机仿真和执行的可视化业务 流程建模方法,提出了业务流程一体化建模概念及方法。本文通过实际研发业务流程 管理系统,验证了该方法的可行性。0引言业务流程建模是指用图形、公式、表格或文字描述业务流程的特性,回答为什么 做、做什么、怎么做、谁做等问题。文献指出业务流程建模方法主要有:流程图(flowchart),是最早用于业务流程的一种图形化描述方法,易学习、好理解,但存在无法 清楚界定流程界限、不支持层次化描述业务流程等问题;角色活动图(Role Activity Diagram, R

2、AD和角色交互图(Role Interaction Diagram , RID),擅长描述角色与活 动、角色与角色的交互关系,但不支持层次化描述业务流程;IDEF0和1DEF3 IDEF0描述业务流程做什么,但没指明谁做;IDEF3回答了怎么做,但描述复杂业务流程难度 大;高级Pet ”网有很强的数学基础,可以计算/仿真分析业务流程性能,如文献和 文献,但用户的学习难度大;统一建模语言 (Uniform Modeling Language , UML)舌 动图易学习和使用,但模型的仿真和分析能力差。止匕外,业务流程建模方法还有事件 驱动过程链(Event-driven Process Chai

3、n, EPC)f4l及其扩展EPC事件一条件一行为(Event Condition-Ac tion , ECA)®则等。但是,这些方法没有一个可以同时满 足业务分析员可视化设计、分析、仿真和执行业务流程模型需要。业务流程建模是实现业务流程管理 (BusinessProcess Management , BPM)勺基础。 实施业务流程管理可以提高流程效率,增强企业竞争力,”执行力就是竞争力。使用 业务流程建模方法的终端用户是业务分析员。对业务分析员来讲,最理想的建模方法 是简单、易学、好用,支持可视化描述业务流程,可以验证模型结构正确性,计算/ 仿真分析模型性能,支持计算机运行模型的方

4、法。要实现这一目标。需要研究如何将 模型的描述符号、存储结构、元素语义、仿真机制、执行机制等融合在一起。正是由 于没有一种能同时满足业务分析员设计、分析、仿真与执行业务流程需要的建模方法, BPMW XPDL+BPE因此成为当前最流行的一种业务流程建模解决方案。业务流程建模符号(Business Process ModelingNotation , BPMN)!业务流程管理 倡议组织(BusinessProcess Management Initiative , BPMI)于 2003 条提出、被对象 管理组织(Object Management Group , OMG):纳的一种建模规范阳。

5、它提供的图形建 模符号易被业务分析员理解,是目前最流行的业务流程可视化描述语言。但是, BPMN 规范没有定义业务流程图(Business Process Diagram , BPD勺存储2§构,Process元 素语义不明,因此BPMN1型不能直接用于计算机交换、仿真、执行。基于可扩展标记 语言(Extensible Markup Language, XML )的过程描述语言(XML Process Definition Language。XPDL规范阳 3 是工作流管理联盟(Workflow ManagementCoalition , WfMC) 推出的一种业务流程建模方法,支持

6、用BPMNS形符号描述业务流程,定义了业务流程图的存储结构和仿真语义,XPDLL真型可用于交换,但Process元素的显示语义与执行 语义混在一起,不利于计算机执行。业务流程执行语言(Business ProcessExecutionLanguage, BPEL)®范0是结构化信息标准促进组织(Organization for the Advancement ofStruetured Information Standards , OASIS灌出的一种可以有效编 制多个Wet®务的执行语言,执行语义明确,可用于业务流程建模。BPMNffl范支持将BPMN1型转换为BPELM

7、型用于计算机执行,文献研究了将BPMN1型自动转换成BPEI。 模型的方法。但BPEL模型的结构/半结构化描述方式对于非结构化业务流程图来讲, 有时很难实现转换,对业务分析员绘制业务流程图有太多限制;并且这种转换是单向 的,转换后得到的BPEL模型,业务分析员可能无法读懂。为了统一 XPDL和BPEL 文献基于XPDLtE模型和BPEL元模型设计了一个元模型,但没有给出元模型的仿真与 执行机制。XPDLffi BPELfe于BPM蝙出,但XPDLffi BPEL自身存在的问题,使得人们 对其能否满足BPMB要存在疑惑。鉴于现有业务流程建模方法存在一些各自难以解决的问题,有必要从根本上对已 有方

8、法进行改进,研究一种适合业务分析员学习、使用的新方法,为此,本文提出业 务流程一体化建模。业务流程一体化建模是指业务分析员可视化设计的业务流程模型 可以被直接用于计算机仿真和执行。BPM规范提供的流程描述符号已被广泛认可,本 文基于该规范研究业务流程一体化建模方法。1设计理念为更好地指导业务流程一体化建模方法研究,可将构成业务流程图的元素的语义 细分为显示和执行两种。BPMNK范将构成业务流程图的元素分为图形元素 (graphical elements)和支撑元素(supportingelements) 两类。图形元素如 Pool, Lane等,支撑 元素如Process , Gate等。BP

9、MN1范定义Process是包含在Pool中的图形元素 Activity , Gateway, Event的有序组合,逻辑关系通过图形元素 SequenceFlow体现。 从可视化设计角度来讲,要在图中显示 Activity , Gateway和Event元素,需要给出 这些元素的形状、大小、位置等信息,这些可视为元素的显示语义;从计算机执行角 度来讲,执行业务流程就是执行 Process ,执行Process需要执行Activity , Gateway 和Event,执行Activity 就必须提供用户、工具、数据、变量等信息,这些可视为元 素的执行语义。组成Process的图形元素的显示语

10、义对执行 Process没有任何意义。 此外,本文遵循的设计理念还有:业务流程建模方法应该以业务分析员为本,而非 信息技术员;非结构化方法比结构化方法更能有效描述业务流程。2支持业务流程一体化建模的元模型设计2.1 模型结构由于BPM规范提供的图形建模符号易被业务分析员理解和使用,现已成为当前最 流行的业务流程可视化描述语言。以业务分析员为本,本文选用BPMN 1 2规范提供的图形建模符号可视化描述业务流程。通过扩展符号语义,改进模型结构,设计了如 图1所示支持业务流程一体化建模的元模型。图1支持业务流程一体化建模的元模型(1)基于元素语义可细分设计理念,元模型引入支撑元素 Node来定义Pr

11、ocess的 执行语义。BPMN6素中影响业务流程执行的图形元素有 Activity , Gateway和Event, 支撑元素Node继承和扩展了这些图形元素的执行语义,它们在元模型中只保留显示语义,但与Node关联。在业务流程图中,有一个 ActM ty或Gateway或Event对象, 就有一个Node对象。这样做的好处是业务分析员可以通过配置图形元素属性的方式提 供执行Node所需的信息。(2)元模型借鉴了文献组织图形元素的方法,但将Process与Pool并列,并相互关联,有一个Pool就有一个Process,删除Pool时,对应Process将被删除。与XPDI。 元模型(见文献9

12、)相比,图1所示元模型的图形元素组织方式有所改进,层次关系更 明确,元素查询更便捷。(3)基于非结构化方法能更有效描述业务流程设计理念,图1所示元模型没有用if , while , forEach等结构化语句来描述 Process ,与BPEI。元模型(见文献相比,无需把 BPMNK型转换成BPEL真型就能被计算机解释执行,避免了由于 BPEL隹以支持所有非 结构化过程而对业务分析员带来的诸多建模限制。(4)Participant定义有哪些实体(系统、组织、角色、用户)参与执行业务流程,此处“系统”特指控制业务流程运行的流程引擎;Application 定义业务活动如何完成,是具有特定功能的软

13、件/工具,元模型除了保留BPMNffl范对Wet®务的支持外,还扩展支持业务组件(用C+/ Java/C好编程语言开发,用户简单配置后就可被调 用);Property定义执行业务流程时业务活动问传递数据所用的变量,其作用域视定义位置而定;在业务流程图下定义的变量可用于该业务流程图的所有Process,在Process中定义的变量只能用于该Process ; Typedefine允许用户扩展定义满足特殊需要的数据类型。2.2 显示语义BPMNE范明确了 Pool, Lane, Activity 等图形元素的形状,但语义不 够完整,缺乏显示位置、大小、所在页 面、所属层次等信息,这些信息

14、对层次 化显示复杂业务流程图,降低理解难度 是有用的。相比BPMNXPDL合出了比 较完整的显示语义,本文借鉴其定义, 通过改进扩展了 BPMN8形元素的显示 语义,如图2所小o图2 BPM图形兀素显不语义扩展 需要说明的是:Page元素用来层 次化组织业务流程图组成元素,它的ParentPageRef属性用来指向当前Page的上级,描述Page之间的层次关系,BPMN8 形元素可以根据PageRef属性确定所在Page;对BPMN8形元素来讲,Activity 等元素只需知道其左上角顶点坐标及大小就可定位画出该元素,而Sequence Flow等元素却需要给出画线的起点、终点和中间点坐标.但

15、不需指定大小。2.3 执行语义当BPD用于计算机仿真分析或解释执行时,起作用的是Process , Node, Gate等支撑元素;因此,本节将根据 BPMN 1 2规范给出这些元素的执行语义。定义 l Process。Process 是一个多元组, Process=(Id。Status , Assignments, Properties , TypeDefines , Nodes, InputSets , OutputSets , AccessLeve1),且满 足下列条件:(1)Id 与对应 Pool 的 ld 相同,Status , Assign -ments, Properties ,

16、 InputSets 和OutputSets语义与BPMN 1 2规范相同。(2)AccessLevel等于PUBLIC表示Process可被外部系统或应用程序调用,等于 PRIVAT荣示当前Process只能被其他Process的组成元素(比如子流程元素)调用。(3)Nodes是元模型中Node的有限集,详见定义2。(4)Properties是元模型中Property的有限集,TypeDefines是元模型中TypeDefine的有限集。定义 2 Node Node是一个多元组,Node (Id , NodeType EventDetails , Status , InputSets , O

17、utputSets , IORules, ParticipantRef , Application -Ref, Simulationlnfor , DiagramRef, ProcessRef, In putMaps, OutputMaps, Behavior , Gates, Assignments)且满足 FY,J 条件:(1)Id 与对应图形元素 Activity , Gateway, E vent 的 Id 相同;Assignments 语 义与BPMN 1 2规范相同。(2)NodeType 取值于 E U A U G。集合 E=StartEvent , IntermediateEv

18、ent , EndEvent), 集合 A=Task, SubProeess), 集合 G-ExclusiveData-Gateway , ExclusiveEventGateway , ParallelGateway , InclusiveGateway 。(3)当且仅当NodeType取值于集合E时,EventDetails 有效,由一个或多个 EventDetail 组成,EventDetail 语义与 BPMN 1 2 规范相同。(4)当且仅当 NodeType取值于集合 A时,Status , InputSets , OutputSets , IORules有效,语义与BPMN 1

19、2规范相同。(5)当且仅当 NodeType等于 Task 时,ParticipantRef , ApplicationRef , Simulationlnfor 有效。ParticipantRef 指向完成该任务的 Participant , Ap- plicationRef 指向完成该任务的 Application ;Simu lationlnfor=(Time,Cost),Time=(WorkTime, WaitTime),用于仿真分析。(6)当且仅当 NodeType等于 SubProcess 时,DiagramRef, ProcessRef, InputMaps , OutputMa

20、ps有效,语义与 BPMN 1 2规范相同。(7)当且仅当NodeType取值于集合G时,Be havior有效,可取值于集合Split , Merge;当Be- havior取值Split时,表示Node将一条路径拆分为多条分支;取值 Merge时,表示Node将多条分工合并为一条路径。(8)Gates是元模型中Gate的有限集。每个Gate表示当前Node的一条分支,指向 后继Node, Gate详见定义3。约定l任何非空的Process有且只有一个 NodeType取值StartEvent的Node,但 可以有多个NodeType取值EndEvent的Node这样约定要求每个Proces

21、s只能有一个开始点,但可以有多个结束点。实际执行 Process时,只有一个结束点有效。允许有多个结束点是为了画图方便。定义 3 Gate。Gate 是一个多元组,Gate=(Id , Condition , NodeRef),且满足: Id与对应图形元素Sequence Flow的Id相同。Condition 是执行Gate的条件,可以是逻辑表达式,缺省取值TRUEg示条件满足。(3)NodeRef指向当前Node的直接后继。约定 2 当 Node的 NodeType取值于集合ExclusiveDataGateway , InclusiveGateway时,若Gates含有两个或多个 Gat

22、e,要求至少%一个 Gate的 Condition 满足。这样要求是为了保证业务流程在执行过程中,不会因为设计人员考虑不周或数据 有错,导致无法确定沿着哪条分支继续执行的问题发生。3元模型实例的计算机仿真与执行机制设计元模型实例指用户设计的、符合元模型要求的实际业务流程模型。依据XMLSchema规范可以得到描述图1所示元模型的XML Schema6义(XMLSchema Definition , XSD)文件。业务流程建模工具根据 XSDi件可自动生成描述业务流程模型的 XML文件。当 业务流程模型用于计算机仿真、执行时,流程引擎将按照特定规则解释执行XML±件代码。由于引入元素N

23、ode改变了业务流程模型的存储结构,已有工具软件将无法创建、 仿真、执行符合图1所示元模型实例,笔者设计了一个业务流程管理系统,本章先给 出系统的计算机仿真与执行机制。3.1执行机制流程引擎执行业务流程模型时,首先读取业务流程图中 AccessLevel是PUBl。IC 的Process,并查找Process中NodeTyp好于StartEvent的Node(以下简称开始节点), 取开始节点的EventDetails识别触发方式,根据触发方式将 Process的Id及触发条川裔丁!母”小孙,Eft: 口谆*色中- IT方式上八强申埼仔mt。能仁忌X阪的信M二城"飙仃fU1*IGsmi

24、rA iT(,Ft*nt ,IncJvnKam.'yJ至r匕也厂 鸵口楂酊冷' J” 的g1”的;/止用朝百工的 也做:旧借惧、闻取 也屋£;罪、心rrKfFf-vrriIt*周用 rtgGHt 毒I>jfaPesiEh lun* 旺卜tZt(w酬而军电iiM.图3行机制3.2仿真机制流程引擎仿真分析业务流程 模型时,需要知道读Node的Gate 信息用户从任务列表中取任务信 息,执行 Appl i cat ionRef 指 定的服务或组件是对业务流程图 中所有Process进行仿真,还是 对业务流程图中指定Process进 行仿真?是并发仿真Process,还

25、 是用行仿真Process?仿真次数多 少?是否考虑资源有限约束?是否 考虑人的工作能力、工作态度、11kHiI tte1.tl4,M ft Ml ri HtMdtS V哥土更grpH第JIUlSriihM I f儿jl E对:dLil.i|* "向 I .呻5MM才册疝的EkSukII1士 仙甲|品3曲且): iFMEwrd M r i 1一 匕Q卅解好棺行i蝴卜曲的 5ehur|artiB%hf”nJ限看Hi醵“知|附府修1明*叮EirlJUYH; pSiG*i?-i -p书中遇事忖加帕itPlrr cspwiili*r才.如也加LwiBvUlLiffl酋WiT* %HTi0 :

26、十信岫的斗卦坨 Tli,之专-mJ '-rijF|f |S |tij I bl « ; r fCE件写入相应队列,流程引擎将循环检查队列中的 Process是否可以启动。当Process 开始节点的触发条件满足时,流程引擎立即生成 Process实例并运行,其执行机制如 图3所示。精神状态?仿真结束后需要统计哪些指标?如何统计?等。以资源无限,川p完仑理性, 用行仿真Process为例,元模型实例的仿真机如图4所示。图4仿真机制需要指出的是,图4所示是一种简化了的仿真机制,完整的仿真机制要比这复杂 得多,限于篇幅,本文不做详细阐述。4方法验证现有的业务流程管理工具软件,如微软的 Biz Talk Server、旧M的WebSphere 等,要求用户严格按照XPDLJg BPEL等已有规范建模,否则将无法正确识别业务流程 模型。本文提出的业务流程一体化建模方法虽然使用已有的业务流程建模符号可视化 描述业务流程,但引入元素Node和苇新定义流程元素语义改变了业务流程模型的存储 结构,因此,按照图1所示建立的元模型实例,将无法被现有工具软件正确识别。为验证本文提出的业务流程一体化建模方法是否可行,基于Microsoft . NETFramework 2. 0,笔者用C#S言编程开发了一个支持业务流

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论