quinta-feira, 13 de outubro de 2016

Decisões como dados dinâmicos - Um caso prático (parte 3)

Postagem anterior nesta série

Esta postagem faz parte de uma série que irá demonstrar como as regras de conferência na apresentação de documentos para a emissão de passaportes para brasileiros pode ser modelada utilizando-se a notação DMN-Decision Model and Notation v1.1, padrão publicado pelo OMG. Na primeira postagem introduzimos o assunto, e na segunda postagem apresentamos as regras de negócio divulgadas através do sítio da Polícia Federal. Nesta semana, faremos uma rápida apresentação da notação DMN, para que vocês possam acompanhar o processo de modelagem.

O Padrão de Notação DMN


Decision Model and Notation (DMN) é um padrão da indústria, mantido pelo OMG, para a modelagem e execução de decisões que são determinadas através de regras de negócio. O DMN foi publicado inicialmente em 2015, a versão atual é o DMN v1.1, publicado em 2016 e está atualmente passando por um período de rápida adoção, pelas seguintes razões:
  • Padrão aberto: O DMN não é de propriedade de nenhuma empresa, sendo mantido e desenvolvido por uma instituição neutra (o OMG), que também mantém outros padrões mundiais abertos, como o BPMN e o UML. O padrão DMN é suportado por várias ferramentas de modelagem e execução de regras de negócio, diminuindo a dependência de um único fornecedor.
  • Execução direta: Através do DMN, decisões podem ser modeladas e executadas utilizando-se uma única linguagem. Analistas de negócio, analistas de processos e outros usuários não-técnicos podem modelar as regras que levam às decisões através de tabelas de fácil leitura, e estas tabelas podem ser executadas diretamente em um motor de regras. Isto minimiza o risco de falta de entendimento entre a equipe de negócios e os desenvolvedores, e torna mais rápida a eventual manutenção na lógica das decisões.
  • Experiência: O DMN é um padrão recente, mas foi desenvolvido por pessoas com décadas de experiência no gerenciamento de regras de negócio. Ainda assim, o padrão não estabelece nenhum padrão de implementação específico, permitindo o desenvolvimento de implementações mais modernas, flexíveis e leves do que os motores de regras de negócio tradicionais.

O Nível de Requisitos de Decisão


Um dos componentes do DMN, o Diagrama de Requisitos de Decisão (DRD) representa os requisitos de informação, lógica e inter-relacionamento entre as diversas partes que compõem a lógica da decisão, e fornece pontos de conexão das decisões de negócio para os processos de negócio, como mostrado na figura abaixo:

Relação entre os modelos de processos (BPMN) e os modelos de decisões (DMN)

Os elementos básicos em um DRD são poucos e bastante simples, tornando extremamente fácil a sua leitura, mesmo para pessoas não treinadas no padrão (para uma descrição completa da notação, refira-se ao padrão DMN):
  • Decisão: uma decisão, definida como a determinação de um valor de saída através da avaliação de um ou mais valores de entrada de acordo com uma lógica de decisão, é representada em um DRD através de um retângulo. Decisões de Apoio (falaremos sobre elas mais à frente nesta série) podem ser referenciadas em uma decisão, e este relacionamento é representado através de um Requisito de Informação (uma seta com linha sólida).
  • Dados de Entrada: é a informação usada como entrada para determinação de uma ou mais decisões, representada por uma elipse. Também é associada às decisões que a consome através de um Requisito de Informação. Alternativamente, os dados de entrada podem ser listados dentro dos elementos de Decisão que os consomem, o que é útil em diagramas complexos e com um grande número de elementos de dados de entrada.
  • Fonte de Conhecimento: é a fonte de autoridade do conhecimento que suporta uma decisão, representada por um símbolo de documento. Uma fonte de conhecimento pode ser documental (leis, regulamentos, normas, contratos, etc.), pessoal (fornecido por uma pessoa ou grupo de pessoas) ou tácita (usos e costumes, melhores práticas, cultura, etc.). Fontes de conhecimento são associadas às decisões que suportam através de Requisitos de Autoridade (uma linha tracejada com uma ponta circular).
  • Modelo de Conhecimento de Negócio: é um fragmento de lógica de negócio reutilizável, como uma fórmula de cálculo, um conjunto de regras de negócio, uma tabela de decisão etc., e representado por um retângulo com as pontas aparadas. Conhecimentos de negócio podem ser omitidos do DRD (para efeito de simplificação) e são associados às decisões que os consomem através de Requisitos de Conhecimento (uma seta com a linha tracejada).
Estes elementos de um DRD são mostrados abaixo:


O Nível de Lógica de Decisão


Os componentes do nível de requisitos de decisão de um modelo de decisão podem ser descritos através de conceitos puramente de negócios. Este nível é, em geral, suficiente para a análise de negócios de um domínio de tomada de decisões, para identificar as decisões envolvidas, seus inter-relacionamentos, as áreas de conhecimento e dados necessários e as fontes de conhecimento de negócio envolvidas. Um maior nível de detalhe pode ser capturado através da descrição da lógica de decisão utilizando-se tabelas de decisão (o método mais usado) ou outras formas de representação, como modelos analíticos, árvores de decisão, ou descrição de regras de negócio em linguagem natural (e.g. SBVR) (estes métodos de descrição da lógica de negócios não serão tratadas aqui).

Um exemplo de uma tabela de decisão, descrevendo a lógica para determinação de percentual de desconto, é mostrado abaixo. Na linha 3 podemos verificar que se o Cliente (Customer) é Private e a Entrega (Delivery) é sameday o Desconto é 0 (zero), não importando o Tamanho do Pedido (OrderSize);


Assim terminamos esta postagem, e estamos prontos para iniciar a modelagem da decisão sobre a entrega de documentos para a emissão de passaportes, a partir da próxima semana.

Nenhum comentário :

Postar um comentário