Pular para o conteúdo

Trilha de estudo

Trilha Fundamentos de Arquitetura de Software: tudo o que estudar, tópico por tópico

Avaliação abrangente sobre pensamento arquitetural, padrões de arquitetura, atributos de qualidade, design de sistemas distribuídos, tomada de decisões arquiteturais e liderança em arquitetura. Cobre princípios fundamentais até arquitetura evolutiva e estratégia tecnológica em nível especialista.

Resposta curta

Para aprender Fundamentos de Arquitetura de Software, percorra 6 módulos e 26 tópicos na ordem em que um apoia o próximo. Comece por Fundamentos de Arquitetura e siga para Padrões Arquiteturais e Atributos de Qualidade. Use o mapa como checklist, ou meça seu nível e estude só o que falta.

6
módulos
26
tópicos
60
min para avaliar

O que você vai estudar

Os tópicos estão agrupados por módulo. Abra um para ver os objetivos e os conceitos-chave.

1 · Fundamentos de Arquitetura5 tópicos
  • Pensamento Arquitetural

    Compreensão do papel da arquitetura de software, distinção entre design e arquitetura, e como raciocinar sobre estrutura, comportamento e preocupações transversais em escala.

    Objetivos

    • Articular a diferença entre arquitetura de software e design de baixo nível
    • Identificar as principais responsabilidades de um arquiteto de software

    Conceitos-chave

    • arquitetura vs design
    • decisões estruturais
    • preocupações transversais
    • características de arquitetura
    • arquitetura implícita vs explícita
    • raciocínio a partir de primeiros princípios
  • Arquitetura em Camadas

    Organização de sistemas em camadas horizontais (apresentação, lógica de negócio, acesso a dados) com regras estritas de dependência entre camadas.

    Objetivos

    • Projetar uma aplicação de três camadas e impor fronteiras entre elas
    • Identificar o antipadrão sumidouro e propor uma mitigação

    Conceitos-chave

    • camada de apresentação
    • camada de lógica de negócio
    • camada de acesso a dados
    • isolamento de camadas
    • camadas abertas vs fechadas
    • arquitetura n-camadas
    • antipadrão sumidouro
  • Modularidade

    Decomposição de sistemas em módulos bem definidos com responsabilidades e fronteiras claras. Cobre coesão de módulos, princípios de design de pacotes e o impacto da modularidade na manutenibilidade e capacidade de implantação.

    Objetivos

    • Aplicar princípios de coesão de pacotes para organizar uma base de código em crescimento
    • Usar uma matriz de estrutura de dependências para detectar acoplamento problemático

    Conceitos-chave

    • fronteiras de módulos
    • princípios de coesão de pacotes
    • princípios de acoplamento de pacotes
    • princípio de equivalência de lançamento
    • princípio de fechamento comum
    • princípio de reutilização comum
    • matriz de estrutura de dependências
  • Acoplamento e Coesão

    Medição e gestão do grau de interdependência entre componentes (acoplamento) e a relação funcional dentro de um componente (coesão).

    Objetivos

    • Calcular instabilidade e abstração para um componente e plotar na sequência principal
    • Identificar acoplamento forte em uma base de código e propor uma estratégia de desacoplamento

    Conceitos-chave

    • acoplamento aferente
    • acoplamento eferente
    • métrica de instabilidade
    • abstração
    • sequência principal
    • distância da sequência principal
    • sintomas de acoplamento forte
  • Design de Componentes

    Definição de fronteiras, responsabilidades e interfaces de componentes.

    Objetivos

    • Derivar componentes de um modelo de domínio usando análise ator/ação
    • Projetar interfaces de componentes que minimizem o acoplamento entre equipes

    Conceitos-chave

    • identificação de componentes
    • responsabilidade de componente
    • interface de componente
    • abordagem ator/ação
    • componentes por event storming
    • núcleo compartilhado
    • equipe por componente
