Mapa de Engenharia de Software

Esta referência reúne o vocabulário, as camadas, as ferramentas e a auditoria de cobertura usados para navegar pela coleção. Ela não substitui os capítulos didáticos: serve para localizar responsabilidades, descobrir relações e verificar o estado editorial.

Auditoria

Auditoria editorial da coleção de engenharia de software

Data: 2 de agosto de 2026.

Cobertura estrutural

  • 22 livros novos, cada um com README, capítulo conceitual e caderno operacional.
  • 13 níveis da imagem cobertos explicitamente.
  • Lacunas acrescentadas: produto/UX/acessibilidade; requisitos/modelagem/arquitetura; testes; filas/eventos; configuração/segredos; performance/capacidade/custo; documentação/ADRs/contratos; supply chain/SBOM.
  • Cybersecurity preservada como eixo transversal e fonte canônica própria.
  • Quatro manuais-base preservados, sem edição.

Testes de taxonomia

  • Pergunta iniciante: “onde aprendo o que acontece depois de clicar em Concluir?” — começa em frontend, segue para backend/API/dados e encontra um fluxo no caderno.
  • Consulta profissional: “como provar RPO de 15 minutos?” — alta disponibilidade/backup/DR, com restore como evidência.
  • Caso interdisciplinar: “token” — tokens de sessão pertencem a identidade/cybersecurity; tokens de LLM pertencem à biblioteca de sistemas de IA.
  • Caso negativo: CDN não é banco; esconder botão não autoriza; réplica não é backup; Kubernetes Secret não é cofre automaticamente.

Rubrica aplicada

Cada capítulo declara problema, vocabulário, modelo mental, limites, caso, falha, controle, teste, métrica, segurança, critérios de aceite, exercícios e fontes. Cada caderno exige caminho feliz, entrada inválida, negação, duplicata, timeout, recuperação e evidência.

Limitações honestas

  • Os trechos de código são didáticos; projetos executáveis completos ficam no projeto integrador.
  • Links oficiais foram selecionados na revisão indicada, mas configurações voláteis exigem conferência de versão.
  • Profundidade não termina nesta edição: incidentes, avaliações e feedback devem gerar novos testes, ADRs e capítulos, sem inflar instruções globais.

Catalogo De Ferramentas

Catálogo de ferramentas e critérios de escolha

Revisão: 2 de agosto de 2026. Estado atual significa útil e mantido na data da revisão, não “melhor para todo projeto”. Confirme versão, licença, suporte, segurança e custo no site oficial antes de adotar.

Regra de seleção

Escolha primeiro a capacidade e a evidência: contrato, volume, risco, conhecimento da equipe, operação, portabilidade e custo total. Só então compare produtos com uma prova curta. Uma ferramenta deixa de ser candidata se não houver owner, estratégia de atualização, exportação de dados, observabilidade ou forma segura de removê-la.

