Modelando Regras de Negócio usando a Linguagem ArchiMate®

postado em 15 de fev de 2017 11:28 por Antonio Plais   [ 2 de mar de 2017 06:00 atualizado‎(s)‎ ]
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®, 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 (tiradas 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 65 do padrão ArchiMate 3.0, é 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:
Figura 1 - Modelagem de regras de negócio usando um elemento "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:
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:
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:
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, ou mesmo a antiga (e ainda útil) notação TDM, 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.