Published in TDAN.com July 2002
English grammar classifies the words and phrases in a sentence as specific parts of speech: nouns, verbs, adjectives, adverbs, prepositions, pronouns and articles. Each grammar component plays a
specific role within an English sentence. Communication can be greatly improved when all the parties involved in the dialogue understand the rules of grammar.
A business rule grammar is intended to play the same role within a business enterprise that grammar provides to a language. In fact, since the enterprise’s policies, procedures and business
rules are primarily expressed in natural language, in this case English, language grammar is the foundation of the business rule grammar. By analyzing the statements used by our subject matter
experts (SME) to describe their organization’s missions, goals, strategies, operating environment, resources and business rules, business rule and information analysts gain the understanding
they need to develop the best approach for managing that organization’s information resource.
My business rule grammar is based on two fundamental components: business concepts and business rules. Business concepts define the things that the enterprise must know about to conduct business.
Business concepts are the nouns and adjectives of the business rule grammar. The first article in this series provides the introduction to and classification scheme for Business Concepts.
(1) Business Rules, which is the focus of this article, represent the verbs as that interrelate the organization’s business concepts to form precise
business policy statements. Business Rules are management’s way of describing their organization’s expected behavior when specific conditions are encountered, in the course of
Business Rule Classification Scheme
The “Parts of Speech” represents a classification scheme for the words and phrases that are used in the English language. The English grammar identifies the rules for interrelating
these parts of speech to create a sentence that can communicate clearly. Business rule classification schemes are intended to provide rules for expressing business policies that achieves the same
level of clarity.
A Business Rule Analyst strives to capture a set of business rules that are clearly stated, yet easy to understand, precise and consistent, by using a quality criteria (Table 1). The business rule
categorization scheme is used to achieve this goal in several ways. It can be used to assist the business rule analyst in determining what type of constraint her SME is articulating. The
classification scheme provides a template that can be used in ensuring that a “well formed” business rule has been captured: one that is stated precisely, but easy to understand, and is
atomic. For example, if you classify the business concept of “preferred customer” as a business state, you know that you must identify the thingee that this concept is a business state
of and the qualification rule that determines which thingees fall within that business state, at any given point in time.
The classification scheme can also be used in determining which types of business concepts are involved in the business rule. The business concept classification scheme, which was the primary
subject of the first article in this series (See Table 2), is used to ensure that all the appropriate business rules about a business concept have been identified. Once a business concept’s
class has been identified, the business rule analyst can probe to determine whether other business rules exist that often occur for this class of business concepts. For example, additional
questions that can be asked about the business state of “preferred customer” include: Are there other business states about customer? If so, are any mutually exclusive with preferred
customer? Is there a natural transition from or to preferred customer from these other states? Are there any timing business rules about when your enterprise recognizes that the customer is a
preferred customer, such as immediately, end of day or end of month?
Finally, the business rule categorization scheme can help you decide the best way to support this business rule within the information resource. Generally, distinguishable thingees are supported by
entities in your data model or object classes in an object class model. Most characteristics are supported by entity or object class attributes. You may decide to support a group of mutually
exclusive business states as allowed values of the same entity or object class attributes. A data view may be used to support the qualification rule that determines which thingees qualify for the
Core Business Rule Categories
A Business Rule is the Business’ response to constraints that are imposed upon it. The purpose of a Business Rule is to overcome constraints, minimize risk and exploit opportunities in a
manner that improves the Business’ ability to achieve its goals. Business rules are expressed as statements in language that is meaningful to the business.
Business rules express constraints on a specific set of business concepts. Therefore, the core business rule categories are grouped around the class of business concepts they constrain (Figure 1).
One of the challenges facing a business rule analysis is recognizing that the term used by one organization within the enterprise is actually referencing a business concept that has already exists,
but under a different term. Different communities within the enterprise often use different terms when discussing the same business concept. A greater problem is when the same term is used to refer
to different business concepts. So, the first business rule that is usually captured about a business concept is its associated terms and how each community within the enterprise uses those terms.
Thingee-Related Business Rules
Thingee-related business rules are the ones that can occur between and constrain thingees. Possibly the most recognized class of business rulesis the one that identifies how thingees interact with
one another, but there are also business rule categories that constrain only distinguishable thingees. Finally, there is an entire set of business rules categories associated with business state
Interaction Between Thingees
Thingees actively interact with one another. People order products. Companies hire employees. Products are manufactured. Employees fill orders. Products are shipped to the people who ordered them.
Customers are billed for their filled orders. Customers pay for the products they buy. Each of these interactions defines an event that the enterprise must be able to respond to. Consequently,
business processes are established that define how management expects their enterprise to behave when a specific event occurs. Business rules are defined to provide the guidance and controls to
ensure that the expected behavior occurs.
The statements for “Interactions between Thingees” business rules are normally expressed in terms of an active sentence . The sentence is then decomposed into the impacted thingees,
events and any multiplicity constraints that govern the degree to which the thingees can participate in the interaction.
Just as sentence diagramming was developed to help people learn the rules of grammar, data and object class models exist to help the enterprise understand its business rules. Consider the statement
that a SME within the car rental industry might make: “a customer places a reservation”. The similarity between the sentence diagram and the object class model for this statement is
obvious (Figure 2).
By probing, the business rule analyst may discover that a customer has the ability to have several reservation outstanding at the same time, because the SME states “A customer can place
several reservations at one time”. The sentence diagram can be easily enhanced to reflect this new information. Likewise, the object class model can be revised to reflect the fact that a
customer can have more than one reservation. Unfortunately, because the Unified Modeling Language (UML), the standard notation for object class models, lacks notation to reflect timing constraints,
the object class model can’t represent the “at one time” portion of this business rules.
To fully understand an “Interaction Between Thingees” business rules, the interaction must be explored from the perspective of both thingees. For every action statement, there exists a
reciprocal statement. In our “Customer places a reservation” business rule, the reciprocal statement is “A reservation is placed by a customer”. Once again, probing
questions can be asked to clarify this statement, such as: can a reservation be placed by more than one customer? Can a reservation be placed by anyone other than “the customer”?
For every “Interaction Between Thingees” business rule, there exists at least one business event, and possibly more, that causes the interaction to occur. For our example, two events
probably exist: “Place Reservation” and “Cancel Reservation”. For each business event, a business process must be specified that identifies the procedures that are to be
followed to respond to the event.
Finally, there may be alternative ways to state the same business rule. “Customer reserves car” is basically stating that a customer places a reservation. In fact,
“Reservation” is really just a term that is used to reference the business concept of type business event that is associated with the “Customer reserves car” business rule.
To fully define an “Interaction Between Thingees” business rule, the following must be specified, from the perspective of both of the participating thingees:
- Subject Thingee
- Object Thingee
- Verb Phrase and associated business concept, if one exists
- Associated Business Event(s)
Distinguishable Thingee-Related Business Rule Categories
“Identification” is the only business rule category that pertains only to distinguishable thingees. Every distinguishable thingee must have a set of characteristics that can be used to
uniquely distinguish one thingee instance from another. Unfortunately, in the real world, many distinguishable thingees don’t come with this predefined set of characteristics that can be used
to uniquely differentiate between its instances. You really can only tell by observation. When this occurs, the business often manufactures its own approach to creating a characteristic that is
used in distinguishing between thingee instances. So, business concepts like customer number, reservation identifier and branch number come into existence.
These examples highlight an interesting business phenomenon. The business often assigns a unique identifier to a role assumed by a distinguishable thingee, rather than to the thingee itself.
It’s quite common to see business concepts named customer number and employee id, but no business concept that is intended to identify a specific the person thingee instance. If the same
person is both a customer and an employee, she will have two separate identifiers. Yet there is no identifier for her as a person independent of the roles she assumes. This practice has caused a
great deal of problems for companies that are attempting to implement a customer relationship management approach that is based on knowing all the ways that their enterprise interacts with the same
people. Consequently, as part of a business rule analysis project, new business concepts may be introduced to the enterprise to handle those situations where essential knowledge hasn’t been
exposed in the past.
Business State-Related Business Rules
Most Thingee-related Business Rules really focus on managing the various business states of interest to the enterprise. These types of business rules exist to govern how the enterprise reacts when
the thingee instance transitions into or out of one of these important business states.
Business State of Thingee
This business rule category fully defines a specific business state business concept by identifying:
- the business state that is being defined
- the thingee that is being evaluated
- the expression that is used to determine which thingee instances are in the business state
Consider our “Interaction between Thingees” business rule “A customer can place several reservations at one time”. When our SME was questioned further about this statement,
he clarified that a customer could have several outstanding reservations existing concurrently. Thus, he revised the business rule to state that a customer can place multiple future reservations.
Figure 3 provides the sentence diagram for this statement.
Adjectives can be a clue that a business state may exist. In our example, what does it mean to be a “future reservation”? An expression must exist that can be used to determine whether
a reservation is in the “future” state. Further probing reveals that a “Future Reservation is a Reservation in which the expected pickup
date is in the future or is today, but the car hasn’t been picked up yet.” The three parts of a “Business State of Thingee” business rule are exposed in this
- the business concept of type business state: “Future Reservation”
- the thingee that is being evaluated to determine whether any of its instances are in the “future” business state: “Reservation”
- the Qualification Expression: the expected pickup date is in the future or is today, but the car hasn’t been picked up yet
It is possible for a business state to qualify another business state. Ultimately, one of the distinguishable thingees must be identified for the set of business state business rules to be valid.
Business State Group
In some cases, a business state only makes sense when it is grouped together with other business states that operate on the same thingee. For example, if some reservations are in the
“future” business state, do other business states exist that also have to do with the timing of a reservation. As you probe deeper, your SME reveals that open and closed reservations
are also of interest to his organization. An open reservation is one where the car has been picked up, but not yet returned. A closed reservation is one in which the car was picked up and returned.
Other business rules have been defined in terms of these business states. For example, a car assigned to an open reservation can’t be assigned to another reservation.
Very often, these business states are mutually exclusive of one another. A reservation can’t be in the “future”, “open” and “closed” states at the same
time. However, in some cases, it is possible that thingee instances can concurrently exist in multiple business states within the same business state group, such as with market segmentation. The
same person may fall within the “preferred customer” and “woman business owner” segmentations at the same time.
An inheritance hierarchy may be used to represent a business state group in an object class model (Figure 4).
Allowed Business State Transitions
A thingee can transition between business states, as the values of its characteristics change. An Allowed Business State Transition business rule defines the criteria under which a thingee can
transition from one business state to another. Usually, a business rule group has been defined to collect the related business rule states together.
In our example, the natural transition for reservations is from a future reservation to being open and finally closed. A future reservation is allowed to transition to the open business state when
the car is picked up. Likewise, an open reservation transitions to closed when the car is returned. A closed reservation is the reservation’s final state. Once closed, the reservation
can’t transition to any other business state within this group.
At least one business event must be identified to trigger the transition from one business state to another. The “Place a Reservation” business event will result in a future
reservation. The “Pickup Car” business event causes the state of the reservation to transition to open. As with any business event, at least one business process must be specified to
handle the event when it occurs.
Characteristic-Oriented Business Rules: Tune in Next Time
So far, we’ve explored the classification scheme for business rules that are primarily dealing with business concepts of type thingee. These business rules deal with how thingees can interact
with one another and the business states that thingees can assume. The next article will explore the classification scheme for business rules that deal with characteristics: the properties that
provide the detailed knowledge about thingees.
(1) Moriarty, Terry, “Business Rules Grammar Part I”, The Data Administration Newsletter,
(www.tdan.com), Issue 20.0, April 2002
(2) von Halle, Barbara, “A Familiar Journey”, Database Newsletter, Volume 25, Number 5, September/October 1997, pp.3 – 4