Guia de Sintaxe de Diagramas ArchiMate do PlantUML

O que é um Diagrama ArchiMate?

Um Diagrama ArchiMateé uma visualização de modelagem de arquitetura empresarial de alto nível que rastreia estratégias, processos de negócios, aplicações de software e infraestrutura física de dados em toda a organização. Diferentemente dos mapas tradicionais UML que analisam profundamente rotinas de execução de software, o ArchiMate ajuda analistas de negócios, arquitetos de soluções e CTOs a mapear como objetivos corporativos de alto nível dependem dos sistemas de TI subjacentes.

Embora o PlantUML básico contenha primitivas nativas, layouts empresariais de produção exigem a extensão da biblioteca oficial Archimate-PlantUMLextensão da biblioteca padrão. Ao utilizar macros declarativas e faixas de cor padronizadas, permite que você mantenha modelos consistentes e compatíveis com TOGAF. Com VPasCode, você pode definir seus blocos arquitetônicos e fios relacionais inteiramente em texto, permitindo que o motor gerencie dinamicamente os esquemas de cor dos quadros e o alinhamento.

Guia de Sintaxe Principal: Elementos e Construções

Para usar a extensão oficial ArchiMate com segurança no PlantUML, você deve incluir o arquivo da biblioteca padrão, implementar corretamente as macros de categoria, lidar com blocos aninhados e aplicar relações estruturais explícitas.

1. Inicializando a Biblioteca Padrão ArchiMate

Para desbloquear as macros oficiais, paletas de cor e estereótipos estruturais, seu bloco de script deve importar o arquivo da biblioteca padrão diretamente abaixo da sua tag de início. Você pode opcionalmente aplicar um dos temas oficiais para garantir visibilidade de alto contraste:

@startuml
!include <archimate/Archimate>
!theme archimate-standard from <archimate/themes>

2. Declarando Elementos Usando Macros de Categoria

A biblioteca padrão simplifica a criação de elementos envolvendo formas nativas dentro de macros com prefixo de categoria. Os elementos seguem uma convenção estrita Categoria_NomeElemento(ID, "Rótulo")de nomeação. O prefixo determina a camada estrutural e injeta automaticamente o token de cor correto:

  • Estratégia & Motivação (Roxo): Motivacao_Actor(), Estrategia_Capacidade()
  • Camada de Negócios (Amarelo): Negocio_Actor(), Negocio_Processo(), Negocio_Servico()
  • Camada de Aplicação (Azul): Componente_Aplicativo(), Serviço_Aplicativo()
  • Camada de Tecnologia (Verde): Nó_Tecnologia(), Software_Sistema_Tecnologia()
!include <archimate/Archimate>
Motivação_Apostador(CEO, "Diretor Executivo")
Componente_Aplicativo(CRM, "Sistema Salesforce CRM")

3. Definindo Limites de Grupo e Aninhamento Estrutural

Mapas empresariais dependem fortemente da contenção visual para representar propriedade ou isolamento de tempo de execução. Você pode criar pastas delimitadoras usando o Grupo() ou Agrupamento() macros, ou aninhar elementos uns dentro dos outros usando chaves:

!include <archimate/Archimate>
Agrupamento(AppSubsystem, "Suite de Gestão de Clientes") {
    Componente_Aplicativo(AuthMod, "Módulo de Token OAuth")
    Serviço_Aplicativo(UserReg, "API de Registro de Usuário")
}

4. Mapeando Relacionamentos Empresariais Padronizados

ArchiMate impõe um vocabulário rigoroso para conexões. Em vez de setas brutas, a biblioteca padrão oferece macros de relacionamento dedicadas formatadas como Rel_TipoRelacionamento(De_ID, Para_ID, "Rótulo"). Para forçar ajustes manuais de orientação, você pode acrescentar dicas espaciais de direção (como _Acima, _Abaixo, _Esquerda, ou _Direita):

!include <archimate/Archimate>

Motivation_Stakeholder(CEO, "Diretor Executivo")
Application_Component(CRM, "Sistema Salesforce CRM")

Grouping(AppSubsystem, "Suite de Gestão de Clientes") {
    Application_Component(AuthMod, "Módulo de Token OAuth")
    Application_Service(UserReg, "API de Registro de Usuário")
}

' Exemplos de relacionamentos estruturais e comportamentais
Rel_Realization(UserReg, AuthMod, "Implementa segurança")
Rel_Serving_Right(CRM, CEO, "Fornece painéis de controle")

