Type attribute for Business Rules
You may find it useful to give a general indication of HOW a Business Rule is intended to operate once it is implemented. You can do this by setting the Type of a Business Rule to one of the following values:
Business Rules of type Restriction result in error messages and a blocking (or rollback) of intended workflow if the end user performs any action that violates the rule. A typical example is the message "End date must be later than start date", or an authorization message informing the user that s/he does not have sufficient access rights.
Rules of type Restriction are typically, but by no means necessarily, implemented by SELECT constraints.
The values Behavior or Deduction contrast with Restriction because Business Rules of these types do not block the user, but instead perform some necessary additional action or offer some additional option.
Rules of type Behavior safeguard data integrity without blocking the user and are usually an alternative for a rule of type Restriction. An example is a rule that always sets the end date a week later than the start date whatever action end users choose.
Rules of type Deduction calculate derived data such as aggregations. This is typically data that cannot be altered directly by end users, and from a data modeling point of view it is often denormalised data.
Rules of type Behavior or Deduction are typically, but by no means necessarily, implemented by UPDATE constraints without a value for the Message attribute of the constraint.
Rules of type Presentation are implemented by some aspect of user interface design as opposed to data management. An example is the rule "Negative amounts are highlighted on application screens using a contrasting color". Another example is menu structure as a way of allowing users access to system functionality.
Rules of type Instruction are enforced by telling end users what to do, as opposed to rules enforced by the system itself. Instructions may be given in online or paper documentation, procedures, or courseware. In some cases users make decisions on the basis of data provided by the system. For example, a teacher may query all the oral exam notes for a pupil and then decide on a final mark. Because the link between the notes and the mark is made by human intervention and not by the system, this rule is also of type Instruction.
Rules of type Instruction are registered and traced in USoft TeamWork but not implemented in the USoft application. For this type of rule, it is usually appropriate to set Requires Implementation to No.
Warnings are in between Restriction rules and Behavior/Deduction rules. A message is given but the user action is still allowed. For example, an end user is allowed to enter some extremely high amount, but is warned that this amount is very high. Rules of type Warning are typically, but by no means necessarily, implemented by UPDATE constraints with a value for the Message attribute.