Skip to main content

Arquitetura de Software | Conceitos

  • Arquitetura de Software | Conceitos

Arquitetura consiste na estrutura combinada com as características da arquitetura (atributos), as decisões da arquitetura e os princípios do desing - Livro: Fundamentos da Arquitetura de Software

Atributos

alt text alt text alt text

Decisões de Arquitetura (Estrutura)

O que são São decisões estruturais difíceis de mudar e que definem como o sistema é organizado em alto nível.

O que a figura mostra

  • Arquitetura em camadas (Apresentação, Comercial, Serviços, Persistência, Banco).

  • Regras de acesso entre camadas:

    • Apenas as camadas Comercial e Serviços podem acessar a Persistência.
    • Camadas superiores não acessam diretamente o banco.
  • Cada camada tem responsabilidade clara.

  • Algumas camadas são fechadas (não podem ser acessadas diretamente).

Por que isso importa

  • Reduz acoplamento
  • Facilita manutenção
  • Evita “atalhos arquiteturais” que quebram o sistema com o tempo

👉 Decisão estrutural = contrato da arquitetura


Princípios de Design

O que são Diretrizes que orientam como implementar a arquitetura no dia a dia.

O que a figura mostra

  • Separação por serviços independentes (ex: Pedido, Pagamento, Inventário).

  • Cada serviço:

    • Tem seu próprio banco de dados
    • Contém Modelo + Regras de negócio
  • Comunicação entre serviços via mensageria assíncrona sempre que possível.

  • API como ponto de entrada único.

Por que isso importa

  • Melhor desempenho
  • Menor acoplamento entre serviços
  • Maior escalabilidade
  • Sistemas mais resilientes a falhas

👉 Princípio de design = como construir respeitando a arquitetura


Características da Arquitetura (Atributos de Qualidade)

O que são São os requisitos não funcionais que o sistema deve suportar.

O que a figura lista

  • Disponibilidade
  • Confiabilidade
  • Testabilidade
  • Escalabilidade
  • Segurança
  • Agilidade
  • Desempenho
  • Tolerância a falhas
  • Elasticidade
  • Recuperabilidade
  • Implementabilidade
  • Capacidade de aprendizagem

Por que isso importa

  • Toda decisão arquitetural prioriza alguns atributos e sacrifica outros

  • Exemplo:

    • Mensageria → mais escalabilidade, menos simplicidade
    • Camadas rígidas → mais manutenção, menos velocidade inicial

👉 Arquitetura é trade-off de atributos de qualidade


Resumo em uma frase por item

  • Decisões de arquitetura: definem a estrutura e os limites do sistema
  • Princípios de design: orientam como implementar corretamente essa estrutura
  • Características da arquitetura: são os atributos de qualidade que o sistema precisa atender