O que é arquitetura de software
Arquitetura de software é a organização das escolhas estruturais de um sistema. Ela trata dos componentes que formam a aplicação, dos limites entre eles e das dependências que o produto assume. Um mesmo conjunto de funcionalidades pode ser organizado de formas diferentes, com custos de manutenção também diferentes.
Você não define tudo de uma vez. A cada funcionalidade, aparecem escolhas sobre onde gravar a informação, que parte responde por uma consulta e como um serviço conversa com o outro. A arquitetura é o conjunto dessas escolhas quando elas valem para além de uma tela.
A estrutura que encarece ou facilita a mudança
Uma separação clara ajuda a localizar e alterar um comportamento sem mexer no restante. Em contrapartida, cada camada e cada serviço acrescentam trabalho de manutenção e mais lugares onde uma falha pode aparecer.
A pergunta prática é o que a estrutura facilita e o que ela encarece. Reunir duas operações que mudam juntas costuma simplificar, enquanto dividir partes que nunca evoluem sozinhas apenas multiplica o trabalho.
Documentar as escolhas que pesam
Vale registrar as escolhas que vão orientar a próxima alteração. Um pequeno texto sobre por que o dinheiro é tratado em centavos ou por que uma consulta usa uma réplica evita que uma alteração futura desfaça o cuidado sem entender o motivo.
Esse registro também ajuda você mesmo meses depois. A dívida técnica cresce quando uma simplificação assumida não fica registrada e parece descuido. Registrar o combinado preserva o momento certo de revisá-lo.
Revisar antes de crescer
O tamanho do produto muda a arquitetura. O que funciona para alguns usuários pode precisar de ajustes quando o volume cresce, e o momento de rever a estrutura chega antes do problema ficar caro.
Você reconhece esse ponto quando uma alteração pequena exige muito trabalho ou quando já não consegue prever o efeito de mexer em um trecho. Para revisar o desenho do sistema e organizar a sequência de mudanças, o Diagnóstico de Produto e Arquitetura da Dev Side Studio permite examinar produto e arquitetura juntos.
Dúvidas frequentes
Perguntas frequentes sobre Arquitetura de software
- Arquitetura de software é a mesma coisa que escolher um framework?
- Não. O [framework](/glossario/framework/) oferece convenções e componentes para construir a aplicação. A arquitetura trata da organização maior, como os limites entre as partes, o acesso aos registros e as dependências que o produto assume ao crescer.
- Preciso definir a arquitetura inteira antes de começar?
- Não. Você registra as escolhas estruturais que já pesam no dia a dia e revisa esse desenho conforme o produto muda. O que não pode acontecer é tratar cada escolha de estrutura como algo que só se define no fim.
- Uma arquitetura mais elaborada é sempre melhor?
- Não. Cada camada e cada separação acrescentam trabalho de manutenção. Uma estrutura simples que atende ao uso atual pode ser a escolha correta para um produto pequeno, desde que você reconheça o momento de revisar.
- Como perceber que a arquitetura atrapalha?
- Quando uma mudança pequena exige alterar muitas partes, quando a mesma informação é gravada em lugares diferentes ou quando você teme mexer em um trecho por não prever o efeito. Esses sinais aparecem antes de o produto crescer muito.
Para continuar
Recursos relacionados
Artigo
Martin Fowler: arquitetura de software
Reúne textos sobre organização estrutural, evolução do desenho e o que muda ao longo do tempo.
Abrir recursoDocumentação
Microsoft: guia de arquitetura de aplicações
Apresenta estilos de arquitetura e a relação entre requisitos e escolhas estruturais.
Abrir recursoAplicação na formação
Vibe Coding: Do Zero ao MVP
A arquitetura de software orienta como as funcionalidades construídas com agentes se organizam e evoluem no projeto.
Conhecer a formação
Fontes consultadas
Referências deste verbete
Este verbete ajudou você?
Obrigado pela resposta. Ela fica salva apenas neste navegador.