Camada Capacidades a comparar Exemplos atuais e representativos Prova mínima antes da adoção
Produto/UX/UI pesquisa, protótipo, tokens, componentes, handoff Figma, Penpot, Storybook, axe, Playwright tarefa real por teclado e leitor de tela
Arquitetura modelagem, ADR, diagram-as-code, catálogo Mermaid, Structurizr/C4, Backstage, ADR Tools mudança rastreada do requisito ao teste
Frontend renderização, roteamento, estado, build React/Next.js, Vue/Nuxt, Angular, SvelteKit, Flutter jornada no dispositivo-alvo e orçamento Web Vitals
Backend runtime, framework, jobs, domínio Node.js/Fastify/Nest, Python/FastAPI/Django, Java/Spring caso de uso com timeout, idempotência e trace
APIs schema, documentação, mock, contrato OpenAPI, JSON Schema, AsyncAPI, Pact, Bruno/Postman fornecedor e consumidor falham no breaking change
Dados relacional, documento, busca, objeto PostgreSQL, SQLite, Redis, OpenSearch, S3 compatível carga representativa, migration e restore
Identidade OIDC/OAuth, MFA, lifecycle, políticas Microsoft Entra ID, Keycloak, Auth0, Okta, OPA/Cedar revogação e acesso horizontal negado
Rede/TLS DNS, certificados, proxy, mTLS Let's Encrypt/ACME, Caddy, NGINX, Envoy, CoreDNS renovação automática e falha por hostname inválido
Deploy artefato, rollout, rollback, flags OCI, Helm, Argo CD/Flux, Argo Rollouts, OpenFeature canary aborta por SLO e rollback é compatível
Nuvem/containers compute, isolamento, orquestração Docker/Podman, Kubernetes, serviços gerenciados/serverless limite de recurso, probe e falha de zona
Git/CI/CD revisão, pipeline, artefato, attestation Git, GitHub Actions, GitLab CI, Jenkins, Tekton fork não obtém segredo e artefato é promovido, não recompilado
Testes unidade, integração, contrato, E2E, carga Vitest/Jest, pytest, JUnit, Testcontainers, Playwright, k6 caso negativo falha antes do controle
Mensageria fila, stream, schema, replay RabbitMQ, Apache Kafka, NATS, serviços gerenciados duplicata, ordem, DLQ e replay ensaiados
Configuração secret store, flags, rotação Vault, cloud secret managers, SOPS, OpenFeature rotação sem indisponibilidade e redaction
Rate limiting bucket, quota, concurrency, gateway Envoy, NGINX, Kong, Redis + limitador da aplicação justiça por tenant e Retry-After sob pico
Cache/CDN HTTP cache, edge, invalidação Varnish, NGINX, Redis, CDNs gerenciadas isolamento por tenant e stampede controlado
Balanceamento L4/L7, discovery, autoscaling HAProxy, Envoy, NGINX, Kubernetes Service/HPA draining e scale-out durante carga
Performance/FinOps profile, load, custo unitário profiling do runtime, k6, JMeter, OpenCost p95/p99 e custo por jornada, não só média
Observabilidade traces, métricas, logs, alertas OpenTelemetry, Prometheus, Grafana, Jaeger, Loki correlação E2E sem dados sensíveis
HA/DR backup, failover, restore, caos ferramentas nativas do banco, Velero, Litmus/Chaos Mesh restore isolado dentro de RTO/RPO
Documentação referência, tutorial, contrato, portal Markdown/MDX, Diátaxis, OpenAPI, Backstage links, exemplos e snippets testados em CI
Supply chain SBOM, assinatura, scan, provenance Syft, Grype, Trivy, CycloneDX, SPDX, Sigstore, SLSA deploy rejeita artefato sem attestation válida

“Como era / como é agora”

Atalho histórico Caminho recomendado hoje Quando o antigo ainda cabe
servidor artesanal com mudança por SSH artefato imutável, pipeline e rollout observável laboratório descartável sem dados reais
segredo em arquivo versionado identidade de workload ou secret manager com rotação nunca para segredo real; fixture sintética não é segredo
testes só depois da feature fatia vertical com contrato e casos negativos exploração descartável claramente isolada
logs de texto como única telemetria sinais estruturados correlacionados e SLO script local simples e efêmero
réplica tratada como backup cópia independente, imutabilidade e restore ensaiado nunca quando perda/corrupção importam
microserviços como sinal de maturidade fronteiras modulares e extração só por evidência microserviço quando autonomia e escala justificam operação
“mais cache” para corrigir lentidão perfil, orçamento de latência e cache com política cache explícito para leitura repetida e stale tolerável

Fontes de atualização

Fóruns, issues e comparativos são sinais para formar hipóteses; decisões técnicas importantes devem voltar a especificações, documentação oficial, testes locais e restrições do projeto.

Glossario Engenharia

Glossário de engenharia de software e sistemas

As definições são operacionais: dizem o que o termo permite decidir. Consulte o livro indicado para limites, implementação e falhas.

