SlideShare a Scribd company logo
1 of 96
Download to read offline
Documentação de projetos
Quem sou eu?
O que veremos hoje
O que veremos hoje
Documentação
O que veremos hoje
Documentação
Readme
O que veremos hoje
Documentação
Readme
C4 Model
O que veremos hoje
Documentação
Readme
C4 Model
Diagram As Code
Documentar?
Software em funcionamento mais que
documentação abrangente - Manifesto Ágil
Alguns “traduzem” essa frase como:
NÃO documentar nada!
Na maioria dos casos
precisamos documentar, nem
que seja o básico!
Por quê documentar?
Por quê documentar?
Onboarding de pessaos no time
Por quê documentar?
Onboarding de pessaos no time
Não ficar dependendo de só uma pessoa
Por quê documentar?
Onboarding de pessaos no time
Não ficar dependendo de só uma pessoa
Facilidade na comunicação / discussões
Por quê documentar?
Onboarding de pessaos no time
Não ficar dependendo de só uma pessoa
Facilidade na comunicação / discussões
Troubleshooting mains rápido
Por quê documentar?
Onboarding de pessaos no time
Não ficar dependendo de só uma pessoa
Facilidade na comunicação / discussões
Troubleshooting mains rápido
…
Mas esta sempre desatualizado…
Mesmo assim, teremos uma ideia de onde
estamos! E não vai ser tudo que vai estar
desatualizado.
Por onde começar?
Readme
O que colocar?
O que colocar?
Qual o objetivo do projeto
O que colocar?
Qual o objetivo do projeto
O que precisa ser instalado
O que colocar?
Qual o objetivo do projeto
O que precisa ser instalado
Como rodar o projeto
O que colocar?
Qual o objetivo do projeto
O que precisa ser instalado
Como rodar o projeto
Dicionário de termos
O que colocar?
Qual o objetivo do projeto
O que precisa ser instalado
Como rodar o projeto
Dicionário de termos
Configurações, Migrations, Deploy…
Exemplo
Fluxo De Caixa
Geradores
https://readme-gen.vercel.app/app
https://www.freecodecamp.org/news/how-to-
write-a-good-readme-file/
https://readme.so/editor
Dúvidas?
E a documentação da
arquitetura?
Problema
Padronização!
Fluxo, Arquitetura, Cloud…
Mesma solução diferentes desenhos
UML?
Complexidade
Principalmente na criação, são muitas regras!
🚀C4 - Model 📐
Camadas - 4
Primeiro, visão geral; depois, amplie e filtre; em
seguida, detalhes sob demanda - Ben
Shneiderma, 1996
The Eyes Have It: A Task by Data Type Taxonomy
for Information Visualizations
Vai dando zoom nas camadas
System Context
Tem como objetivo ser o ponto de entrada, uma
visão geral!
System Context - Público alvo
Pessoas ténicas e não tecnicas
System Context - Person
System Context - Software systems
System Context - Enterprise boundary
Opcional
System Context - Interações
System Context
Container
Ter uma visão mais detalhada da arquitetura, quais
os serviços fazem parte, e como se comunicam
Container - Público alvo
Pessoas técnicas, dev, dba, qa…
Container - Person
Container - Sistema existente
Container - Boundary
Opcional
Container
Container - “Clientes”
Container - Banco de dados
Container - Filas / Tópicos
Há controvérsias
Container
Component
O mais próximo do código, usado para discutir
fluxos dentro do sei app/api…
Component - Público alvo
Time que vai desenvolver a solução
Component
O unico diferente
Component
Code
Code
Ferramentas
Miro
Excalidraw
Como manter atualizado?
Diagram As Code
Plant UML
Mermaid
Problema
Bora pra prática!
Livros
The software guidebook
The C4 model for visualising software
architecture
Por onde começar?
Crie um bom Readme
Crie seu Diagrama de Contexto
De o primeiro passo
Documente!
Contatos
C4 Model
C4 Model

More Related Content

