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:
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:
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, 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.