2 · Padrões Arquiteturais5 tópicos
  • Arquitetura Hexagonal

    Padrão de portas e adaptadores que isola a lógica de domínio central de preocupações externas como bancos de dados, interfaces de usuário e serviços de terceiros.

    Objetivos

    • Projetar uma arquitetura hexagonal com fronteiras claras de porta e adaptador
    • Explicar como a arquitetura hexagonal permite testes sem banco de dados real

    Conceitos-chave

    • portas
    • adaptadores
    • portas primárias
    • portas secundárias
    • isolamento do modelo de domínio
    • regra de dependência
    • testabilidade sem infraestrutura
  • Arquitetura Orientada a Eventos

    Projeto de sistemas onde componentes se comunicam por meio de eventos.

    Objetivos

    • Projetar um fluxo orientado a eventos usando coreografia e explicar o tratamento de falhas
    • Comparar coreografia vs orquestração para um processo de negócio com várias etapas

    Conceitos-chave

    • notificação de evento
    • transferência de estado via evento
    • coreografia
    • orquestração
    • consistência eventual
    • evolução de esquema de eventos
    • filas de mensagens mortas
  • Arquitetura de Microsserviços

    Estruturação de uma aplicação como uma coleção de serviços pequenos e independentemente implantáveis organizados em torno de capacidades de negócio.

    Objetivos

    • Decompor um monólito em microsserviços usando contextos delimitados
    • Avaliar se um caso de uso justifica microsserviços em vez de um monólito modular

    Conceitos-chave

    • decomposição de serviços
    • alinhamento com capacidade de negócio
    • contexto delimitado
    • propriedade de dados
    • comunicação entre serviços
    • transações distribuídas
    • granularidade de serviço
  • CQRS e Event Sourcing

    Segregação de Responsabilidade de Comando e Consulta separa modelos de leitura e escrita. Event Sourcing armazena o estado como uma sequência imutável de eventos.

    Objetivos

    • Projetar um sistema CQRS com modelos de leitura e escrita separados
    • Explicar quando Event Sourcing adiciona valor de auditoria e consulta temporal versus adiciona complexidade

    Conceitos-chave

    • modelo de comando
    • modelo de consulta
    • projeção
    • armazenamento de eventos
    • snapshotting
    • consultas temporais
    • reconstrução do modelo de leitura
  • Padrões de Monólito Modular

    Projeto de uma única unidade implantável com fortes fronteiras internas de módulo.

    Objetivos

    • Projetar um monólito modular com fronteiras internas impostas
    • Aplicar o padrão strangler fig para extrair serviços incrementalmente

    Conceitos-chave

    • monólito modular
    • fronteiras internas de módulo
    • padrão strangler fig
    • camada anticorrupção
    • grande bola de lama
    • decisão monólito vs microsserviços
    • monólito de implantação
3 · Atributos de Qualidade5 tópicos
  • Escalabilidade

    Projeto de sistemas para lidar com carga crescente sem aumento proporcional de custos.

    Objetivos

    • Projetar uma camada de serviço sem estado que escala horizontalmente
    • Escolher entre estratégias de sharding com base em padrões de acesso

    Conceitos-chave

    • escalabilidade horizontal
    • escalabilidade vertical
    • serviços sem estado
    • estratégias de sharding
    • topologia de cache
    • balanceamento de carga
    • elasticidade
  • Confiabilidade e Resiliência

    Construção de sistemas que continuam funcionando corretamente na presença de falhas.

    Objetivos

    • Aplicar padrões disjuntor e bulkhead para evitar falhas em cascata
    • Definir SLOs significativos e alinhar decisões de arquitetura para atendê-los

    Conceitos-chave

    • disjuntor
    • padrão bulkhead
    • retentativas com recuo exponencial
    • degradação graciosa
    • engenharia do caos
    • SLO / SLA / SLI
    • análise de modos de falha
  • Arquitetura de Segurança

    Incorporação de segurança na arquitetura do sistema por meio de defesa em profundidade, modelagem de ameaças, princípios de confiança zero e padrões seguros por design.

    Objetivos

    • Realizar um modelo de ameaças STRIDE em um design de sistema
    • Projetar uma estratégia de autenticação zero trust entre serviços

    Conceitos-chave

    • defesa em profundidade
    • arquitetura de confiança zero
    • modelagem de ameaças (STRIDE)
    • privilégio mínimo
    • gerenciamento de segredos
    • autenticação vs autorização
    • criptografia em repouso e em trânsito
  • Arquitetura de Desempenho

    Projeto para metas de latência e throughput no nível de arquitetura.

    Objetivos

    • Alocar um orçamento de latência entre cadeias de chamadas de serviço
    • Projetar uma hierarquia de cache que atenda às metas de latência de leitura

    Conceitos-chave

    • orçamento de latência
    • metas de throughput
    • hierarquia de cache
    • cache read-through vs write-through
    • processamento assíncrono para ocultar latência
    • evitação de consulta N+1
    • planejamento de capacidade
  • Arquitetura de Observabilidade

    Projeto de sistemas para serem compreensíveis a partir de suas saídas externas.

    Objetivos

    • Projetar uma estratégia de rastreamento distribuído para um sistema de microsserviços
    • Definir limites de alerta usando alertas de taxa de queima baseados em SLO

    Conceitos-chave

    • logging estruturado
    • rastreamento distribuído
    • métricas (métodos RED / USE)
    • propagação de ID de correlação
    • estratégia de alertas
    • cardinalidade em métricas
    • amostragem em rastreamento