Produto, experiência e arquitetura

  • Acessibilidade: capacidade de pessoas com diferentes corpos, sentidos e tecnologias assistivas perceberem, operarem e compreenderem o produto.
  • Affordance: pista percebida sobre como um elemento pode ser usado; um botão deve parecer e se comportar como ação.
  • ADR (Architecture Decision Record): registro curto de contexto, decisão, alternativas e consequências arquiteturais.
  • Atributo de qualidade: propriedade mensurável como disponibilidade, segurança, desempenho ou modificabilidade.
  • Bounded context: limite dentro do qual um modelo e seu vocabulário têm significado consistente.
  • C4: modelo de diagramas em níveis de contexto, contêiner, componente e código.
  • Coesão: grau em que responsabilidades de um módulo mudam pela mesma razão.
  • Acoplamento: dependência que faz uma mudança se propagar entre componentes.
  • Design system: conjunto governado de fundamentos, tokens, componentes e padrões de experiência.
  • Hipótese: explicação ou solução ainda não comprovada, acompanhada de teste e critério de decisão.
  • Jornada: sequência ponta a ponta pela qual um ator tenta atingir um objetivo.
  • WCAG: diretrizes do W3C para tornar conteúdo web perceptível, operável, compreensível e robusto.

Frontend e backend

  • DOM (Document Object Model): representação em árvore que o navegador expõe para código ler e alterar o documento.
  • Componente: unidade de interface com contrato de entrada, comportamento e saída visual.
  • Estado: informação que influencia o comportamento atual e pode mudar ao longo do tempo.
  • Renderização: transformação de dados e componentes em interface perceptível.
  • Hidratação: ligação, no navegador, de comportamento interativo ao HTML previamente renderizado.
  • Bundle: conjunto de arquivos processados e entregues ao cliente.
  • PWA: aplicação web que usa capacidades como instalação, cache e trabalho offline com degradação controlada.
  • Invariante: condição que deve permanecer verdadeira após qualquer operação válida do domínio.
  • Caso de uso: coordenação de uma intenção do negócio, independente do protocolo que a transportou.
  • Job: trabalho executado fora da resposta imediata, com estado, tentativa e condição de parada.
  • Idempotência: propriedade pela qual repetir a mesma intenção não cria efeitos lógicos adicionais.
  • Outbox: padrão que grava evento e mudança de negócio na mesma transação local para publicação posterior.

APIs e protocolos

  • API: contrato pelo qual um componente oferece capacidades a outro.
  • Endpoint: combinação de endereço e operação exposta por uma API.
  • Header: metadado de uma mensagem HTTP, como tipo, autenticação ou política de cache.
  • Body: representação do conteúdo enviado ou recebido.
  • Status HTTP: código que descreve o resultado no nível do protocolo; não substitui o estado do negócio.
  • OpenAPI: especificação para descrever operações, parâmetros, schemas e respostas de APIs HTTP.
  • JSON Schema: vocabulário para declarar e validar estrutura e restrições de dados JSON.
  • Webhook: chamada enviada pelo produtor quando ocorre um evento, sujeita a assinatura, duplicata e retry.
  • Contract test: teste que verifica se produtor e consumidor continuam compatíveis com um contrato compartilhado.
  • Breaking change: mudança que faz um consumidor antes válido deixar de funcionar ou mudar de significado.

Dados e armazenamento

  • Chave primária: identificador estável e único de uma linha.
  • Chave estrangeira: restrição que liga um valor a uma linha válida de outra relação.
  • Transação: unidade de trabalho que o banco confirma ou desfaz segundo garantias definidas.
  • Isolamento: regra sobre o que transações concorrentes podem observar umas das outras.
  • Índice: estrutura auxiliar que acelera acessos específicos em troca de espaço e custo de escrita.
  • Plano de execução: estratégia escolhida pelo banco para realizar uma consulta.
  • Migração: mudança versionada do schema ou dos dados.
  • Retenção: política que define por quanto tempo dados são mantidos e como são descartados.
  • Linhagem: registro de origem, transformações e destinos de um dado.
  • Governança de dados: responsabilidades, regras e evidências sobre qualidade, acesso, uso e ciclo de vida.

