The Community Blog for Business Analysts

Arash
Arash

Decision Model and Notation to model Business Policies

Decision model and notation (DMN) is a nice way to model policies and make sure your business rules are implemented properly. Opposite to traditional approach in business rules which was the focus on the rules them selves, in DMN we start from decisions.

Let’s work on a tangible example. In an employees benefits and entitlement system, you would have many rules, which some of them are related to calculate the employee Vacation Days. For example let’s say your company has the following policy:

Every employee receives at least 22 days. Additional days are provided to the following criteria:
1. Only employees younger than 18 or at least 60 years, or employees with at least 30 years of service will receive 5 extra days.
2. Employees with at least 30 days of service and also employees of age 60 or more, receive 3 extra days, on top of the possible additional days already given.
3. If an employee has at least 15 but less than 30 years of service, 2 extra days are give. These 2 days are also provided for employees of age 45 or more. These 2 extra days cannot be combined with  the 5 extra days.

(* The policy example was provided by Prof. Jan Vanthienen)

Now let’s have a look at the bellow model:

Decision model and notation in action


Each of the blue rectangles are called “Decision” and each line with arrow shows the dependency of each decision to another or to an input data (employee in round rectangle with pink color).

 

Now we need to build couple of simple decision tables. And then associate each of them to appropriate decision node in the above decision requirement diagram.

Base days

Every employee receives at least 22 days.

DMN decision table

Base days

Extra 3 Days rules

Employees with at least 30 days of service and also employees of age 60 or more, receive 3 extra days, on top of the possible additional days already given.

Extra 3 days vacation

Extra 3 days vacation

Extra 5 days rules

Only employees younger than 18 or at least 60 years, or employees with at least 30 years of service will receive 5 extra days.

DMN decision table

Extra 5 days vacation

Extra 2 Days rules

If an employee has at least 15 but less than 30 years of service, 2 extra days are give. These 2 days are also provided for employees of age 45 or more.
These 2 extra days cannot be combined with  the 5 extra days. (This part is handled where we add up all the values in Total vacation days)

Decision table in DMN

Extra 2 days eligibility

Total vacation days calculation

In the upper left side decision, we calculate the total days based on eligibility for base days and extra days:

Decision model and notation with decision table

Total vacation days based on other decision tables

We also set the last table aggregation method to Sum based on Rules Order. So the result will be sum of the last column (Vacation Days).
DMN aggregation function
Decision model and Notation defines couple of standard aggregation functions.

Benefits of this Approach


If you model only the Decision Tables, for a slightly more complex policy you will loose the big picture and will have no clue about the whole policy not scenario that is covered. But by using the Decision Model and Notation (DMN), you start from top, and then drill down to each decision implementation (Decision tables) or other types of logic.

This entry was published on Feb 01, 2016 / Arash. Posted in Business Rules, Business Analysis. Bookmark the Permalink or E-mail it to a friend.
Like this article:
  23 members liked this article

Related Articles

COMMENTS

Only registered users may post comments.

Modern Analyst Blog Latests

As we start a new year many of us will take the time to reflect on our accomplishments from 2012 and plan our goals for 2013. We can set small or large goals. goals that will be accomplished quickly or could take several years. For 2013, I think Business Analysts should look to go beyond our traditional boundaries and set audacious goals. Merriam-...
Recently, I was asked by the IIBA to present a talk at one of their chapter meetings. I am reprinting here my response to that invitation in the hope that it will begin a conversation with fellow EEPs and BAs about an area of great concern to the profession. Hi xx …. Regarding the IIBA talk, there is another issue that I am considering. It's p...
Continuing the ABC series for Business Analysts, Howard Podeswa created the next installment titled "BA ABCs: “C” is for Class Diagram" as an article rather than a blog post. You can find the article here: BA ABCs: “C” is for Class Diagram Here are the previous two posts: BA ABCs: “A” is for Activity Diagram BA ABCs: “B” is for BPMN

 



Blog Information

» What is the Community Blog and what are the Benefits of Contributing?

» Review our Blog Posting Guidelines.

» I am looking for the original Modern Analyst blog posts.

 




Copyright 2006-2024 by Modern Analyst Media LLC