SlideShare a Scribd company logo
1 of 62
Download to read offline
Documentação
Profissional Com
C4 Model
Pelotas
- Cristiano Cunha
- Desenvolvedor .NET
- Arquitetura
- Pelotas
Quem sou eu
O que teremos hoje
Documentação
{01}
Diagram as Code
{03}
{02}
C4 Model
Dicas
{04}
Documentação
Pelotas
Software em funcionamento
mais que documentação
abrangente
Manifesto Ágil
Alguns "traduzem" essa frase
como:
NÃO DOCUMENTAR NADA!
Programador com preguiça
Na maioria dos casos
precisamos documentar, nem
que seja o básico!
Quanto maior o risco e
complexidade, maior a
probabilidade de você ter que
documentar
Por que documentar?
● Onboarding de pessoas no time
● Bus Factor
● Facilidade na comunicação / discussões
● Troubleshooting mais rápido
● …
Problemas
Padronização
Mesma solução diferentes desenhos
UML?
C4 Model
Pelotas
Primeiro, visão geral;
depois, amplie e filtre;
em seguida, detalhes
sob demanda
Ben Shneiderman, 1996
The Eyes Have It: A Task by
Data Type Taxonomy for
Information Visualizations
Ben Shneiderman, 1996
Vai dando zoom nas
camadas
Context
Tem como objetivo ser o ponto de entrada,
uma visão geral!
Publico alvo: Pessoas técnicas e não
técnicas
Pessoa
Software Systems
Enterprise Boundary
Interações
Container
Ter uma visão mais detalhada da arquitetura,
quais os serviços fazem parte, e como se
comunicam
Publico alvo: Pessoas técnicas, Dev, DBA,
QA...
Container
Container
Armazenamento - Banco de Dados
Mensageria*
Component
O mais próximo do código, usado para
discutir fluxos dentro do seu APP/API...
Publico alvo: Time que vai desenvolver a
solução
Component
Code
Foco em diagramas próximos de código,
como o de classe
Publico alvo: quem vai desenvolver a
solução
Notação
A abstração é mais
importante que a
notação!
Tenha um bom título
E uma boa legenda
Ferramentas
Excalidraw
Miro
Como manter
atualizado?
Diagram As Code
Pelotas
Plant
UML
Mermaid
Dicas
Pelotas
The
software
guidebook
The C4 model
for visualising
software
architecture
Por onde começar?
Diagrama de contexto
Documentação + Código
tem que ser mais barato
que só código
Elemar Jr.
Obrigado!
cristianoprogramador.com
Obrigado!
cristianoprogramador.com

More Related Content

Similar to Documentação profissional com C4 Model - GDG Dev Fest 2023

Aula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWAREAula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWAREErnesto Bedrikow
 
Padrões Web & Code Standard
Padrões Web & Code StandardPadrões Web & Code Standard
Padrões Web & Code StandardToni Albuquerque
 
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Marcio Miyamoto
 
TDC2018SP | Trilha Agile - Onboarding Técnico: Integrando pessoas em times de...
TDC2018SP | Trilha Agile - Onboarding Técnico: Integrando pessoas em times de...TDC2018SP | Trilha Agile - Onboarding Técnico: Integrando pessoas em times de...
TDC2018SP | Trilha Agile - Onboarding Técnico: Integrando pessoas em times de...tdc-globalcode
 
TDC2016POA | Trilha PHP - Quero ser desenvolvedor PHP. Como me preparar para ...
TDC2016POA | Trilha PHP - Quero ser desenvolvedor PHP. Como me preparar para ...TDC2016POA | Trilha PHP - Quero ser desenvolvedor PHP. Como me preparar para ...
TDC2016POA | Trilha PHP - Quero ser desenvolvedor PHP. Como me preparar para ...tdc-globalcode
 
Comunicação Projetos.pptx
Comunicação Projetos.pptxComunicação Projetos.pptx
Comunicação Projetos.pptxRegis Gama
 
Aula Teste Fatec Engenharia de Software III
Aula Teste  Fatec Engenharia de Software IIIAula Teste  Fatec Engenharia de Software III
Aula Teste Fatec Engenharia de Software IIIDalton Martins
 
Como a Gestão de Conteúdo traz mais qualidade e rentabilidade em projetos de ...
Como a Gestão de Conteúdo traz mais qualidade e rentabilidade em projetos de ...Como a Gestão de Conteúdo traz mais qualidade e rentabilidade em projetos de ...
Como a Gestão de Conteúdo traz mais qualidade e rentabilidade em projetos de ...dklafke
 
W3K - Palestra edoc 2014
W3K - Palestra edoc 2014W3K - Palestra edoc 2014
W3K - Palestra edoc 2014W3K Tecnologia
 
CV - Andre De Conto Matter
CV - Andre De Conto MatterCV - Andre De Conto Matter
CV - Andre De Conto MatterAndre Matter
 
