No modelo C4, o diagrama de contexto descreve, com um nível de abstração bem elevado, um sistema de software indicando suas responsabilidades, seus principais usuários (humanos ou não) e suas principais dependências
Este diagrama é muito útil para reforçar acordos, principalmente com áreas não técnicas, sobre as expectativas, em alto nível, que precisam ser atendidas. Também é excelente para comunicar os objetivos do sistema para todos os envolvidos no time, bem como explicitar as principais interações desse sistema.
Como elaborar o diagrama de contexto
O primeiro passo para elaborar um diagrama de contexto é representar o sistema em si. Isso é feito através de uma caixa que deverá ficar no centro do diagrama. Essa caixa deve conter o nome do sistema e uma descrição em alto nível do que o sistema faz.
Na sequência, representamos todas as pessoas (geralmente personas e/ou papéis) e outros software que acionam o sistema que estamos descrevendo. Geralmente, uso um código de cor para indicar esses elementos e os desenho na parte superior do diagrama.
Depois, representamos todas as pessoas (personas e/ou papéis) e outros software que são acionados pelo sistema que estamos descrevendo. Também é recomendado usar um código de cor para indicar esses elementos. Preferencialmente, represento esses sistemas na parte inferior do diagrama.
Finalmente, adicionamos setas direcionadas (partindo de quem está acionando, chegando a quem está sendo acionado), indicando em poucas palavras a natureza da relação.
Importante destacar que o objetivo não é fazer uma descrição exaustiva (isso poderá ser feito mais tarde). A ideia central é indicar somente as principais relações.
Em cenários mais específicos, podemos adicionar um contorno pontilhado indicando quais sistemas são internos e quais são externos a organização.
Embora não seja o mais comum, algumas interações entre os sistemas que acionam ou são acionados por aquele que estamos descrevendo também podem ser representadas.
Lições do Campo
Embora seja um diagrama muito simples, o processo de composição do diagrama de contexto tem se relevando útil e desafiador.
Por incrível que pareça, é difícil para as organizações relacionar quais são os principais “acionadores” e “acionados” pelos diversos sistemas. Também costuma ser bem difícil criar uma descrição sucinta sobre o que um sistema faz ou deve fazer.
O maior ganho desse diagrama tem sido a melhoria da comunicação entre as partes.
Hora de agir
O diagrama de contexto é o primeiro dos 4 tipos de diagramas indicados pelo C4 model. Comece por ele.
O diagrama de contexto pode ser desenhado quando estamos criando um novo sistema de software, mas também é muito útil para sistemas já desenvolvidos. Convido você a tentar desenhar um diagrama de contexto para o sistema onde está atuando. Compartilhe suas impressões nos comentários.
6 respostas
Muito interessante, o emprego de linguagem ubíqua e o tratamento de complexidade que é o papel principal da arquitetura no meu entender.
Não achei um software especifico que se aplica ao modelo, tem alguma sugestao de ferramenta para construir os diagramas ? Deixo aqui o draw.io.
Particularmente gosto desta aqui Renan: https://structurizr.com/
Estou avaliando o https://structurizr.com/ e achei bastante interessante. Também tomei conhecimento sobre esse projeto: https://github.com/structurizr/dotnet, que permite representar os diagramas C4 como código. Algum de vocês já utilizou e recomenda? Gosto dessa abordagem de transformar tudo em código, que pode ser versionado e evoluído de forma consistente atrvés do tempo.
Grande Elemar! Excelente conteúdo, como sempre.
Tenho uma dúvida: em um projeto de software, qual seria o local de armazenamento que você recomendaria para esses artefatos de documentação?