Melhores Práticas para Diagramas de Arquitetura em Camadas

  • Isolar Camadas Distintas:Organize seus scripts sequencialmente de cima para baixo (Motivação > Negócio > Aplicação > Tecnologia) para tornar seus layouts de arquitetura intuitivos para os interessados.
  • Aproveite IDs Curtos de Componentes: Mantenha suas strings internas de rastreamento de macros breves (por exemplo, use AP_01 ou Srv_Auth), enquanto reserva textos descritivos e voltados para o cliente para o parâmetro de rótulo entre aspas duplas.
  • Impor Direções Explícitas em Fios que Cruzam Camadas: Os caminhos de layout podem mudar de forma imprevisível ao cruzar limites estruturais. Usar macros direcionais como Rel_Access_Down() garante que seus fluxos de dados se movam suavemente para baixo através das divisões de camadas.

Exemplos Reais de PlantUML com ArchiMate

Exemplo 1: Mapeamento Clássico de Capacidades Estratégicas (Níveis de Motivação e Estratégia)

Este plano funcional documenta a camada estratégica de uma organização, ilustrando como os interessados corporativos se alinham com capacidades de negócios e resultados técnicos realizados.

@startuml
!include <archimate/Archimate>
!theme archimate-standard from <archimate/themes>

title Mapa de Alinhamento Estratégico Empresarial

Motivation_Stakeholder(CFO, "Diretor Financeiro")
Motivation_Driver(CostEfficiency, "Redução de Custos Operacionais")
Strategy_Capability(AutomatedBilling, "Automatização da Emissão de Faturas Empresariais")
Business_Process(InvoiceRun, "Reconciliação do Livro-Registro no Fim do Mês")

' Conectar dependências estratégicas
Rel_Association(CFO, CostEfficiency, "Busca melhorar")
Rel_Influence(AutomatedBilling, CostEfficiency, "Impacta positivamente")
Rel_Realization(InvoiceRun, AutomatedBilling, "Cumpre a capacidade")
@enduml

Análise de Sintaxe: Ao executar as macros estratégicas roxas, o motor mapeia os elementos de forma clara. Macros relacionais claras conectam o interessado humano através das motivações organizacionais, alinhando a estratégia corporativa de forma limpa com os comportamentos de execução subjacentes.

Exemplo 2: Sistema Empresarial de Três Camadas de Extremo a Extremo (Malha entre Camadas)

Este projeto avançado demonstra uma topologia de arquitetura abrangente e de múltiplas camadas. Ele mapeia um processo de negócios operacional descendo por meio de microsserviços de aplicativos de suporte até o host de infraestrutura em nuvem subjacente.

@startuml
!include <archimate/Archimate>
!theme archimate-standard from <archimate/themes>

title Alinhamento da Arquitetura de Aplicativo Multicamadas

Grouping(BizLayer, "Operações de Negócios") {
    Business_Actor(Agent, "Agente de Suporte ao Cliente")
    Business_Process(Ticketing, "Processo de Ticket de Suporte Empresarial")
}

Grouping(AppLayer, "Ecosistema de Aplicativos") {
    Application_Service(TicketSvc, "API de Integração com Zendesk")
    Application_Component(DataRouter, "Motor de Processamento de Eventos")
}

Grouping(TechLayer, "Nível de Infraestrutura") {
    Technology_SystemSoftware(K8sCluster, "Cluster de Orquestração Kubernetes")
    Technology_Node(CloudVM, "Destino de Computação AWS EC2 m6i.xlarge")
}

' Estabeleça mapeamentos entre camadas de forma suave usando dicas direcionais
Rel_Assignment(Agent, Ticketing, "Executa diariamente")
Rel_Serving_Down(TicketSvc, Ticketing, "Alimenta a interface web do atendimento")

Rel_Composition(DataRouter, TicketSvc, "Recebe webhooks de")
Rel_Realization_Down(K8sCluster, DataRouter, "Hospeda o contêiner do aplicativo")

Rel_Composition_Down(CloudVM, K8sCluster, "Fornece hipervisor central em bare-metal")
@enduml

Análise de Sintaxe: Este mapa destaca o poder da estruturação Grouping componentes. Os elementos recebem automaticamente tons de cor distintos e específicos por camada (amarelo, azul, verde) com base em suas famílias macro. Sobrescritas de relacionamentos direcionais como Rel_Serving_Down e Rel_Realization_Down forçam as dependências a se propagarem elegantemente pela grade empresarial.

Scroll to Top