什么是业务规则
业务规则是指对业务定义和约束的描述,用于维持业务结构或控制和影响业务的行为。业务规则技术的基本思想是将系统处理的业务逻辑从程序代码中抽取出来,将其转变为简单的业务规则,以结构化的业务规则数据来表示业务行为,采用类自然语言来描述,并集中存储在规则库中。业务规则由业务人员创建、实时更新和调试,业务规则之问的复杂逻辑关系由规则引擎处理。业务规则技术改变了传统的、以历程形式处理业务逻辑的方式。
业务规则的特性
业务规则具备以下特性
1、原子性。业务规则不可再分,每条规则只定义一种判断和操作,复杂的业务逻辑由多条规则协同处理。
2、独立性。业务规则彼此之问独立,复杂的逻辑关系由规则引擎来处理。业务规则存储在规则库中,独立于数据和程序。
3、简单性。业务规则用简单直接的类自然语言来描述,很容易被业务人员和技术人员所理解。
4、动态性。业务人员可以实时地修改业务规则,快捷地更新系统,低成本地维护系统。
5、逻辑性。业务规则至少包含条件和执行两个部分,条件是对业务数据作用的判定,执行是对业务数据的处理。在基于业务规则的软件系统中,业务规则存储在规则库中,业务人员可以实行查询、添加、更新、统计,可以不断积累经验,实现对业务行为的知识经营管理,这使得业务规则与单位的数据信息一样成为单位的重要资产。
业务规则建模
1、业务规则分类
业务规则根据区别的分类标准有多种分类方式,根据以上的分类原则可对业务规则分类如下:约束类规则、派生类规则以及行为规则。
约束规则
约束规则被用来检查关于某一主题的事件的执行结果,在约束规则中,主题要么是术语(即与业务相关的词或短语飞要么是事实(即对于两个术语间关系的断言)。约束规则又被细分为强制性约束规则和指导性业务规则。它们之间的区别在于,当发生的业务事件违反强制性约束规则时,规则拒绝继续向下执行,而当违反指导性业务规则时,规则给用户以警告,可以继续执行。
行为规则
行为规则是关于业务的动态方而的规则。它指定了当某一事件发生或当需要满足的条件满足时动作应该被激活。测试事件及条件可以不只一个,它可以用逻辑连接词连结起来,逻辑连接词包含ANR OR NOT 行为规则可以进一步被分类为使能规则,复制规则以及触发规则。使能规则可以根据一些条件,使一个规则、操作、流程或程序段有效或无效。它也可以在一个特定的条件下创建或删除一些数据。复制规则涉及到现有的数据或值,例如,利用某一个值给一个对象的属性设置初始值或者决定如何呈现现有的数据。触发规则是当给定的条件成真或者某一特定的事件发生时,可以引起操作、历程、程序段或规则的执行。在多数状况下,动作断言可以改变一个主题实例的状态。
派生规则
派生规则是根据现有的术语或事实,可以派生出一个新的事实。派生规则又被进一步细分两类规则,训一算规则和推导规则。计算规则是利用算术运算可以派生出一个新的算术值,推导规则是利用逻辑推理或推断可以派生出一个新的事实。推导规则也可以用来表述许可策略,如用户数据的安全策略。
2、业务规则的表示
业务规则的表达方式可以被用来捕获、存储和实现业务规则。我们利用具备良好结构形式,即模板形式来表示业务规则。每种类型的规则都可以和一个或多个模板相联系,分类模板提给了用类自然语言描述业务规则的标准格式。