O que é Arquitetura de Software?

Imagem de rascunho de esquema de projeto

Arquitetura de Software, uma possível definição

Assim como outros contextos fundamentados na tecnologia, a Arquitetura de Software está em constante evolução. As práticas e metodologias que regem o desenvolvimento de software mudam rapidamente – em dias, semanas e meses. Com o advento das IAs, estamos vivenciando um novo ciclo de abordagens e soluções para desafios antigos e emergentes.

Mas afinal, o que é a Arquitetura de Software? No livro Fundamentos da Arquitetura de Software: Uma abordagem de engenharia, de Mark Richards – obra que serviu de base para este breve post – encontramos uma definição que a descreve por meio de, pelo menos, quatro características:

Estrutura do Sistema

Refere-se aos estilos arquiteturais utilizados na construção do sistema, como microservices, arquiteturas em camadas, entre outros.

Características da Arquitetura

Diz respeito aos atributos que o sistema deve suportar, como disponibilidade, confiabilidade, escalabilidade, dentre outros.

Decisões da Arquitetura

Envolve as escolhas que determinam como um sistema deve ser construído. Por exemplo, pode-se definir que a camada A se comunique apenas com a camada B, enquanto a camada C interage exclusivamente com a camada B.

Princípios do Design

Embora semelhantes às decisões de arquitetura, os princípios do design funcionam como diretrizes flexíveis e não como regras rígidas. Por exemplo, ao definir o protocolo para a comunicação entre as camadas A e B, os desenvolvedores podem optar entre REST ou gRPC, conforme as necessidades específicas do projeto.

Essas quatro colunas, quando consideradas em conjunto, compõem uma forma eficaz de definir e analisar a Arquitetura de Software – seja na avaliação de sistemas já existentes ou no planejamento de novas soluções. Em futuros posts, exploraremos com mais profundidade esse universo, trazendo exemplos práticos, diagramas e estudos de caso para ilustrar cada um desses aspectos.


Muito obrigado por acompanhar o texto até aqui. Se você gostou ou tem alguma experiência para compartilhar, deixe seu comentário. Até a próxima!

Comentários

Postar um comentário

Postagens mais visitadas deste blog

Código Limpo - Capitulo 1

Cloud Finops - Capítulo 1 - O que é FinOps?

O que é CDD?