Parear é um pouco mais que sentar ao lado
Parear é um pouco mais que sentar ao ladoParear é um pouco mais que sentar ao lado
Parear é um pouco mais que sentar ao ladoMichel Cordeiro
 
Drupal no suporte a um projeto B2B na área de Inteligência Competitiva Setorial
Drupal no suporte a um projeto B2B na área de Inteligência Competitiva SetorialDrupal no suporte a um projeto B2B na área de Inteligência Competitiva Setorial
Drupal no suporte a um projeto B2B na área de Inteligência Competitiva SetorialHelal Cabral
 
Scrum - Valorizando pessoas e obtendo benefícios
Scrum   - Valorizando pessoas e obtendo benefíciosScrum   - Valorizando pessoas e obtendo benefícios
Scrum - Valorizando pessoas e obtendo benefíciosFernando Celarino
 
Interação Humano Computador Plataforma Mobile - Wellington Pinto de Oliveira
Interação Humano Computador Plataforma Mobile - Wellington Pinto de OliveiraInteração Humano Computador Plataforma Mobile - Wellington Pinto de Oliveira
Interação Humano Computador Plataforma Mobile - Wellington Pinto de OliveiraWellington Oliveira
 

Similar to Documentação profissional com C4 Model - GDG Dev Fest 2023 (20)

Aula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWAREAula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWARE
 
Padrões Web & Code Standard
Padrões Web & Code StandardPadrões Web & Code Standard
Padrões Web & Code Standard
 
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
 
TDC2018SP | Trilha Agile - Onboarding Técnico: Integrando pessoas em times de...
TDC2018SP | Trilha Agile - Onboarding Técnico: Integrando pessoas em times de...TDC2018SP | Trilha Agile - Onboarding Técnico: Integrando pessoas em times de...
TDC2018SP | Trilha Agile - Onboarding Técnico: Integrando pessoas em times de...
 
Revista programar 10
Revista programar 10Revista programar 10
Revista programar 10
 
TDC2016POA | Trilha PHP - Quero ser desenvolvedor PHP. Como me preparar para ...
TDC2016POA | Trilha PHP - Quero ser desenvolvedor PHP. Como me preparar para ...TDC2016POA | Trilha PHP - Quero ser desenvolvedor PHP. Como me preparar para ...
TDC2016POA | Trilha PHP - Quero ser desenvolvedor PHP. Como me preparar para ...
 
Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008
 
Comunicação Projetos.pptx
Comunicação Projetos.pptxComunicação Projetos.pptx
Comunicação Projetos.pptx
 
Aula Teste Fatec Engenharia de Software III
Aula Teste  Fatec Engenharia de Software IIIAula Teste  Fatec Engenharia de Software III
Aula Teste Fatec Engenharia de Software III
 
DDD
DDDDDD
DDD
 
Aula 0
Aula 0Aula 0
Aula 0
 
Como a Gestão de Conteúdo traz mais qualidade e rentabilidade em projetos de ...
Como a Gestão de Conteúdo traz mais qualidade e rentabilidade em projetos de ...Como a Gestão de Conteúdo traz mais qualidade e rentabilidade em projetos de ...
Como a Gestão de Conteúdo traz mais qualidade e rentabilidade em projetos de ...
 
Iniciando uma carreira de Tecnologia em 2023
Iniciando uma carreira de Tecnologia em 2023Iniciando uma carreira de Tecnologia em 2023
Iniciando uma carreira de Tecnologia em 2023
 
W3K - Palestra edoc 2014
W3K - Palestra edoc 2014W3K - Palestra edoc 2014
W3K - Palestra edoc 2014
 
CV - Andre De Conto Matter
CV - Andre De Conto MatterCV - Andre De Conto Matter
CV - Andre De Conto Matter
 
Parear é um pouco mais que sentar ao lado
Parear é um pouco mais que sentar ao ladoParear é um pouco mais que sentar ao lado
Parear é um pouco mais que sentar ao lado
 
Drupal no suporte a um projeto B2B na área de Inteligência Competitiva Setorial
Drupal no suporte a um projeto B2B na área de Inteligência Competitiva SetorialDrupal no suporte a um projeto B2B na área de Inteligência Competitiva Setorial
Drupal no suporte a um projeto B2B na área de Inteligência Competitiva Setorial
 
Advogado 4.0
Advogado 4.0Advogado 4.0
Advogado 4.0
 
Scrum - Valorizando pessoas e obtendo benefícios
Scrum   - Valorizando pessoas e obtendo benefíciosScrum   - Valorizando pessoas e obtendo benefícios
Scrum - Valorizando pessoas e obtendo benefícios
 
Interação Humano Computador Plataforma Mobile - Wellington Pinto de Oliveira
Interação Humano Computador Plataforma Mobile - Wellington Pinto de OliveiraInteração Humano Computador Plataforma Mobile - Wellington Pinto de Oliveira
Interação Humano Computador Plataforma Mobile - Wellington Pinto de Oliveira
 