Identidade e segurança de transporte

  • Identidade: representação estável de pessoa, sistema ou workload.
  • Autenticação: processo de obter confiança de que o ator controla uma identidade.
  • Autorização: decisão sobre uma ação de um ator em um recurso e contexto específicos.
  • Sessão: estado que mantém continuidade entre interações autenticadas.
  • Cookie: par nome/valor que o navegador associa a um escopo e envia conforme políticas; pode transportar um identificador de sessão.
  • OAuth 2.0: framework de autorização delegada para obter tokens de acesso com escopos e atores definidos.
  • OIDC (OpenID Connect): camada de identidade sobre OAuth 2.0 usada para autenticar o usuário e comunicar claims.
  • SSO (Single Sign-On): experiência de usar uma autenticação para acessar múltiplos sistemas confiantes no mesmo provedor.
  • RBAC: autorização baseada em papéis; simples, mas insuficiente quando recurso, unidade ou contexto importam.
  • ABAC: autorização baseada em atributos do ator, recurso, ação e ambiente.
  • DNS: sistema que resolve nomes em informações como endereços de serviços.
  • TLS: protocolo que protege confidencialidade, integridade e autenticação do canal.
  • PKI: pessoas, políticas, certificados, autoridades e processos que sustentam identidades criptográficas.
  • mTLS: TLS em que cliente e servidor apresentam certificados e autenticam mutuamente o canal.

Entrega, nuvem e cadeia de suprimentos

  • Build: transformação de fontes e dependências em artefato.
  • Deploy: instalação ou promoção do artefato para um ambiente.
  • Release: exposição do comportamento a usuários ou tráfego.
  • Rollout: processo gradual de substituir instâncias por uma versão.
  • Rollback: retorno controlado a comportamento ou artefato anterior compatível.
  • Canary: liberação para parcela pequena do tráfego antes da expansão.
  • Container: processo isolado empacotado com suas dependências de espaço de usuário.
  • Imagem OCI: artefato por camadas e manifesto usado por runtimes de containers.
  • Orquestrador: sistema que agenda, reinicia, conecta e atualiza workloads.
  • IaC (Infrastructure as Code): declaração versionada de infraestrutura aplicada por automação.
  • CI: integração contínua que produz feedback automatizado sobre mudanças.
  • CD: entrega ou implantação contínua de artefatos aprovados.
  • SBOM: inventário legível por máquina dos componentes de um artefato.
  • Provenance: evidência verificável de como, onde e a partir de quais entradas um artefato foi construído.
  • Attestation: declaração assinável sobre um fato do processo ou artefato.
  • SLSA: especificação de controles e níveis para integridade da cadeia de suprimentos.

Testes, eventos e controle de demanda

  • Teste unitário: verifica comportamento de uma unidade pequena com dependências controladas.
  • Teste de integração: verifica colaboração real entre componentes ou infraestrutura.
  • Teste end-to-end: percorre uma jornada por fronteiras representativas do sistema.
  • Mutation testing: altera deliberadamente o código para medir se testes detectam comportamentos errados.
  • Flake: teste que alterna entre passar e falhar sem mudança relevante do código.
  • Fila: canal que retém trabalho até um consumidor processá-lo.
  • Tópico: canal de publicação no qual múltiplos consumidores podem receber eventos.
  • Ack: confirmação de que uma mensagem foi processada segundo o contrato.
  • DLQ (Dead-Letter Queue): área para mensagens que excederam a política de processamento e exigem operação explícita.
  • At-least-once: garantia de entrega que admite duplicatas e, portanto, exige consumidor idempotente.
  • Rate limit: limite de ritmo em uma janela ou algoritmo contínuo.
  • Quota: orçamento de consumo por período, ator ou tenant.
  • Backpressure: mecanismo pelo qual o destino sinaliza ou impõe redução do ritmo da origem.
  • Token bucket: algoritmo em que fichas acumuladas permitem ritmo médio limitado com burst controlado.
  • Retry-After: header HTTP que informa quando o cliente pode tentar novamente.

