Starter Business Rule Model

The Starter Business Rule Model pattern creates diagrams and elements that model Domain Elements, Business Rules, Rule Tasks and Rule Flows to describe Business Rules can be modeled formally and used to generate programming code that is used to implement the rules.

Figure 1. Shows the structure of elements, features and diagrams in the Project Browser.

Figure 2. Shows a UML Class diagram that defines the business entities that are used in the Business Rules Model.

Figure 3. Shows a Rule Model diagram that describes the relationship between the Rule Tasks and the Business Rules.

Figure 4. Shows a Rule Flow diagram that is used to express the behavioral aspects of the Rules.

Discussion
The purpose of the pattern is to allow a Business Analyst, Business Architect, Software Engineer or other stakeholder to model the rules of the business and how they relate to important terms and facts. An important reason for modeling the rules in this way is to enable implementation code to be generated directly from the 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.
In the Business Rules Model, you initially define each business rule as a Business Rule element and later group these rules by linking them (using Dependency connectors) with Rule Task elements.

The pattern is typically used during the analysis phase when the Business Domain model has been sufficiently developed and the rules can be articulated clearly. it can be used to:
·	Define the important terms and facts that make up the domain.
Define the Business Rules in language meaningful to both business and technical stakeholders.
Define a flow that describes how the Business Rules are executed.
Generate programming code in a variety of languages that implement the Business Rules.

The following is a list of some things you may want to do when working with this pattern.
·	Change the name of the packages and diagrams to suit the initiative.
Change the name of the Classes to represent the term and entities in the initiative.
Change the Business Rules, Business Tasks and their relationships to suit the initiative.
Create additional Business Rules and Rule Tasks and relate them as required.

The following is a list of some of the next steps available when applying the pattern.
·	Generate programming code from the model in a suitable programming language.
·	Generate documentation automatically from the models into a variety of formats including PDF, DOCX and HTML.
Useful Workspace Layouts Core | Core Modeling, Wide View

Reference
The following help topics will assist you learn about how to work with this pattern.
Modeling Business Rules
Develop a Business Rules Model
Compose Business Rules

The following are some of the tools that will be helpful when working with this pattern.
Source Code Editor
The Source Code Editor is a fully featured programming source code editor. It has a structure tree for easy navigation of attributes, properties and methods. Line numbers can be displayed and syntax highlight options can be configured. Many of the features that software engineers are familiar with in their favorite IDE, such as Intelli-sense and code completion are included in the editor. Viewing the source code juxtaposed with the Models from which it is generated brings a great clarity to the design effort and its implementation. For more details see the Editing Source Code help topic.
Visual Execution Analyzer
The Visual Execution Analyzer is made up of an advanced and powerful suite of tools that allow you to build, debug, record, profile, simulate and otherwise construct and verify your software development while keeping the code tightly integrated with your model. Enterprise Architect has rich support for a wide range of popular compilers and platforms, in particular the Java, .Net and Microsoft Windows C++ environments. Software development becomes a highly streamlined visual experience, quite unlike working in traditional environments. For more details see the Visual Execution Analyzer  help topic.
Model Transformation
The Model Transformation facility allows a modeler to transform a Conceptual data model to a Logical data model and in turn a Logical Data Model to a Physical Data Model. The transformations are driven by user-defined or built-in templates. This facility will save time and effort and reduce the possibility of errors. For more details see the Model Transformation help topic.
Hand Drawn and Whiteboard Diagrams
The Hand Drawn and Whiteboard Mode are display options available for any diagram that changes a system-drawn diagram to appear as though it was drawn by hand and, optionally, hand drawn on a whiteboard. It is a powerful device to engage an audience by presenting the diagram in a rough and more immediate style giving the impression that it is just a sketch that can be changed. For more details see the Hand Drawn and Whiteboard Mode help topic.
Alternate and Images for Diagram Elements
Most standard elements allow an alternate image to be defined for an element that will be used in place of the graphical notation for the element either on a selected diagram or as a default on all diagrams. For more details see the Using the Image Manager help topic.
Pan and Zoom
The Pan and Zoom facility is one of the tools that can be used to navigate around a large diagram. Often the resolution of a diagram must be reduced to ensure it is wholly visible but by using the Pan and Zoom window you can leave the diagram at a readable resolution and pan around to areas of interest zooming in when necessary. For more details see the Pan and Zoom help topic.
Document Generator
The Document Generator is a powerful facility in Enterprise Architect that allows a Database Engineer or other stakeholder to create high quality corporate or technical documentation directly from the model, suitable for internal or external audiences. For more details see the Documentation help topic.

© 2000 - 2018  Sparx Systems Pty Ltd.  All rights Reserved.