# Guia DMN

🧠 Guia de Introdução à DMN (Decision Model and Notation)

### 📌 O que é DMN?

A **DMN (Decision Model and Notation)** é uma notação gráfica padronizada, criada pelo **Object Management Group (OMG)**, que permite modelar decisões operacionais de forma clara e compreensível para analistas de negócio, programadores e gestores.

É frequentemente usada em conjunto com **BPMN** para separar a lógica de decisão do fluxo de processos.

***

### 🧩 Estrutura de um Modelo DMN

Um modelo DMN é composto por dois níveis:

#### 1. **Requisitos de Decisão (Decision Requirements)**

* Define **quais decisões** devem ser tomadas
* Mostra **dependências** entre decisões, dados e fontes de conhecimento

#### 2. **Lógica de Decisão (Decision Logic)**

* Define **como** a decisão é tomada com base nos inputs
* Pode incluir **regras de negócio**, **tabelas de decisão**, **expressões lógicas**

***

### 🔧 Elementos DRG/DRD da Notação DMN

<table><thead><tr><th width="128.54547119140625">Elemento</th><th>Descrição</th></tr></thead><tbody><tr><td><img src="/files/tZhD8Gia2UG5EkqtJ25Z" alt="" data-size="line"> </td><td>= o ato de determinar uma saída a partir de um número ou valores de entrada</td></tr><tr><td><img src="/files/gjdh2LA5cvHbdjNaQ6fK" alt="" data-size="line"></td><td>= uma função encapsulando conhecimento do negócio</td></tr><tr><td><img src="/files/683LgFTxHJLv8EUTzHJd" alt="" data-size="line"></td><td>= informação usada como input</td></tr><tr><td><img src="/files/vhErbhqZ3Dw8smmtUsLe" alt="" data-size="line"></td><td>= autoridade para conhecimento ou decisão de negócios</td></tr></tbody></table>

***

***

### 🔗 Relacionamentos Permitidos

* Uma decisão pode **usar dados de entrada**
* Pode **invocar** modelos de conhecimento
* Pode **depender** de fontes de conhecimento
* Fontes de conhecimento podem **invocar ou depender** de outras

### 🔀 Relacionamentos DRG/DRD da Notação DMN

<table><thead><tr><th width="128.54547119140625">Elemento</th><th>Descrição</th></tr></thead><tbody><tr><td><img src="/files/1Sr2nOEn3kNBAbvTA29T" alt=""> </td><td><p>= usado como input</p><p>= requisito de informação</p></td></tr><tr><td><div><figure><img src="/files/bsSmLI17NlqhRm4MyVRy" alt=""><figcaption></figcaption></figure></div></td><td><p>= invoca</p><p>= requisito de conhecimento</p></td></tr><tr><td><div><figure><img src="/files/3xO6eqvjVSGjopGNleab" alt=""><figcaption></figcaption></figure></div></td><td><p>= depende de</p><p>= requisitos de autoridade</p></td></tr></tbody></table>

***

### ✅DMN: Relacionamentos permitidos

<table><thead><tr><th></th><th></th><th data-hidden></th><th data-hidden></th></tr></thead><tbody><tr><td><div><figure><img src="/files/jY9TMa5hlrGPw9K8X9BH" alt="A Decisão 1 é usada como input para a decisão 2"><figcaption><p>A Decisão 1 é usada como input para a decisão 2</p></figcaption></figure></div></td><td><div><figure><img src="/files/1IDkGH7cN7NqH3Kt63jq" alt=""><figcaption><p>Dados de Input usados como input para a decisão</p></figcaption></figure></div></td><td></td><td></td></tr><tr><td><div><figure><img src="/files/Ldmm4XnPV6C1dYvx7VpC" alt=""><figcaption><p>A Decisão depende da Fonte de conhecimento</p></figcaption></figure></div></td><td><div><figure><img src="/files/GBfgziuYaCBsOwcogAhd" alt=""><figcaption><p>Dados de input dependem da fonte de conhecimento</p></figcaption></figure></div></td><td></td><td></td></tr><tr><td><div><figure><img src="/files/NpA32Yj4TE6uDYzNvpDO" alt=""><figcaption><p>O Conhecimento de Negócio invoca a Decisão</p></figcaption></figure></div></td><td><div><figure><img src="/files/3kzWhjlu0ocem0SZtLuC" alt=""><figcaption><p>A Fonte de Conhecimento depende da Decisão</p></figcaption></figure></div></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td></tr></tbody></table>

***

### 📋 Tabelas de Decisão

As tabelas de decisão representam regras de negócio de forma tabular. Cada linha define uma regra, com condições (inputs) e resultados (outputs).

| Condição: Idade | Condição: País | Resultado: Elegibilidade |
| --------------- | -------------- | ------------------------ |
| < 18            | Qualquer       | Não Elegível             |
| ≥ 18            | Portugal       | Elegível                 |
| ≥ 18            | Outro          | Avaliação adicional      |

Estas tabelas são fáceis de ler, validar e automatizar.

***

### 📊 Vantagens de Usar DMN

* Separação clara entre **processo** (BPMN) e **decisão**
* Facilita a **automação** e **validação** de regras
* Melhora a **manutenção** e **compreensão** dos modelos
* Permite **reutilização** de lógica em diferentes contextos

***

### ⚖️ Quando usar DMN vs BPMN?

\- **BPMN** | é ideal para modelar  fluxos de processo | (ex.: aprovar pedido, enviar email).

\- **DMN** é ideal para modelar **decisões complexas** (ex.: aprovar crédito, calcular desconto).

\- Usa-se **em conjunto** quando um processo inclui decisões que dependem de regras variáveis.

***

### 🧪 Exemplos Práticos

* Decidir se um cliente é elegível para um produto
* Escolher uma rota de entrega com base em risco e localização
* Determinar o prato a servir num restaurante com base na estação e número de convidados

***

### 📚 Recursos Recomendados

#### 🎓 **1. All About DMN, Part 1: The Basics**

{% embed url="<https://www.youtube.com/watch?v=H2hy9re99OQ>" %}

#### 🧠 **2.** All About DMN, Part 2: Adding BPMN to the Mix + Running the Process

{% embed url="<https://www.youtube.com/watch?v=gncyb2QZsfM>" %}

#### 🧩 **3.**  All About DMN, Part 3: Adding More Context to a DMN Table + Using the FEEL Playground

{% embed url="<https://www.youtube.com/watch?v=riIT1vtMXiQ>" %}

#### 🧪 &#x34;**.**  All About DMN, Part 4: Advanced Details

{% embed url="<https://www.youtube.com/watch?v=hgrqYRpAkVM>" %}

* Ferramentas: **Camunda Modeler**, **Signavio**, **Trisotech**

<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ulht-jcb.gitbook.io/fundamentals-of-information-systems/documentation/ligacoes-rapidas/interactive-blocks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