Cache, escala, observabilidade e recuperação

  • Cache hit/miss: leitura satisfeita ou não pela cópia armazenada.
  • TTL: tempo após o qual uma entrada expira segundo a política.
  • ETag: validador de representação usado para revalidação condicional.
  • CDN: rede distribuída que serve conteúdo a partir de pontos próximos ao consumidor.
  • Stampede: muitas solicitações recalculando simultaneamente uma entrada expirada.
  • Load balancer: componente que escolhe um destino saudável para cada conexão ou requisição.
  • Readiness: sinal de que uma instância pode receber tráfego útil, não apenas de que o processo existe.
  • Escala horizontal/vertical: adicionar instâncias ou aumentar recursos de uma instância.
  • Sharding: particionamento de dados ou carga entre domínios independentes.
  • Latência: tempo de conclusão de uma operação; percentis mostram a distribuição melhor que a média isolada.
  • Throughput: volume concluído por unidade de tempo.
  • Saturação: proximidade de um recurso ao limite que aumenta espera ou rejeição.
  • Headroom: capacidade reservada acima da demanda observada.
  • Telemetria: sinais emitidos pelo sistema para observação e decisão.
  • Trace/span: trace representa a jornada distribuída; span representa uma operação com duração e contexto.
  • Cardinalidade: quantidade de combinações distintas de atributos; cardinalidade alta pode tornar métricas caras ou instáveis.
  • SLI/SLO: indicador mensurável e objetivo desejado para o comportamento percebido do serviço.
  • HA: desenho para manter serviço disponível durante classes de falha previstas.
  • RPO: perda máxima de dados aceitável medida no tempo.
  • RTO: tempo máximo aceitável para restaurar a capacidade.
  • DR: conjunto de estratégias e runbooks para recuperar após desastre.
  • Game day: exercício controlado de falha e recuperação com aprendizado documentado.

Desambiguação essencial

  • Token de autenticação não é token de LLM.
  • Cache HTTP/CDN não é prompt cache de modelos.
  • Agente de observabilidade não é agente de IA.
  • Sessão web não é conversa armazenada indiscriminadamente.
  • Alta disponibilidade não é backup; réplica não protege sozinha contra deleção ou corrupção propagada.
  • Frontend ocultar um botão não é autorização; a decisão pertence ao servidor.

Application Layers

Atlas das camadas de uma aplicação

A pilha da imagem é um bom índice visual, mas não é uma sequência rígida nem uma arquitetura universal. Algumas faixas são componentes, outras são capacidades transversais e outras representam operação. Este atlas preserva as treze camadas e acrescenta o que a figura omite.

Fluxo: Produto, pessoas e regras de negócio, UX, UI e acessibilidade, 1. Frontend, 2. APIs e lógica de negócio, 3. Banco de dados e armazenamento, 4. Autenticação e permissões, 5. Hospedagem e deploy, 6. Nuvem e computação, 7. CI/CD e controle de versão, 8. Segurança e TLS, 9. Limitação de requisições, 10. Cache e CDN, 11. Balanceamento e escalabilidade, 12. Monitoramento e logs, 13. Alta disponibilidade e recuperação, Governança, privacidade, custos e supply chainProduto, pessoas eregras de negócioUX, UI e acessibilidade1. Frontend2. APIs e lógica denegócio3. Banco de dados earmazenamento4. Autenticação epermissões5. Hospedagem e deploy6. Nuvem e computação7. CI/CD e controle deversão8. Segurança e TLS9. Limitação derequisições10. Cache e CDN11. Balanceamento eescalabilidade12. Monitoramento e logs13. Alta disponibilidadee recuperaçãoGovernança, privacidade,custos e supply chain
Ler o fluxo em texto
  1. 1. Produto, pessoas e regras de negócio
  2. 2. UX, UI e acessibilidade
  3. 3. 1. Frontend
  4. 4. 2. APIs e lógica de negócio
  5. 5. 3. Banco de dados e armazenamento
  6. 6. 4. Autenticação e permissões
  7. 7. 5. Hospedagem e deploy
  8. 8. 6. Nuvem e computação
  9. 9. 7. CI/CD e controle de versão
  10. 10. 8. Segurança e TLS
  11. 11. 9. Limitação de requisições
  12. 12. 10. Cache e CDN
  13. 13. 11. Balanceamento e escalabilidade
  14. 14. 12. Monitoramento e logs
  15. 15. 13. Alta disponibilidade e recuperação
  16. 16. Governança, privacidade, custos e supply chain

