| 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. |

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.

Figure 2: Dynamic Business Model
The following analysis of the business rules was conducted to construct this model:
- Business Party Relationship
- Business Party Relationship Category
- Allowable Business Party Relationship Involvement
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:
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.