Resumo de Arquitetura de Software - Conceitos Básicos em Arquitetura de Software

Conceitos Básicos em Arquitetura de Software

Conceitos Básicos em Arquitetura de Software

1. Definição de Arquitetura de Software

Arquitetura de Software é a organização fundamental de um sistema, englobando seus componentes, relações entre eles e princípios que guiam seu design e evolução. Define a estrutura e o comportamento do sistema, garantindo atributos como desempenho, escalabilidade e manutenibilidade.

2. Componentes Principais

  • Módulos/Componentes: Unidades funcionais do sistema (ex: serviços, classes).
  • Conectores: Meios de interação entre componentes (ex: APIs, mensagens).
  • Restrições: Regras que definem como os componentes se integram.

3. Estilos Arquiteturais

  • Camadas (Layered): Divisão em camadas (ex: apresentação, negócio, dados).
  • Cliente-Servidor: Separação entre provedor (servidor) e consumidor (cliente).
  • Microsserviços: Sistemas independentes e especializados.
  • Orientado a Eventos: Comunicação assíncrona via eventos.

4. Atributos de Qualidade

Características não funcionais que a arquitetura deve suportar:

  • Desempenho: Tempo de resposta e throughput.
  • Escalabilidade: Capacidade de crescimento.
  • Segurança: Proteção contra ameaças.
  • Manutenibilidade: Facilidade de modificação.

5. Padrões Arquiteturais

  • MVC (Model-View-Controller): Separação entre lógica, interface e dados.
  • Repository: Abstração de acesso a dados.
  • Injeção de Dependência: Controle externo de dependências.

6. Documentação Arquitetural

Representada por diagramas (ex: UML, C4) e decisões documentadas (ADRs - Architectural Decision Records).

7. Importância para Concursos

Foco em: definições formais, estilos arquiteturais, trade-offs entre abordagens e vocabulário técnico (ex: acoplamento, coesão).