You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Next »

This chapter discusses typical design considerations when designing and implementing decisions using Blueriq.

Setting a boolean value?

When modeling a decision that is limited to a small number of values (for instance Boolean), there are multiple possibilities to achieve this:

  1. Using a constant value and a business rule
  2. Using two business rules
  3. Using a decision table

Using a constant value and a business rule

Using two business rules

Using a decision table

It is tempting to skip the column for male, but it is strongly advised to model a complete table.

It is perhaps even more tempting to skip the [ ]-column for ELSE, but it is also strongly advised to model an ELSE-column whenever the values are not restricted by a value rule.

If Applicant.Gender was in fact limited by a value rule consisting of the values Male and Female, the ELSE-column would have been otiose.

What to use?

The choice of method is often based on the preference of the business engineer. General recommendations are listed below:

  1. Whenever the result depends on multiple input values, it is best to use a decision table.
  2. Whenever the result is a calculation, it is best to use a form with a business rule.
  3. It is recommended to formally decide which method to use and capture that in an architecture document. A consistent use of a style throughout a project will help the maintainability of a project. There are many roads that lead to Rome, but within one project it is best if all business engineers follow the same road.

Size of decision table

With multiple inputs or value categories decision table can get very large in size. Decision tables that are to large in size are not easy to oversee and by that to understand. In general you can state that a table should have a maximum of 12 columns. When the number of columns exceeds this number it is advised to split up the table. 

Decision table or data rule?

text

Attributes and (reusable) expressions

text

Decisions in a process?

text

  • No labels