Skip to content

Latest commit

 

History

History
550 lines (285 loc) · 7.51 KB

Apresentacao.md

File metadata and controls

550 lines (285 loc) · 7.51 KB
theme transition title enableMenu enableSearch enableChalkboard
night
slide
C4 - Model
false
false
false

Documentação de projetos

-{ width=70% }


Quem sou eu?

-{ width=15% }


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

Fluxo De Caixa


Geradores


Dúvidas?

alt{ width=90% }


E a documentação da arquitetura?


Problema


Padronização!

-{ width=60% }


Fluxo, Arquitetura, Cloud...


-{ width=80% }


Mesma solução diferentes desenhos

-{ width=60% }


-{ width=90% }


UML?

-{ width=30% }


Complexidade

Principalmente na criação, são muitas regras!


🚀 C4 - Model 📐

-{ width=55% }


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


camadas


Vai dando zoom nas camadas

zoom{ width=50% }


zoom


zoom


zoom


zoom


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

People{ width=40% }


System Context - Software systems

Sistema{ width=90% }


System Context - Enterprise boundary

Sistema{ width=70% }

Opcional


System Context - Interações

Relacionamento


System Context

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

People{ width=40% }


Container - Sistema existente

Existente{ width=60% }


Container - Boundary

Sistema{ width=70% }

Opcional


Container

container{ width=60% }


Container - "Clientes"

app{ width=90% }


Container - Banco de dados

banco{ width=40% }


Container - Filas / Tópicos

banco{ width=40% }

Há controvérsias


Container

container{ width=85% }


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

-{ width=50% }

O unico diferente


Component

componente


Code

-{ width=60% }


Code

Diagrama de classe{ width=75% }


Ferramentas

-{ width=70% }


Miro

-{ width=85% }


Excalidraw

-


Como manter atualizado?

-{ width=60% }


Diagram As Code

-{ width=60% }


Plant UML

-{ width=50% }


Mermaid

-{ width=40% }


Problema

banco{ width=70% }


Bora pra prática!

-


Livros

livros{ width=60% }


The software guidebook

The software guidebook


The C4 model for visualising software architecture

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

qr-code{ width=50% }