Similar to C4 Model

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
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...Ricardo Martinelli de Oliveira
 
Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?Cristiano Schwening
 
5 Dicas para economizar no desenvolvimento do seu aplicativo
5 Dicas para economizar no desenvolvimento do seu aplicativo5 Dicas para economizar no desenvolvimento do seu aplicativo
5 Dicas para economizar no desenvolvimento do seu aplicativoKleber Carvalho
 
AE Rio 2011 - AOGEA-Brasil - Roberto Severo
AE Rio 2011 - AOGEA-Brasil - Roberto SeveroAE Rio 2011 - AOGEA-Brasil - Roberto Severo
AE Rio 2011 - AOGEA-Brasil - Roberto SeveroFernando Botafogo
 
Além do MVP com PHP - TDC Floripa 2016
Além do MVP com PHP - TDC Floripa 2016Além do MVP com PHP - TDC Floripa 2016
Além do MVP com PHP - TDC Floripa 2016Romeu Mattos
 
Como criar seu próprio Framework
Como criar seu próprio FrameworkComo criar seu próprio Framework
Como criar seu próprio FrameworkHiarison Gigante
 
Webinar projetos e ti - business intelligence - como fazer
Webinar   projetos e ti - business intelligence - como fazerWebinar   projetos e ti - business intelligence - como fazer
Webinar projetos e ti - business intelligence - como fazerProjetos e TI
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...Ricardo Martinelli de Oliveira
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme ProgrammingRodrigo Branas
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
Drupal Commerce: muito além de uma plataforma de e-commerce
Drupal Commerce: muito além de uma plataforma de e-commerceDrupal Commerce: muito além de uma plataforma de e-commerce
Drupal Commerce: muito além de uma plataforma de e-commercePedro Rocha
 

Similar to C4 Model (20)

Quem e dev ops
Quem e dev opsQuem e dev ops
Quem e dev ops
 
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...
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
 
Afinal os detalhes são ou não importantes?
Afinal os detalhes são ou não importantes?Afinal os detalhes são ou não importantes?
Afinal os detalhes são ou não importantes?
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 
Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?
 
5 Dicas para economizar no desenvolvimento do seu aplicativo
5 Dicas para economizar no desenvolvimento do seu aplicativo5 Dicas para economizar no desenvolvimento do seu aplicativo
5 Dicas para economizar no desenvolvimento do seu aplicativo
 
AE Rio 2011 - AOGEA-Brasil - Roberto Severo
AE Rio 2011 - AOGEA-Brasil - Roberto SeveroAE Rio 2011 - AOGEA-Brasil - Roberto Severo
AE Rio 2011 - AOGEA-Brasil - Roberto Severo
 
Além do MVP com PHP - TDC Floripa 2016
Além do MVP com PHP - TDC Floripa 2016Além do MVP com PHP - TDC Floripa 2016
Além do MVP com PHP - TDC Floripa 2016
 
Como criar seu próprio Framework
Como criar seu próprio FrameworkComo criar seu próprio Framework
Como criar seu próprio Framework
 
Webinar projetos e ti - business intelligence - como fazer
Webinar   projetos e ti - business intelligence - como fazerWebinar   projetos e ti - business intelligence - como fazer
Webinar projetos e ti - business intelligence - como fazer
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
CInTeQ 2011
CInTeQ 2011CInTeQ 2011
CInTeQ 2011
 
DevOps - Operação contínua
DevOps - Operação contínuaDevOps - Operação contínua
DevOps - Operação contínua
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Curso Scrum
Curso ScrumCurso Scrum
Curso Scrum
 
PHPZEIRO: Adote um framework
PHPZEIRO: Adote um frameworkPHPZEIRO: Adote um framework
PHPZEIRO: Adote um framework
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
Drupal Commerce: muito além de uma plataforma de e-commerce
Drupal Commerce: muito além de uma plataforma de e-commerceDrupal Commerce: muito além de uma plataforma de e-commerce
Drupal Commerce: muito além de uma plataforma de e-commerce
 

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
 

C4 Model