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:

6 respostas

  1. 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.

  2. 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?

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

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:

When you think about Roslyn source code, you should think about performance-oriented design. I would like to share some performance techniques...
Microsserviços podem se transformar, rapidamente, em um pesadelo para a área de operações. Diferente do que ocorre com um monolítico,...
Como já afirmado, a arquitetura corporativa influencia e é diretamente influenciada pela Estratégia do Negócio. Logo, todas as informações que...
Neste post, gostaria de compartilhar a estrutura que venho adotando em meus projetos com microsserviços. São algumas ideias que tenho...
Empresas, famílias e grupos de amigos mudam. Entretanto, uma coisa permanece constante: o fato de que todos percebemos a vida...
Mais preocupante que o posicionamento do presidente é sua falta de constância. Há dois dias, uma medida provisória proposta pelo...