Databases Reference
In-Depth Information
Chapter 10
Modeling Business
Rules
Ronald G. Ross
B
USINESS
RULES
TRADITIONALLY
HAVE
BEEN
IMPLEMENTED
IN
PROCEDURAL
LOGIC
BURIED
DEEP
IN
APPLICATION
PROGRAMS
IN
A
FORM
THAT
IS
VIR-
,
TUALLY
UNRECOGNIZABLE
AND
FAR
REMOVED
FROM
ORIGINAL
BUSINESS
.
INTENT
Such strategies not only produce highly inconsistent enforcement
of the business rules, but make rapid change in them virtually impossible.
Sadly, this has been true even for information engineering, and other data-
driven approaches. Process-oriented approaches have proven much worse.
A rule may be defined as a constraint, or a test, exercised for the pur-
pose of maintaining the integrity (i.e., correctness) of persistent data.
Every rule defined for a database should have a specific type, which should
be selected from a standard set. The purpose of a rule generally is to con-
trol the updating of persistent data — in other words, the results that the
execution of actions are permitted to leave behind.
Such control reflects desired patters for business behavior. A rule there-
fore embodies a formal, implementable expression of some user require-
ment, or business rule, usually stated in textual form using a natural lan-
guage (e.g., English). Business rules indicate a discrete, operational practice
or policy in running the business, without reference to any particular imple-
mentation strategy or specific technology. Users, of course, generally
should not be concerned with how business rules actually are enforced.
The textual statement of business rules is extremely important. Every
rule should be accompanied by an English-language expression of the
rule's business intent. Unfortunately, textual statements often are ambigu-
ous, and cannot be translated directly into an actual implementation (i.e.,
into running code). The task of the designer therefore is to translate textual
business rules into formal, precise (and implementable) rules.
Some business rules translate directly to corresponding rules. Most,
however, are more involved, and may require multiple rules to express
fully. Often such rules can be interconnected in building-block fashion,
Search WWH ::




Custom Search