Representando o contexto de um sistema de software com C4 model

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.

Compartilhe este insight:

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Mais insights para o seu negócio

Veja mais alguns estudos e reflexões que podem gerar alguns insights para o seu negócio:

This is the first of a series of blog posts sharing some knowledge about how to develop a real-world software...
Agora em fevereiro, depois de 18 meses, fechei meu ciclo como CTO na Guiando para integrar o conselho consultivo da...
In the previous post, I mentioned Mario Fusco who wrote a blog post series questioning the way Java developers are...
Neste post mostro como implementar um EventBus, utilizando RabbitMQ, em C#. Este código ainda está em desenvolvimento. Em breve, uma...
Em tempos onde tanta gente parece saber muito sobre tanta coisa, é interessante resgatar o pensamento da polêmica professora Marilena...
Agora em fevereiro, depois de 18 meses, fechei meu ciclo como CTO na Guiando para integrar o conselho consultivo da...