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

Introduction to Decision Modeling

Now more than ever, in a world turned on its head by new and innovative business and technical ideas and disruptive ways of working, does an organization need to have a clear understanding of its choices and the decisions it makes. Unmanaged complexity is the enemy and its opposite - agility - the friend that heralds business success and enables an organization to respond quickly to changes in its business circumstances. Without a clear and communicable model it is almost impossible for an organization to embrace the changes that confront it daily in the digital world. The description and implementation of decisions, which has been inexplicably and somewhat invisibly part of almost all other disciplines has now been synthesized into a rigorous and formal discipline of its own, with a new way of modeling and describing decisions, Inputs, Outcomes, Rules, Business Knowledge, Authorities and more. Indeed, once you have seen the Decision Model and Notation in action and been introduced to the countless benefits it brings, you will not be able to go back to old and arcane ways of working.

Enterprise Architect has become the tool of choice for many Business and Technical leaders because of its flexible, extensible, standards-based and pragmatic approach to modeling complex systems. As a collaboration platform it is a tool for all disciplines, and allows Decision Models to be created, integrated, managed, documented, simulated and generated to programming code. The models can be visualized and integrated with a range of other models including Business Process Diagrams, Use Case Models, User Stories, Test Cases, Database Models, Implementation Artifacts and programming code to list just the main models.

How it will help you

Most readers will typically have some knowledge of decision-making in an organization, but each reader will most likely have different experiences and a different way of defining, managing and working with decisions. Decisions arise across the whole fabric of organizational descriptions and implementation. Distilling the decisions into a separate but articulated model will provide great clarity and value. The reader will benefit by understanding Enterprise Architect’s features and the tools that are available to develop and manage Decision Models, which in turn will enable them to be more productive as an individual and as a member of a team. The ultimate value, though, will be to the organizations they work for, which will acquire the ability to respond to change efficiently and with agility, allowing them to navigate through the complex and ever-changing business environment of the digital age.

Who will benefit

Anyone involved in the development, management or implementation of decisions, whether at a strategic level, a business value level or a technology level, will benefit from reading this guidebook. This encompasses a wide range of roles, whose work and decisions will ultimately be guided and facilitated by the models, but specifically there are four groups for whom using Decision Model and Notation holds great value:

  • Strategic Thinkers, who are responsible for steering the enterprise through the turbulent waters of change, setting the goals and understanding the drivers, will benefit by being able to visualize the decisions they make and know that they are being implemented according to their intentions.
  • Business and Process Analysts, who currently have business rules and decisions built into their Process diagrams in the form of complex and cascading sets of Gateways, will benefit because they will be able to extract these rules, placing them into an articulated Decision Model. The result will be a reduction of complexity, straight-through Process diagrams that are easier to understand and more resilient to change, and a simple model of their decisions that can be simulated, tested and implemented.
  • Software Engineers, who know full well the benefit of isolating the business rules from the main body of the code and allowing them to be configured, will benefit because they not only will have a clear and tested model of the rules but they will also be able to automatically generate programming code that enshrines the rules, removing the possibility of errors of interpretation or translation.
  • System Engineers, who are accustomed to complex and often seemingly intractable problems in a wide range of disciplines and contexts from space exploration to oceanography. Systems are designed to operate within a context that require decisions to be made, such as production line robots, planetary rovers, transport control systems, safety control systems in machinery plants and many more. These systems typically rely heavily on decisions to maintain operational efficiency, safety and to be able to respond to variables that change within the environments.

What you will learn

This topic will teach you how to use the many features of Enterprise Architect to develop and manage Decision Models using the new Decision Model and Notation (DMN), to connect the Decision Models to other types of enterprise model such as Business Process, StateMachine, Use Case and Parametric, to simulate them, to automatically generate programming code, to create documentation and to work collaboratively as a member of a team.

You will learn what tools are available, which tools should be used for a particular technique, and how to use them. For example, the topic will teach you how to decompose complex and seemingly intractable decision rules into a simple and understandable model, using diagrams and Decision Tables. These can be simulated and implemented manually or used to generate high-quality programming code in a wide range of languages, using the tools and facilities available within Enterprise Architect.

Overview of the Guide