Matriz das treze camadas

# Camada Pergunta que responde Evidência mínima Livro canônico
1 Frontend Como a pessoa interage? fluxo acessível testado frontend-web-mobile-desktop
2 APIs e lógica Onde regras são aplicadas? contrato + testes de domínio backend-dominio-jobs, apis-protocolos-integracoes
3 Dados e armazenamento O que persiste e com qual integridade? modelo, migração e restauração bancos-armazenamento-governanca
4 Autenticação e permissões Quem é e o que pode fazer? matriz de autorização e testes negativos identidade-autenticacao-autorizacao
5 Hospedagem e deploy Como o artefato chega ao ambiente? deploy e rollback reproduzíveis hospedagem-deploy-distribuicao
6 Nuvem e computação Em que recursos executa? arquitetura e capacidade justificadas nuvem-containers-plataforma
7 CI/CD e versão Como mudanças são controladas? pipeline, revisão e proveniência git-cicd-supply-chain
8 Segurança e TLS Como riscos são reduzidos? threat model e controles verificados cybersecurity-privacidade-devsecops
9 Rate limiting Como abuso e saturação são limitados? política por identidade e resposta 429 rate-limit-cache-cdn-escalabilidade
10 Cache e CDN O que pode ser reutilizado e onde? política de validade e invalidação rate-limit-cache-cdn-escalabilidade
11 Balanceamento e escala Como distribuir carga? teste de carga e comportamento em falha rate-limit-cache-cdn-escalabilidade
12 Monitoramento e logs Como saber o estado real? logs, métricas, traces e alertas acionáveis observabilidade-slos-operacao
13 Disponibilidade e recuperação Como continuar ou restaurar? RTO/RPO e restauração exercitada disponibilidade-backup-recuperacao

Camadas esquecidas pela figura

Lacuna Por que não pode faltar Destino canônico
Produto e regras de negócio tecnologia sem problema validado produz desperdício núcleo produto-dominio
Pesquisa, UX e acessibilidade frontend não garante utilidade nem inclusão produto-ux-ui-acessibilidade
Arquitetura e contratos reduz acoplamento e torna decisões verificáveis arquitetura-modularidade-contratos
Testes e qualidade uma pirâmide bonita não comprova comportamento testes-qualidade-resiliencia
Filas, eventos e jobs integrações reais nem sempre são síncronas apis-protocolos-integracoes
Redes, DNS e gateways são o caminho real de toda chamada redes-dns-tls-pki
Configuração e segredos deploy seguro exige separá-los do código hospedagem-deploy-distribuicao
Supply chain e SBOM dependências e builds também são superfície de ataque git-cicd-supply-chain
Privacidade e governança uso legítimo não é consequência automática da segurança cybersecurity-privacidade-devsecops
Custos e capacidade arquitetura precisa ser sustentável e dimensionada custos-capacidade-finops
Incidentes e mudanças produção exige detectar, responder e aprender documentacao-incidentes-mudancas
Dados e IA qualidade, proveniência e avaliações são próprias de sistemas probabilísticos biblioteca ai-systems

Regra de uso

Não “desça a pilha” implementando uma camada inteira por vez. Entregue uma fatia vertical pequena que atravesse somente as camadas necessárias, teste-a de ponta a ponta e acrescente capacidades transversais proporcionalmente ao risco.

Teste de fixação

Comprove o que você aprendeu

Responda todas as questões. O gabarito comentado só aparece depois do envio.

1. Para que serve o mapa de camadas?
2. Qual relação entre ferramenta e fundamento?
3. Como aprofundar um nó selecionado no Atlas?

Consulta universal

O que você quer encontrar?

Títulos, capítulos, conceitos, termos, laboratórios e ferramentas em uma única busca.

Digite pelo menos dois caracteres.