4 · Design de Sistemas Distribuídos5 tópicos
  • Teorema CAP e Modelos de Consistência

    Compreensão do teorema CAP e suas implicações para armazenamentos de dados distribuídos.

    Objetivos

    • Aplicar o teorema CAP para justificar a escolha de um armazenamento de dados
    • Projetar um sistema que tolere partições de rede com consistência aceitável

    Conceitos-chave

    • teorema CAP
    • consistência vs disponibilidade
    • tolerância a partições
    • extensão PACELC
    • consistência eventual
    • consistência causal
    • consistência forte
  • Service Mesh e Topologia de Rede

    Gerenciamento de comunicação serviço-a-serviço em microsserviços com uma camada de infraestrutura dedicada.

    Objetivos

    • Explicar o que um service mesh fornece que um balanceador de carga não fornece
    • Projetar uma estratégia mTLS para autenticação entre serviços

    Conceitos-chave

    • proxy sidecar
    • plano de controle
    • plano de dados
    • TLS mútuo
    • modelagem de tráfego
    • estratégias de balanceamento de carga
    • descoberta de serviços
  • Padrões de API Gateway

    Uso de um API gateway como ponto de entrada único para clientes externos.

    Objetivos

    • Projetar uma camada de gateway BFF para clientes móveis e web com diferentes necessidades de dados
    • Explicar quando colocar a lógica de autenticação no gateway versus no serviço downstream

    Conceitos-chave

    • API gateway
    • backend-for-frontend (BFF)
    • limitação de taxa
    • agregação de requisições
    • autenticação na borda
    • gateway vs service mesh
    • agregação fan-out
  • Arquitetura de Dados em Sistemas Distribuídos

    Gerenciamento de dados entre fronteiras de serviços.

    Objetivos

    • Projetar uma saga para uma transação distribuída que abrange três serviços
    • Justificar banco de dados por serviço e explicar o trade-off de consistência eventual

    Conceitos-chave

    • banco de dados por serviço
    • antipadrão de banco de dados compartilhado
    • padrão saga
    • saga baseada em coreografia
    • saga baseada em orquestração
    • persistência poliglota
    • malha de dados
  • Padrões de Mensageria Assíncrona

    Desacoplamento de serviços por meio de brokers de mensagens e comunicação assíncrona.

    Objetivos

    • Implementar o padrão outbox para garantir a publicação de eventos com commits de banco de dados
    • Projetar um consumidor idempotente que lida com mensagens duplicadas com segurança

    Conceitos-chave

    • entrega pelo menos uma vez
    • entrega exatamente uma vez
    • idempotência
    • padrão outbox
    • garantias de ordenação de mensagens
    • consumidores concorrentes
    • fila de mensagens mortas
