Comunidade
  • Termo

  • Categoria

  • Período

Modelando Regras de Negócio usando a Linguagem ArchiMate

Postado em 15 de fev. de 2017 por Antonio Plais

Há algum tempo, uma pergunta foi postada no grupo ArchiMate do LinkedIn: Como modelar ou representar regras de negócio em modelos ArchiMate? Várias respostas foram apresentadas, tentando abordar a questão a partir de diversas perspectivas. Como praticante da modelagem de decisões, e profissional certificado ArchiMate® 3, decidi apresentar uma solução unindo estes dois corpos de conhecimento. Qualquer comentário, questão ou sugestão são bem-vindos.

Em primeiro lugar, precisamos reconhecer que as regras de negócio podem aparecer em vários domínios da arquitetura, de forma que existem várias formas “corretas” de modelá-las no ArchiMate®. Vamos ver, aqui, como modelar alguns exemplos de regras e decisões de negócio, sem ter a pretensão de esgotar o assunto ou todas as abordagens possíveis. Afinal, o ArchiMate® é uma linguagem e, como tal, permite que a mesma “história” seja contada de formas diferentes, dependendo de quem conta e de quem escuta!

Uma Regra de Negócios da Motivação até o Núcleo do ArchiMate

Gladys Lam, uma das maiores autoridades em regras de negócio no mundo, fornece uma excelente percepção sobre regras de negócio e requisitos de negócio neste artigo. Nele, ela estabelece uma separação clara entre regras e requisitos, e fornece uma série de exemplos bem elaborados para explicar a diferença entre eles. Em suas palavras, “Regras de negócio são listas de declarações que dizem se você pode ou não pode fazer alguma coisa, ou lhe dá critérios e condições para tomar uma decisão”, e “um requisito de negócio é o que você precisa fazer para permitir a implementação de, ou a conformidade com, uma regra de negócio”. Claro como água, não?

No entanto, o ArchiMate não fornece um elemento nativo na Extensão de Motivação para exprimir regras de negócio, como estas mostradas abaixo (extraídas do artigo de Gladys):

  • Um Cliente deve ter um Endereço de Email válido
  • Um Endereço de Email deve ser considerado Válido se uma mensagem enviada para o Endereço de Email não retorna “não entregue” dentro de 60 minutos

Na página 120 da especificação do padrão ArchiMate 3.0.1, é sugerido claramente que regras de negócio podem ser modeladas como uma especialização de Requisito. Eu discordo desta afirmação, pois entendo que (com base nos trabalhos de Ronald Ross e outros) uma Regra de Negócios é uma especialização de um elemento Princípio, como mostrado abaixo:

blog business rules 001

Figura 1 – Modelagem de regras de negócio usando um elemento Princípio especializado como “Business Rule”

Este mecanismo de especialização é padrão do ArchiMate, e nesta postagem eu não entrarei em maiores detalhes sobre como ele funciona.

Da Regra de Negócio para o Requisito de Negócio

Seguindo o exemplo de Gladys, estas regras de negócio devem ser realizadas de alguma forma na arquitetura, através de requisitos de negócio:

blog business rules 002

Figura 2 – Requisitos de Negócio que realizam as Regras de Negócio

Seguindo o padrão do ArchiMate, você pode usar estes requisitos para ligar as regras de negócio com os elementos do núcleo (do ArchiMate) na arquitetura que os realizam:

blog business rules 003

Figura 3 – Elementos do núcleo do ArchiMate realizam os Requisitos de Negócio

Uma regra de Negócio como uma Decisão

Eventualmente, você pode modelar também a decisão de negócio que faz cumprir a regra de negócio no processo, como mostrado abaixo:

blog business rules 007

Figura 4 – Decisões de Negócio realizam Regras de Negócio

O Modelo de Decisão pode, eventualmente, ser detalhado usando, e.g., o padrão DMN-Decision Model and Notation, do OMG, mas não trataremos disso nesta postagem.

Continuando Estrada Abaixo…

Nesta postagem não irei mais fundo para mostrar como modelar as Camadas de Aplicativos e de Infraestrutura do ArchiMate, onde eventualmente encontraremos um motor de regras (BRMS-Business Rule Management Systems) ou um gerenciador de decisões (BDMS-Business Decision Management Systems) que efetivamente irão executar o modelo de decisão, mas tenho a certeza que você já entendeu como as regras de negócio podem ser modeladas usando a linguagem ArchiMate.

Além disso, ficará para uma próxima postagem a discussão sobre como estas regras de negócio se conectam com as motivações, partes interessadas e regras externas (e.g. leis e regulamentos) que as justificam.

Se você tiver alguma dúvida, ou desejar compartilhar suas experiências, entre em contato com a Centus Consultoria, e teremos o máximo prazer em conversar sobre este assunto.

Voltar para a página inicial