More from Cristiano Cunha

Redis e Estratégias Cache Distribuído
Redis e Estratégias Cache DistribuídoRedis e Estratégias Cache Distribuído
Redis e Estratégias Cache DistribuídoCristiano Cunha
 
Dicas de oratória para apresentações
Dicas de oratória para apresentaçõesDicas de oratória para apresentações
Dicas de oratória para apresentaçõesCristiano Cunha
 
Introdução a Mensageria com RabbitMQ
Introdução a Mensageria com RabbitMQIntrodução a Mensageria com RabbitMQ
Introdução a Mensageria com RabbitMQCristiano Cunha
 
Estrategias de Cache Distribuidos com Redis
Estrategias de Cache Distribuidos com RedisEstrategias de Cache Distribuidos com Redis
Estrategias de Cache Distribuidos com RedisCristiano Cunha
 
Programacao para nao programadores
Programacao para nao programadoresProgramacao para nao programadores
Programacao para nao programadoresCristiano Cunha
 
Docker para quem tem preguica
Docker para quem tem preguicaDocker para quem tem preguica
Docker para quem tem preguicaCristiano Cunha
 
Uma maravilha chamada vue.js
Uma maravilha chamada vue.jsUma maravilha chamada vue.js
Uma maravilha chamada vue.jsCristiano Cunha
 
Seguranca para desenvolvedores
Seguranca para desenvolvedoresSeguranca para desenvolvedores
Seguranca para desenvolvedoresCristiano Cunha
 
Boas praticas - Muito além de linhas de código
Boas praticas - Muito além de linhas de códigoBoas praticas - Muito além de linhas de código
Boas praticas - Muito além de linhas de códigoCristiano Cunha
 
Da para trabalhar com c# no linux?
Da para trabalhar com c# no linux?Da para trabalhar com c# no linux?
Da para trabalhar com c# no linux?Cristiano Cunha
 
Compiled vs interpreted Linguages
Compiled vs interpreted LinguagesCompiled vs interpreted Linguages
Compiled vs interpreted LinguagesCristiano Cunha
 

More from Cristiano Cunha (20)

Redis e Estratégias Cache Distribuído
Redis e Estratégias Cache DistribuídoRedis e Estratégias Cache Distribuído
Redis e Estratégias Cache Distribuído
 
Event Sourcing e CQRS
Event Sourcing e CQRSEvent Sourcing e CQRS
Event Sourcing e CQRS
 
SOLID na Vida Real
SOLID na Vida RealSOLID na Vida Real
SOLID na Vida Real
 
Dicas de oratória para apresentações
Dicas de oratória para apresentaçõesDicas de oratória para apresentações
Dicas de oratória para apresentações
 
Introdução a Mensageria com RabbitMQ
Introdução a Mensageria com RabbitMQIntrodução a Mensageria com RabbitMQ
Introdução a Mensageria com RabbitMQ
 
Bancos De Dados NoSQL
Bancos De Dados NoSQLBancos De Dados NoSQL
Bancos De Dados NoSQL
 
Estrategias de Cache Distribuidos com Redis
Estrategias de Cache Distribuidos com RedisEstrategias de Cache Distribuidos com Redis
Estrategias de Cache Distribuidos com Redis
 
OTP - One Time Password
OTP - One Time PasswordOTP - One Time Password
OTP - One Time Password
 
Systemas Distribuídos
Systemas DistribuídosSystemas Distribuídos
Systemas Distribuídos
 
Cultura de testes
Cultura de testesCultura de testes
Cultura de testes
 
Git alem do basico
Git alem do basicoGit alem do basico
Git alem do basico
 
Programacao para nao programadores
Programacao para nao programadoresProgramacao para nao programadores
Programacao para nao programadores
 
Docker para quem tem preguica
Docker para quem tem preguicaDocker para quem tem preguica
Docker para quem tem preguica
 
Uma maravilha chamada vue.js
Uma maravilha chamada vue.jsUma maravilha chamada vue.js
Uma maravilha chamada vue.js
 
Seguranca para desenvolvedores
Seguranca para desenvolvedoresSeguranca para desenvolvedores
Seguranca para desenvolvedores
 
Git Além do básico
Git Além do básicoGit Além do básico
Git Além do básico
 
Boas praticas - Muito além de linhas de código
Boas praticas - Muito além de linhas de códigoBoas praticas - Muito além de linhas de código
Boas praticas - Muito além de linhas de código
 
Da para trabalhar com c# no linux?
Da para trabalhar com c# no linux?Da para trabalhar com c# no linux?
Da para trabalhar com c# no linux?
 
Testes unitários
Testes unitáriosTestes unitários
Testes unitários
 
Compiled vs interpreted Linguages
Compiled vs interpreted LinguagesCompiled vs interpreted Linguages
Compiled vs interpreted Linguages
 

Documentação profissional com C4 Model - GDG Dev Fest 2023