业务流程一体化建模方法_第1页
业务流程一体化建模方法_第2页
业务流程一体化建模方法_第3页
业务流程一体化建模方法_第4页
业务流程一体化建模方法_第5页
全文预览已结束

下载本文档

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

文档简介

基于BPMN的业务流程一体化建模方法BPM业务分析员业务流程一体化建模为了给业务分析员提供一种简单易懂、直接支持计算机仿真和执行的可视化业务流程建模方法,提出了业务流程一体化建模概念及方法。本文通过实际研发业务流程管理系统,验证了该方法的可行性。0引言业务流程建模是指用图形、公式、表格或文字描述业务流程的特性,回答为什么做、做什么、怎么做、谁做等问题。文献指出业务流程建模方法主要有:①流程图(flowchart),是最早用于业务流程的一种图形化描述方法,易学习、好理解,但存在无法清楚界定流程界限、不支持层次化描述业务流程等问题;②角色活动图(RoleActivityDiagram,RAD)和角色交互图(RoleInteractionDiagram,RID),擅长描述角色与活动、角色与角色的交互关系,但不支持层次化描述业务流程;③IDEFO和1DEF3,IDEFO描述业务流程做什么,但没指明谁做;IDEF3回答了怎么做,但描述复杂业务流程难度大;④高级Pet"网有很强的数学基础,可以计算/仿真分析业务流程性能,如文献和文献,但用户的学习难度大;⑤统一建模语言(UniformModelingLanguage,UML)活动图易学习和使用,但模型的仿真和分析能力差。此外,业务流程建模方法还有事件驱动过程链(Event-drivenProcessChain,EPC)f4l及其扩展EPC、事件一条件一行为(Event—Condition-Ac—tion,ECA)规则等。但是,这些方法没有一个可以同时满足业务分析员可视化设计、分析、仿真和执行业务流程模型需要。业务流程建模是实现业务流程管理(BusinessProcessManagement,BPM)的基础。实施业务流程管理可以提高流程效率,增强企业竞争力,"执行力就是竞争力。使用业务流程建模方法的终端用户是业务分析员。对业务分析员来讲,最理想的建模方法是简单、易学、好用,支持可视化描述业务流程,可以验证模型结构正确性,计算/仿真分析模型性能,支持计算机运行模型的方法。要实现这一目标。需要研究如何将模型的描述符号、存储结构、元素语义、仿真机制、执行机制等融合在一起。正是由于没有一种能同时满足业务分析员设计、分析、仿真与执行业务流程需要的建模方法,BPMN十XPDL+BPEL因此成为当前最流行的一种业务流程建模解决方案。业务流程建模符号(BusinessProcessModelingNotation,BPMN)是业务流程管理倡议组织(BusinessProcessManagementInitiative,BPMI)于2003年提出、被对象管理组织(ObjectManagementGroup,OMG)采纳的一种建模规范阳。它提供的图形建模符号易被业务分析员理解,是目前最流行的业务流程可视化描述语言。但是,芒PMN规范没有定义业务流程图(BusinessProcessDiagram,BPD)的存储结构,Process元素语义不明,因此BPMN模型不能直接用于计算机交换、仿真、执行。基于可扩展标记语言(ExtensibleMarkupLanguage,XMI。)的过程描述语言(XMLProcessDefinitionLanguage。XPDL)规范阳3是工作流管理联盟(WorkflowManagementCoalition,WfMC)推出的一种业务流程建模方法,支持用BPMN图形符号描述业务流程,定义了业务流程图的存储结构和仿真语义,XPDL模型可用于交换,但Process元素的显示语义与执行语义混在一起,不利于计算机执行。业务流程执行语言(BusinessProcessExecutionLanguage,BPEL)规范"0]是结构化信息标准促进组织(OrganizationfortheAdvancementofStrueturedInformationStandards,OASIS)推出的一种可以有效编制多个Web服务的执行语言,执行语义明确,可用于业务流程建模oBPMN规范支持将BPMN模型转换为BPEL模型用于计算机执行,文献研究了将BPMN模型自动转换成BPEI。模型的方法。但BPEL模型的结构/半结构化描述方式对于非结构化业务流程图来讲,有时很难实现转换,对业务分析员绘制业务流程图有太多限制;并且这种转换是单向的,转换后得到的BPEL模型,业务分析员可能无法读懂。为了统一XPDI。和BPEL,文献基于XPDL元模型和BPEL元模型设计了一个元模型,但没有给出元模型的仿真与执行机制。XPDL和BPEL先于BPMN提出,但XPDL和BPEL自身存在的问题,使得人们对其能否满足BPM需要存在疑惑。鉴于现有业务流程建模方法存在一些各自难以解决的问题,有必要从根本上对已有方法进行改进,研究一种适合业务分析员学习、使用的新方法,为此,本文提出业务流程一体化建模。业务流程一体化建模是指业务分析员可视化设计的业务流程模型可以被直接用于计算机仿真和执行。BPMN规范提供的流程描述符号已被广泛认可,本文基于该规范研究业务流程一体化建模方法。1设计理念为更好地指导业务流程一体化建模方法研究,可将构成业务流程图的元素的语义细分为显示和执行两种。BPMN规范将构成业务流程图的元素分为图形元素(graphicalelements)和支撑元素(supportingelements)两类。图形元素如Pool,Lane等,支撑元素如Process,Gate等。BPMN规范定义Process是包含在Pool中的图形元素Activity,Gateway,Event的有序组合,逻辑关系通过图形元素SequeneeFlow体现。从可视化设计角度来讲,要在图中显示Activity,Gateway和Event元素,需要给出这些元素的形状、大小、位置等信息,这些可视为元素的显示语义;从计算机执行角度来讲,执行业务流程就是执行Process,执行Process需要执行Activity,Gateway和Event,执行Activity就必须提供用户、工具、数据、变量等信息,这些可视为元素的执行语义。组成Process的图形元素的显示语义对执行Process没有任何意义。此外,本文遵循的设计理念还有:①业务流程建模方法应该以业务分析员为本,而非信息技术员;②非结构化方法比结构化方法更能有效描述业务流程。2支持业务流程一体化建模的元模型设计2・1模型结构由于BPMN规范提供的图形建模符号易被业务分析员理解和使用,现已成为当前最流行的业务流程可视化描述语言。以业务分析员为本,本文选用BPMN1.2规范提供的图形建模符号可视化描述业务流程。通过扩展符号语义,改进模型结构,设计了如图1所示支持业务流程一体化建模的元模型。图1支持业务流程一体化建模的元模型(1)基于元素语义可细分设计理念,元模型引入支撑元素Node来定义Process的执行语义。BPMN元素中影响业务流程执行的图形元素有Activity,Gateway和Event,支撑元素Node继承和扩展了这些图形元素的执行语义,它们在元模型中只保留显示语义,但与Node关联。在业务流程图中,有一个ActM—ty或Gateway或Event对象,就有一个Node对象。这样做的好处是业务分析员可以通过配置图形元素属性的方式提供执行Node所需的信息。⑵元模型借鉴了文献组织图形元素的方法,但将Process与Pool并列,并相互关联,有一个Pool就有一个Process,删除Pool时,对应Process将被删除。与XPDI。元模型(见文献[9])相比,图1所示元模型的图形元素组织方式有所改进,层次关系更明确,元素查询更便捷。⑶基于非结构化方法能更有效描述业务流程设计理念,图1所示元模型没有用if,while,forEach等结构化语句来描述Process,与BPEI。元模型(见文献相比,无需把BPMN模型转换成BPEL模型就能被计算机解释执行,避免了由于BPEL难以支持所有非结构化过程而对业务分析员带来的诸多建模限制。(4)Participant定义有哪些实体(系统、组织、角色、用户)参与执行业务流程,此处係统”特指控制业务流程运行的流程引擎;Application定义业务活动如何完成,是具有特定功能的软件/工具,元模型除了保留BPMN规范对Web服务的支持外,还扩展支持业务组件(用C++/Java/C#等编程语言开发,用户简单配置后就可被调用);Property定义执行业务流程时业务活动问传递数据所用的变量,其作用域视定义位置而定;在业务流程图下定义的变量可用于该业务流程图的所有Process,在Process中定义的变量只能用于该Process;Typedefine允许用户扩展定义满足特殊需要的数据类型。2.2显示语义BPMN规范明确了Pool,Lane.Activity等图形元素的形状,但语义不够完整,缺乏显示位置、大小、所在页面、所属层次等信息,这些信息对层次化显示复杂业务流程图,降低理解难度是有用的。相比BPMN,XPDL给出了比较完整的显示语义,本文借鉴其定义,通过改进扩展了BPMN图形元素的显示语义,如图2所示。图2BPM图形兀素显不语义扩展需要说明的是:①Page元素用来层次化组织业务流程图组成元素,它的ParentPageRef属性用来指向当前Page的上级,描述Page之间的层次关系,BPMN图形元素可以根据PageRef属性确定所在Page;②对BPMN图形元素来讲,Activity等元素只需知道其左上角顶点坐标及大小就可定位画出该元素,而SequeneeFlow等元素却需要给出画线的起点、终点和中间点坐标.但不需指定大小。2・3执行语义当BPD用于计算机仿真分析或解释执行时,起作用的是Process,Node,Gate等支撑元素;因此,本节将根据BPMN12规范给出这些元素的执行语义。定义lProcessoProcess是一个多元组,Process=(ld。Status,Assignments,Properties,TypeDefines,Nodes,InputSets,OutputSets,AccessLev—e1),且满足下列条件:ld与对应Pool的Id相同,Status,Assign—ments,Properties,InputSets和OutputSets语义与BPMN1.2规范相同。AccessLeveI等于PUBLIC表示Process可被外部系统或应用程序调用,等于PRIVATE表示当前Process只能被其他Process的组成元素(比如子流程元素)调用。Nodes是元模型中Node的有限集,详见定义2。Properties是元模型中Property的有限集,TypeDefines是元模型中TypeDefine的有限集。 一定义2Node。Node是一个多元组,Node一(Id,NodeType,EventDetails,Status,InputSets,OutputSets,IORules,ParticipantRef,Application—Ref,Simulationlnfor,DiagramRef,ProcessRef,In—putMaps,OutputMaps,Behavior,Gates,Assign—ments)且满足FY,J条件:Id与对应图形元素Activity,Gateway,E—vent的Id相同;Assignments语义与BPMN1.2规范相同。NodeType取值于EUAUG。集合E={StartEvent,IntermediateEvent,EndEvent),集合A={Task,SubProeess),集合G一{ExclusiveData-Gateway,ExclusiveEventGateway,ParallelGateway,InclusiveGateway}。⑶当且仅当NodeType取值于集合E时,EventDetails有效,由一个或多个EventDetail组成,EventDetail语义与BPMN1.2规范相同。当且仅当NodeType取值于集合A时,Sta—tus,InputSets,OutputSets,IORules有效,语义与BPMN1.2规范相同。当且仅当NodeType等于Task时,ParticipantRef,ApplicationRef,Simulationlnfor有效。ParticipantRef指向完成该任务的Participant,Ap—plicationRef指向完成该任务的Application;Simu—lationlnfor=(Time,Cost),Time=(WorkTime,WaitTime),用于仿真分析。当且仅当NodeType等于SubProcess时,DiagramRef,ProcessRef,InputMaps,OutputMaps有效,语义与BPMN1.2规范相同。当且仅当NodeType取值于集合G时,Be—havior有效,可取值于集合{Split,Merge};当Be—havior取值Split时,表示Node将一条路径拆分为多条分支;取值Merge时,表示Node将多条分支合并为一条路径。Gates是元模型中Gate的有限集。每个Gate表示当前Node的一条分支,指向后继Node,Gate详见定义3。约定丨任何非空的Process有且只有一个NodeType取值StartEvent的Node,但可以有多个NodeType取值EndEvent的Node。这样约定要求每个Process只能有一个开始点,但可以有多个结束点。实际执行Process时,只有一个结束点有效。允许有多个结束点是为了画图方便。定义3Gate。Gate是一个多元组,Gate=(Id,Condition,NodeRef),且满足:(1)Id与对应图形元素SequeneeFlow的Id相同。Condition是执行Gate的条件,可以是逻辑表达式,缺省取值TRUE表示条件满足。NodeRef指向当前Node的直接后继。约定2当Node的NodeType取值于集合{ExclusiveDataGateway,InclusiveGateway}时,若Gates含有两个或多个Gate,要求至少有一个Gate的Condition满足。这样要求是为了保证业务流程在执行过程中,不会因为设计人员考虑不周或数据有错,导致无法确定沿着哪条分支继续执行的问题发生。3元模型实例的计算机仿真与执行机制设计元模型实例指用户设计的、符合元模型要求的实际业务流程模型。依据XMLSchema规范可以得到描述图1所示元模型的XMLSchema定义(XMLSchemaDefinition,XSD)文件。业务流程建模工具根据XSD文件可自动生成描述业务流程模型的XML文件。当业务流程模型用于计算机仿真、执行时,流程引擎将按照特定规则解释执行XML文件代码。由于引入元素Node改变了业务流程模型的存储结构,已有工具软件将无法创建、仿真、执行符合图1所示元模型实例,笔者设计了一个业务流程管理系统,本章先给出系统的计算机仿真与执行机制。3・1执行机制流程引擎执行业务流程模型时,首先读取业务流程图中AccessLevel是PUBl。IC的Process,并查找Process中NodeType等于StartEvent的Node(以下简称开始节点),取开始节点的EventDetails识别触发方式,根据触发方式将Process的Id及触发条件写入相应队列,流程引擎将循环检查队列中的Process是否可以启动。当Process开始节点的触发条件满足时,流程引擎立即生成Process实例并运行,其执行机制如图3所示。图3行机制3・2仿真机制流程引擎仿真分析业务流程模型时,需要知道读Node的Gate信息用户从任务列表中取任务信息,执行ApplicationRef指定的服务或组件是对业务流程图中所有Process进行仿真,还是对业务流程图中指定Process进行仿真?是并发仿真Process,还是串行仿真Process?仿真次数多少?是否考虑资源有限约束?是否考虑人的工作能力、工作态度、精神状态?仿真结束后需要统计哪些指标?如何统计?等。以资源无限,川p完仑理性,串行仿真Process为例,元模型实例的仿真机如图4所示。图4仿真机制需要指出的是,图4所示是一种简化了的仿真机制,完整的仿真机制要比这复杂得多,限于篇幅,本文不做详细阐述。4方法验证现有的业务流程管理工具软件,如微软的Biz—TalkServer、IBM的WebSphere等,要求用户严格按照XPDL或BPEL等已有规范建模,否则将无法正确识别业务流程模型。本文提出的业务流程一体化建模方法虽然使用已有的业务流程建模符号可视化描述业务流程,但引入元素Node和苇新定义流程元素语义改变了业务流程模型的存储结构,因此,按照图1所示建立的元模型实例,将无法被现有工具软件正确识别。为验证本文提出的业务流程一体化建模方法是否可行,基于Microsoft.NETFramework2.0,笔者用C#语言编程开发了一个支持业务流程一体化建模的业务流程管理系统一一YDI。BPMS。系统分为流程引擎、工作平台和设计平台三部分。其中,流程引擎负责解释执行业务流程模型,推进业务流程实例;

温馨提示

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

评论

0/150

提交评论