5 · Decisões Arquiteturais4 tópicos
  • Architecture Decision Records

    Documentação de decisões arquiteturais significativas e seu contexto, opções consideradas e consequências.

    Objetivos

    • Escrever um ADR completo para uma decisão arquitetural real incluindo alternativas rejeitadas
    • Explicar por que ADRs reduzem as perguntas 'por que construímos assim?'

    Conceitos-chave

    • formato de ADR
    • contexto de decisão
    • opções consideradas
    • consequências da decisão
    • manutenção do log de ADR
    • supersedendo ADRs
    • arqueologia de decisões
  • Análise de Trade-offs

    Avaliação sistemática de opções arquiteturais em relação a requisitos de atributos de qualidade concorrentes.

    Objetivos

    • Construir uma árvore de utilidade para um sistema com requisitos de atributos de qualidade concorrentes
    • Identificar pontos de sensibilidade e trade-off em uma arquitetura sob avaliação

    Conceitos-chave

    • ATAM
    • cenário de atributo de qualidade
    • árvore de utilidade
    • ponto de sensibilidade
    • ponto de trade-off
    • identificação de riscos e não-riscos
    • prioridades dos stakeholders
  • Fitness Functions

    Definição de testes automatizados que validam características arquiteturais ao longo do tempo.

    Objetivos

    • Definir uma fitness function estrutural que imponha regras de dependência de camadas
    • Projetar um experimento de engenharia do caos como uma fitness function holística

    Conceitos-chave

    • fitness function
    • fitness function estrutural
    • fitness function de processo
    • fitness function holística
    • ArchUnit
    • chaos monkey
    • pista de arquitetura
  • Arquitetura Evolutiva

    Projeto de sistemas que podem mudar incrementalmente ao longo do tempo preservando a aptidão.

    Objetivos

    • Aplicar branch-by-abstraction para substituir um componente sem um dia de corte
    • Explicar como a modularidade habilita diretamente a evolucionabilidade

    Conceitos-chave

    • mudança incremental
    • mudança guiada
    • acoplamento arquitetural
    • evolucionabilidade
    • feature toggles
    • branch by abstraction
    • padrão expand-contract
6 · Liderança em Arquitetura2 tópicos
  • Governança Arquitetural

    Estabelecimento de processos e guardas que orientam decisões de arquitetura entre equipes.

    Objetivos

    • Projetar um modelo de governança leve que habilite a autonomia da equipe
    • Introduzir um processo de radar de tecnologia para alinhar escolhas tecnológicas entre equipes

    Conceitos-chave

    • comitê de revisão de arquitetura
    • princípios de arquitetura
    • radar de tecnologia
    • modelos leves de governança
    • padrão paved road
    • inner source
    • modelo de equipe habilitadora
  • Estratégia Tecnológica

    Definição e comunicação da direção técnica de longo prazo que serve aos objetivos de negócio.

    Objetivos

    • Escrever um documento de visão de arquitetura alinhado a uma estratégia de negócio de 3 anos
    • Construir um business case para endereçar dívida tecnológica como investimento estratégico

    Conceitos-chave

    • pensamento de plataforma
    • framework de decisão build vs buy
    • portfólio de dívida tecnológica
    • visão de arquitetura
    • due diligence técnica
    • arquitetura norte estelar
    • modelo de horizonte de investimento

Níveis: Júnior, Pleno, Sênior e Especialista

Explique com suas palavras

Corrigido por IA · sem cadastro · 1 pergunta

Sem alternativas para chutar: você escreve, a IA corrige com a rubrica do tópico e diz em que nível sua resposta está.

0 / 600

Já estuda Fundamentos de Arquitetura de Software?

A avaliação mede tópico por tópico, e o plano pula o que você já sabe.

Aberto para ler. A conta só é necessária para ser medido.

Perguntas frequentes

Por onde começar a estudar Fundamentos de Arquitetura de Software?

Comece por Fundamentos de Arquitetura: Pensamento Arquitetural, Arquitetura em Camadas e Modularidade. O mapa ordena os tópicos pelo que depende de quê, então cada um prepara o seguinte.

Quanto tempo leva uma avaliação completa de Fundamentos de Arquitetura de Software?

Uma avaliação completa desta trilha leva cerca de 60 minutos. O tempo de estudo depende de onde você começa; o diagnóstico mostra quais tópicos você pode pular.

Preciso de conta para usar esta página?

Não. O mapa, os objetivos e os conceitos-chave são abertos. A conta só é necessária para ser medido, ver seu gap por tópico e receber um plano.