第3章 DMN (Decision Model and Notation)

DMN (Decision Model and Notation) は、業務的意思決定を説明してモデル化するために、OMG (Object Management Group) が確立している規格です。DMN は XML スキーマを定義して、DMN モデルを DMN 準拠のプラットフォーム間や組織間で共有し、ビジネスアナリストやビジネスルール開発者が DMN デシジョンサービスの設計と実装で協力できるようにするものです。DMN 規格は、ビジネスプロセスを開発してモデル化する BPMN (Business Process Model and Notation) 規格と類似しており、一緒に使用できます。

DMN の背景およびアプリケーションの詳細は、OMG の Decision Model and Notation specification を参照してください。

3.1. 交通違反 DMN デシジョン要件ダイアグラム (DRD) の作成

デシジョン要件ダイアグラム (DRD) は、DMN モデルを視覚的にしたものです。Business Central の DMN デザイナーを使用して交通違反プロジェクトの DRD を設計し、DRD コンポーネントのデシジョン論理を定義します。

図3.1 交通違反の例の DRD

dmn traffic violations drd

前提条件

  • Business Central に交通違反プロジェクトを作成している。

手順

  1. traffic-violation プロジェクトのホーム画面で Add Asset をクリックします。
  2. Add Asset ページで DMN をクリックします。Create new DMN ウィンドウが開きます。

    1. Create new DMN ウィンドウの DMN 名フィールドで Traffic Violation を入力します。
    2. Package リストから com.myspace.traffic_violation を選択します。
    3. OK をクリックします。DMN デザイナーで DMN アセットが開きます。
  3. DMN デザイナーキャンバスで、DMN Input Data の入力ノード 2 つをキャンバスにドラッグします。
  4. 各入力ノードをダブルクリックして、1 つを Driver に、もう 1 つを Violation に名前を変更します。
  5. DMN Decision デシジョンノードをキャンバスにドラッグします。
  6. デシジョンノードをダブルクリックして、Fine に名前を変更します。
  7. Violation 入力ノードをクリックして Create DMN Information Requirement アイコンを選択し、2 つのノードを接続する Fine デシジョンノードをクリックします。

    図3.2 DMN 情報要件アイコンの作成

    info requirement
  8. DMN Decision デシジョンノードをキャンバスにドラッグします。
  9. デシジョンノードをダブルクリックして、Should the driver be suspended? に名前を変更します。
  10. Driver 入力ノードをクリックして Create DMN Information Requirement アイコンを選択し、2 つのノードを接続する Should the driver be suspended? デシジョンノードをクリックします。
  11. Fine デシジョンノードをクリックして Create DMN Information Requirement アイコンを選択し、Should the driver be suspended? デシジョンノードを選択します。
  12. Save をクリックします。

    注記

    DRD を定期的に保存すると、DMN デザイナーは DMN モデルを静的に検証し、モデルが完全に定義されるまでエラーメッセージが出力される可能性があります。DMN モデルをすべて定義し終えてもエラーが発生する場合には、特定の問題を随時トラブルシューティングしてください。