Guideline: Business Rule Classification
The business rule can be classified in three main groups: structural rule, decision logic, and process flow.
Relationships
Main Description

The following diagram illustrates a conceptual breakdown of the different types of rules that are of interest to the business.

Structural rules define the terms used by the business in expressing their business rules and the relationships (facts) among those terms. These comprise the vocabulary used in rule authoring. As an example a statement like: A Insurance Policy includes a set of coverage, is effective at a given date and new to be renewed every six months, structures the domain knowledge so that a InsurancePolicy entity will have a effectiveDate, expirationDate and a list of Coverage.

Decision logic is the core of what is typically referred to as 'business rules.' When a business decision needs to be made (e.g. whether to sell a given insurance policy, whether to accept or reject a claim), the business rules are the individual statements of business logic that determine the result of the decision.

Process flow rules are rules that purely direct the movement through a process flow (or workflow, etc.). It may be helpful to distinguish process flow rules from the business logic rules that determine the values of the parameters on which the process flow is directed.

Barbara Von Halle in her book "Business Rules Applied" is proposing the following description for each sub class of the decision logic:

Rule Classification

Explanation

Mandatory constraints

Rules that reject the attempted business transaction

Grammar to use during rule documentation not implementation.

<term> MUST HAVE <at least, at most, exactly n of> <term>;

<term> MUST BE IN LIST <a,b,c>;

Guidelines

Rules that does not reject the transaction; they merely warn about an undesirable circumstance. Usually translates to warning messages.

<term> SHOULD HAVE <at least, at most, exactly n of> <term>;

<term> SHOULD BE IN LIST <a,b,c>

Action-enablers

Rules that tests conditions and upon finding them true, initiate another business event, message or other activity

IF <condition> THEN action

Computations

Rule that creates new information from existing information based on mathematical computation. Result is a piece of knowledge because it cannot simply be known.

<term> IS COMPUTED AS <formula>

Inferences

Rules that create new information from existing information. Result is a piece of knowledge used as a new fact for the rule engine to consider.

IF <term> <operator> <term> THEN <term> <operator> <term>




Classifying the rules will help to decide for the best implementation. Inference and action enabler type of rules are good candidates for a rule engine. Pure computation will most likely been done in code unless computation rules are subject to frequent changes. It is also helping to evaluate the complexity of the rule and so to evaluate the workload to implement it.