|
基于动态领域模型的业务流程管理业务流程是对业务流程及其各操作步骤之间业务规则的抽象、概括和描述。业务流程技术起源于二十世纪七十年代中期办公自动化领域的研究。 使用三层业务流程模型,简化了流程设计。重新设计的业务流程。 2.4 业务流程的领域建模 通过前面的分析,可以发现业务流程主要有节点、动作及节点间连线组成。可以把它们作为领域建模的基本元素来简化业务流程的设计。 动作对应于业务流程中一个具体的操作。不同的动作的差别在于调用的函数名称及参数的不同。如果把这种不同固化到动作中,增加一个动作将需要增加一个元素,且不能动态修改动作的内容。 同样,连线作为一个基本的元素表示动作转移的条件,不同业务流程中动作转移的条件不同,同样不能将这种差异固化到元素的定义中。 在抽象节点时也存在类似的问题。为了解决这个问题,提高领域模型的灵活性和动态性,在金蝶公司的ERP动态领域模型中,增加了属性的概念。将相同元素的不同点使用元素的属性来表示。 加入属性后,ERP动态领域模型成为由模型-元素-属性组成的三层体系结构。 在动态领域模型中增加属性后。业务流程设计只有三个基本元素:节点、动作、连线。同一元素的具体实例间的差异使用属性来表示。例如两个不同的动作调用的函数是不同的,在相应的属性字段中填入不同的内置函数名即可。 2.5 业务流程设计的扩充 在金蝶公司的ERP产品中,业务流程设计使用了前面提到的动态领域建模方法,并且的内置了大量业务流程处理相关的动作及动作处理的函数。要改变一个动作具体的操作,只需要修改动作的属性即可。 但这种修改是基于内置函数的,如果要修改的操作在ERP系统中没有内置,这种方法肯定不能达到预期的效果。 企业的这种特殊的需求,可以使用自定义动作的方法来实现。 系统提供了动作的接口类和接口函数,想自定义特殊的动作时,先继承该类,然后实现类的几个特定的接口函数,最后将新定义的动作在业务流程中进行注册就可以使用了。使用这个功能,用户可以根据需要开发出满足企业需要的动作,从而设计出特殊的业务流程。 2.6 业务流程的解析 基于动态领域建模完成业务流程设计后,在实际运行时,需要一个解释引擎将使用领域模型封装过的业务流程还原为简单的业务流程。 在迸行流程设计时,动作具体的操作是使用文本的形式填写在动作的属性中的。解析的过程其实就是将文本填写的内容转化为具体的函数调用。 具体的业务流程解析是由后台的解析模块来完成。在设计解析模块时,对动作的调用是执行基类的一个虚函数。系统内置的各个动作函数都继承于该虚函数。用户以文本的形式将函数名填写在动作的属性中时,就将具体的函数注册到了节点上。当流程执行到该节点时。就会自动的执行具体的函数,从而完成流程功能。 2.7 多组织业务流程的权限设计 在企业ERP系统中,权限管理是一个重要的内容,对任意一张单据,只有有权限的用户才能进行创建、修改或删除。 业务流程经常在多个组织间流动,在一个组织的业务处理完成后往往需要自动创建一张新的单据。如果这张新的单据是其他组织的,就会出现没有权限无法创建的问题。 在业务流程设计的过程中,类似的权限问题还有很多。为此,在普通的单据视图之外,专门设计了单据的业务流程视图。 单据视图是操作者直接打开或操作单据时的情况,由操作者的权限来确定。 业务流程视图是当业务流程指定业务流程转向某个用户时,该用户将获得对该单据的特定区域的临时权限。当操作人完成业务流程指定的任务后,对单据的临时权限将消失。使用业务流程视图可以方便的实现对单据的临时权限管理。从而解决业务流程跨组织支持的问题。 3 实现 经过大量的努力,根据80万用户对流程的需求和最佳实践,设计出了一套符合中国企业的业务流程管理(BPM:Business Process Management)解决方案。 通过将业务流程与动态领域模型的融合,实现动态商业应用的概念,建立了一个基于动态领域模型的业务流程框架。实现了动态设计和修改业务流程的功能,具有良好的易用性和可扩展性。 使用这个业务流程框架,ERP系统中大量的业务流程设计变得非常简单,使用业务流程设计模块,不需要编写代码,就可以完成业务流程的设计和修改,并且可以设计出复杂的跨组织业务流程。 使用这个业务流程设计框架,开发效率大幅上升,系统设计大大简化,可迁移性也得到了显著提高。采用这种技术前,90%的精力花费在业务流程的实现上,无法专注与ERP业务流程的设计。采用这个业务流程设计框架后,具体的业务流程实现的时间降低为10%,开发人员90%的精力关注业务流程的逻辑设计和系统建模。从而可以开发出更加适合企业需求的产品。 另一方面,采用新的技术后,系统开发的难度大幅下降,新员工经过简单培训就可以开始工作。同时,由于减少了代码修改的数量,系统的质量也得到了大幅提高。 4 结束语 在动态领域模型和业务流程的动态设计方面进行了大量的探索和实践,发现这种方法对大幅提高了ERP系统的设计和开发效率,并有效提升了软件产品的质量。 在业务流程设计中使用的动态领域建模方法在软件设计中具有很强的通用性,可以推广到其他类似的系统中,具有较高的理论和应用价值。 责编:罗信 微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友 著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。 |
|
|