Book a Demo

Please note : This help page is not for the latest version of Enterprise Architect. The latest help can be found here.

Prev Next

Create a Business Domain Model

The Business Domain Model provides the business vocabulary - the terms and facts - on which Business Rules can be modeled. In Enterprise Architect a Business Domain model is represented as a conceptual Class diagram, as illustrated by this diagram from the Car Rental System model from the EAExample model.

A UML Class diagram used as a fact model in Sparx Systems Enterprise Architect.

In the Business Domain model shown in this diagram, the Classes Rent, Customer, Car and Application, together with their attributes and operations, provide the terms for the business vocabulary for the car rental system. The operations and attributes identify the conditions that must be met, the actions that must be taken, and the calculations that must be made to filter and apply the rules to provide a specific value or outcome.

The Class Rental System processes the rules; to make this possible, you add a Rule Flow Activity as a behavior for this Class.

When you create a Rule Flow Activity under a Class, you model the events and sequence as a structure of Rule Tasks (Actions). When you generate code for the Class (in the example, Rental System) the rule flow behavior is rendered as a method inside the Class.

Alternatively, if you have existing operations in the Class that already suit the purpose, you can model business tasks in those operations. When code is generated for the Class, the rules logic is generated as the method body for the corresponding operation.


  • Business Rule Modeling is available in the Unified Edition and the Ultimate Edition of Enterprise Architect
  • When you create Classes in the Business Domain model, select the correct language for code generation to ensure that the correct data type is set for attributes and operation parameters
  • Business Rules code generation is supported for these languages:
         -  C++
         -  C#
         -  Java
         -  VB.Net

Learn more