Business Logic Module 4A
Business Logic Module 4A
Figure 4.3 shows two business process models for determining Food Stamp (FS)
eligibility. Option 2 depicts a much simpler business process model than does Option
1. That is because Option 1 depicts a sequence of process tasks that are forced to
occur in a particular sequence but for which such sequence is not required. The
business process model is simplified by removing parts of it that can be represented in
a declarative Decision Model. So, the high-level Decision Model in Figure 4.4
represents the business decision “Determine FS Eligibility.”
Although the Decision Model contains business logic from several of the tasks in
Option 1, namely, FS Eligibility and Children Qualification, it also contains several
Rule Families that are not represented by process tasks in the business process
model: Citizenship Status, SSN Validation, Employment Status, and Income
Qualification. So, mingling business decision logic with process flow as in Option 1
does not necessarily expose all the business logic in that process flow.
Example #3: Simplicity, Productivity, and Cost Savings
The business process model in Figure 4.5 is based on a real project and is a typical
representation of a business process model when it is depicted without regard for
whole business decisions. Some of the tasks evaluate one condition, so the sequence
of such tasks imposes a sequence on the evaluation of those conditions. Further, the
model contains textual annotations in red representing other business logic (or
business rules) that are not represented as tasks in the model itself.
So, the business logic has two different kinds of representations, neither of which
seems optimal. It is not difficult to imagine that producing such business process
models is time consuming, and they quickly become complex. Management of the
business logic and business rules becomes tedious, if not impossible, because some of
it is stated explicitly, some is buried in the business process model itself, and some is
probably missing. In fact, this business process model became so unmanageable that
the client gave up maintaining it, the typical result for models that mix process and
logic, because they are not decision aware.
However, the business process model in Figure 4.6 is a reengineering of the one in
Figure 4.5, but with one subtle and important difference: The business decisions are
noted simply by the decision icon within decision tasks. (The notation style difference
between the two diagrams may be ignored.) The corresponding business logic
statements or business rules are nowhere on this diagram. This solution depicts tasks
in a prescribed sequence, differentiating those tasks representing a conclusion carried
out through business logic. The detailed business logic is captured in corresponding
Decision Models.
Simplification became obvious when the quantity of business process models for the
entire project was reduced from approximately 25 to 10. Additionally, at least 5 of
those business process models were reused elsewhere because removing business
logic resulted in more generic business process models. Most of the Decision Models
also became candidates for reuse.
The diagram in Figure 4.7 illustrates one of the project’s business process models and
how its Decision Models represent all the business logic alluded to in the original
deliverable but more completely, accurately, and visually. The business process model,
devoid of business logic in Figure 4.6, contains visible anchor points (e.g., decision
shapes within task boxes) for five Decision Models. One of those Decision Models is
shown in Figure 4.7, complete with its Decision Rule Family and five other Rule
Families. Three of those Rule Families appear as Rule Family tables.