Dynamic vs. Literal Models
Speaking_line.gif (985 bytes)

To compare how literal and dynamic business model represent business rules, consider the following statements that describe the business rules associated with people and organizations.

A Person is employed by only one employer at a time.
Only an Organization can be an employer.
An Organization is a group of people who have some together for a specific purpose.
An Organization is either a Legal Entity that is legally allowed to assume obligations or an Internal Unit that can not legally assume obligations.
We sell our products and services to people and to organizations.
A household is a group of people who are considered to jointly make the decision about purchasing our products or services.
A Person can be a member on only one household.
A household must have at least one member.

Image8.jpg (17945 bytes)

                                              Figure 1: Literal Model

When these business rules are modeled "Literally" (Figure 1), the business rules are easy to read and validate from the diagram. However, if the database design mirrors this business data model, the business rules are hard-coded into the data structures. What is the business wants to change? They discover that their upscale households tend to be more complex with the same person being a member of several households. Or, for risk management purposes, they need to know all the employers that a person is currently working for. These business rule changes require application modifications, minimally to its database and potentially to the supporting code. In the typical organization, a change to applications takes time.

An alternate modeling approach represents an organization's business rules as data rather than explicit entities or object classes (Figure 2). This type of model, often referred to as a common, universal or dynamic business model, represents the data constructs required to be in business: any business. The objective is to identify patterns of information structure that can be unified into simpler, more general classes.

Image9.jpg (32881 bytes)

Figure 2: Dynamic Business Model

The following analysis of the business rules was conducted to construct this model:

  1. Since products and services are sold to both people and organization, the "Business Party" class was created to support those situations where people and organization exhibit the same behaviors. People and Organizations are represented as subtypes of Business Party.
  2. A "Business Party Category" class is established to identify all the allowable types of Business Parties of interest to the organization.
  3. Based on the similarity of definitions for household and organization, a pattern is identified of "groups of people who come together for some reason". Therefore, household is made a subtype of Organization.
  4. Based on the definition of households and employer, a pattern is identified of "Business Party involvement in a Business Party Relationship". The following classes are introduced to support this pattern:

A Business Party Relationship Category entry is created for each of the identified relationships: Employment and Household Membership. Likewise, Allowable Business Party Relationship Involvement entries are established to represents:

Business Party Category

Relationship

Role

Minimum

Maximum at one time

Person Employment Employee

0

1

Legal Entity Employment Employer

0

Many

Person Household Membership Household Member

0

1

Household Household Membership Household

1

many

 

With this approach to modeling, the analysis involved configuring the business rules within the dynamic model, rather than representing those business rules explicitly through the diagram. If the organization's databases are designed to this type of model, many business rule changes can be accommodated by modifications to the category and allowable entries. For example, to allow a person to be a member of several households at one time, the maximum at one time value for the "Person-Household Membership" entry is changed from 1 to many.

The dynamic business model's power comes from the generalization of business rules into common patterns. For example, the relationships that can exist between Business Parties represent a pattern, as shown in the following table:

Role

Nature of Relationship

Reciprocal Role

Customer purchase or uses the products or services of another Vendor/Service Provider
Employee agrees to perform specific services for another in exchange for money and other benefits under the IRS guidelines for "employees" Employer
Competitor markets similar products and services in the same market (e.g. Industry) as another Competitor, Industry
Saleperson performs activities on the behalf of the Vendor/Service Provider which directly lead to the sale of their products and services to Customers Customer, Vendor/Service Provider
Shareholder holds an equity position in another Company
Subsidiary is owned by another Parent Company

 

Once the pattern is recognized and incorporated into the dynamic model, business rules that fall within the pattern can be easily changed.

The dynamic business model incorporates several patterns:

Purpose

Type

Color

Represents

Specification Categories Blue The specification of the allowable types for an atomic business class. In this example, Business Party has several categories: Person, Organization, Legal Entity, Internal Unit and Household.
  Allowable Involvement Blue Specifies how categories are allowed to participate in a relationship. In this model, Business Party Categories have participation rules with respect to Business Party Relationships.

For example, the business rule "Person can be employed by only one employer at a time" is represented by an Allowable Business Party Relationship Involvement entry between the Business Party Category of Person and the Business Party Relationship of Employment. Data held within the allowable entry is how many employment relationships one person can be involved in at one time.

Business Objects Atomic business Class Peach Represents a class of real world objects or relationships of interest to the organization. Many of the business rules that govern the behavior of the objects belonging to one of these classes is specified through its associated category object class.
  Generalization Hierarchies Pink Used to segment the atomic business classes based on common attributes and behavior. A category entry will exist for each identified subtype.

Subtypes are exposed in the business model when:

  • they have data that is only meaningful to them
  • participate in relationships that their sibling subtypes to not participate in
  • add clarity when discussing the business rules with subject matter experts and designers

The design level model will drop those classes which existed only to provide clarity to the diagram.

 

The literal model should be used during the business rule capture sessions, as it best represents the perspective of the subject matter expert participants. The literal model is easier to understand because it uses the vocabulary of the business. Similarly, the business rules are easier to validate as they can be read directly from the model diagram.

The dynamic model can be used during business rule capture sessions, especially when the business is trying to understand itself from an enterprise-wide perspective. However, because of the degree to which abstraction is used to represent common business patterns, some people may not relate well to this type of diagram. Terms that are not part of the business vocabulary need to be introduced, such as Business Party, to represent the common ideas. The business rules can not be read from the diagram. Instead, reports must be generated that describe how the business rules have been configured as category and allowable classes.

The dynamic model provides a powerful tool for integrating applications that support similar business processes, but are based on disparate data. The inheritance hierarchies are the key in melding models at the different levels. In most cases, the entities in the literal model that represent the rules of the business so well, become subtypes of the generalized meta-entities. The flexibility of the meta-level model becomes apparent when used in analyzing different business areas within the enterprise. For example, if another division services professional associations, its needs can be mapped into the generalized model by adding new subtypes to Business Party Category (Association), Business Party Relationship Category (Association Membership Relationship) and the appropriate Allowable Business Party Relationship Involvement entries for Person and Association. Since, the remainder of the dynamic model is generic to any business, all that is needed is to populate the remaining business classes with entries relevant to Associations and their membership.

Regardless of whether the dynamic model is used when the business rules are captured, it should be used as the basis of design. Applications and databases built to the dynamic model will have greater flexibility for change than those designed to a literal model.