This Guide is divided into a number of topics that will introduce you to Decision Modeling from a number of perspectives, ensuring that once you have worked through the document you will have a sound knowledge of the why, what and how of Decision Modeling. The Guide commences with a Getting Started topic that will introduce the concepts with broad brushstrokes, followed by an overview. Next is a list of benefits and a series of topics that develop the detail. The concepts, notation and tool usage are all introduced, giving you the theoretical and practical knowledge to get started with your own Decision Models and to derive the benefit of applying this approach to modeling decisions.

Getting Started

The Getting Started topic provides just enough information for you to begin setting up your own models, starting with setting up a model structure, tailoring the application , creating your first diagrams and learning how to work with the windows and tools used in modeling decisions in Enterprise Architect.

Getting Started

Decision Model and Notation Overview

The Decision Model and Notation Overview topic introduces the DMN standard and provides a simple example. The topic continues by introducing the concept of levels of usage, which will help you see how it will work practically in an organization. The topic continues to provide the context for its usage, and when and why it should be used.

Decision Model and Notation Overview

Benefits of Decision Model and Notation

The Benefits of Decision Model and Notation topic is almost a business case for the use of this approach and exemplifies why an organization should use Enterprise Architect to model decisions. After completing the topic you should be able to see how and why it could be used to assist your own organization in modeling decisions more formally and rigorously, and the benefits that would be gained from taking this approach, including validation and the generation of implementation code.

Benefits of Decision Model and Notation

Context for Decision Model and Notation

The Context for Decision Model and Notation topic will help Modelers, Requirements Analysts and other stakeholders understand the situations in which the discipline of Decision Modeling can be used. It introduces a broad range of contexts from business, engineering and scientific disciplines. It discusses some of the canonical examples, such as the use of Decision Models with Business Process diagrams, and explores other interesting applications that are support by Enterprise Architect.

Context for Decision Model and Notation

Example Decision Model

The Example Decision Model topic introduces a complete example that is simple enough to understand but also has sufficient complexity to demonstrate some of the expressive aspects of the standard and the facilities available in Enterprise Architect. The example will provide a useful backdrop for some of the later topics that will introduce more of the richer features of the language and the tool.

An Example Decision Model

Synopsis of the Notation

The Synopsis of the Notation topic introduces you to the Decision Model and Notation standard. This includes the visual elements that will be placed on diagrams, including elements, relationships and artifacts, and their meaning and usage.

Synopsis of the Notation

The Decision Requirements Diagram

The Decision Requirements Diagram topic introduces the main diagram used for constructing Decision Models, and teaches you how to create, modify and work with the elements using the many tools available within Enterprise Architect. Many of the things you will learn in this topic can be applied to other diagram types as well, so by the final topic you will be well on your way to knowing how to work with the tool.

The Decision Requirements Diagram

Decision Expression Types

The Decision Expression Types topic is where we explore how the logic for decisions is defined. It introduces the Expression types that can be used to describe the logic, and the expression editor that can be used to manage these expressions.

Decision Expression Types

Decision Tables Explained

The Decision Tables Explained topic drills down into the details of the commonest expression type - the Decision Table - and explains Hit Policies, allowable values, value and expression types and more. This will become an important reference for both novice and experienced Decision Modelers.

Decision Tables Explained

Validating a Decision Model

The Validating a Decision Model topic introduces the validation tool, which can be used to check the consistency, correctness and completeness of the model. This is a useful feature built-in to Enterprise Architect, providing a safeguard against errors due to gaps and overlaps in expressions. Validation should be used as a precursor to simulation to ensure that the models are sound, expressive and logically codify the intent and reasoning behind the business decisions.

Validating a Decision Model

Simulating a Decision Model

The Simulating a Decision Model topic introduces features that allows a Decision Model to be executed as though it were in situ in a production system. Enterprise Architect allows a modeler (business or technical) to run the simulation with no need for configuration. Any decision within the Requirements diagram can be selected for simulation, including the highest level decision. You can select any predefined input data sets and run the simulation multiple times to see the model outputs with different data as inputs.

Simulating a Decision Model

Code Generation from a Decision Model

The Code Generation from a Decision Model topic introduces a productivity tool within Enterprise Architect that allows implementation (programming) code to be automatically generated directly from the model. The facility is key to the successful implementation of the rules in a runtime engine, as there is no need for programmers or technical staff to interpret the models or attend meetings with business users - the code is generated directly from the models. This facility will remove problems associated with the misinterpretation of business intent, that have plagued the industry. The workflow is straightforward - specify the decisions, define the expressions, validate the expressions and generate the code.

Code Generation from a Decision Model