企业通过一组业务规则(Buisness Rules)来控制整体的动作,包括人员、流程、系统、概念的动作,皆受制于业务规则。
企业领域中任何一项必须遵守的条件(Conditions)、约束(Constraints)或政策(Policies)都算是业务规则。
可以将业务规则分为两大类,分别为:约束规则(Constraint Rules)与衍生规则(Derivation Rules)。
约束规则主要用来约束对象结构和行为;衍生规则主要是推论约束和计算公式。细分类如下:
1) 约束规则(Constraint Rules)
a) 刺激/反应规则(Stimulus/ Response Rules)
b) 操作规则(Operation Constraint Rules)
c) 结构规则(Structure Constraint Rules)
2) 衍生规则(Derivation Rules)
a) 推论规则(Inference Rules)
b) 计算规则(Computation Rules)
刺激/反应规则
当(WHEN)某个重要的外界事件发生,而且(and)对象如果(IF)恰好处于某种状态下时,(THEN)对象就会做出某种事先约定好的行为。简言之,WHEN and IF条件成立时,对象就会有THEN的反应。
操作规则
操作规则(Operation Constraint Rules)用来保证操作会正确执行,通常又分为“操作前规则”(Operation Precondition Rules)及“操作后规则”(Operation Postcondition Rules)。
只要(ONLY IF)……且(and)……执行(Execute)
结构规则
结构规则(Structure Constaints Rules)用来约束对象种类或关联关系必须永远遵守规则。在类图里,最容易表达结构规则。
推论规则
推论规则(Inference Rules)指出某事实(Facts)为真(True)时,结论(Conclusion)可被推论得出。
IF …… THEN ……
计算规则
计算规则(Computation Rules)就是一般所谓的计算公式。
业务规则散落四处,系统分析员可以通过不同的的UML图,重新组织且呈现业务规则,如下:
a) PIM-1的系统用例叙述,以系统流程为主,记录约束流程的业务规则。
b) PIM-2的状态图,以对象行为为主,记录刺激对象反应的业务规则。
c) PIM-3的类图,以静态结构为主,记录约束对象种类或关联关系的业务规则。
在进行PIM-1时,系统分析员已经广泛地记下一些重要的业务规则了。接着,系统分析员可以从中找出涉及多项业务规则的业务对象(Business Object),并于此处的PIM-2,再进一步通过状态图,组织且记录更多重要的业务规则。
同时,系统分析员经过了建立状态图的思考过程之后,可以对重要业务对象的状态变化更加清楚。系统分析员可以用一张状态图呈现某一种重要对象一生的行为。从对象诞生到灭亡期间,它会对哪些事件(Event)有所反应,因而转换(Transition)其内在状态(State),和执行某些特定的动作(Action)。
针对对象一生中可能执行的一组动作,系统分析员使用状态来分组这些动作。因此,对象一旦转换进入某一个状态之后,其可执行的动作就会被约束,直到发生了重要事件之后,对象才会转换到另一个状态,同时也执行新状态内部规定好的动作。