A Arquitetura de Software consiste em um tema complexo no campo da Engenharia de Software que tem por objetivo garantir que um sistema seja criado e evoluído para atender um conjunto de requisitos ao longo do tempo.

Arquitetura de Software
O que é Arquitetura de Software?

A literatura especializada produziu uma série de definições que podem ser complementares, alinhadas com um determinado ponto de vista, ou até mesmo antagônicas.

Conceitos

Segundo Luke Hohmman, “Arquitetura de Software define a estrutura básica de um sistema, ou seja, os módulos de alto nível que compreendem a maior parte das funcionalidades de um sistema, o gerenciamento e a distribuição de dados, o tipo e estilo da interface com usuário, a plataforma na qual será executada e demais aspectos”.

Uma visão mais completa é fornecida por Myron Ahn, o qual define que Arquitetura de Software é o conjunto de módulos não triviais, processos e dados de um sistema, sua estrutura, o relacionamento entre os seus elementos, definições de como eles devem ser implementados e evoluídos e sob quais tecnologias. Estas tecnologias definem as exatas capacidades e funcionalidades do sistema, sob a qual será criado um plano para implementação ou mudança do sistema.

Como se vê, a Arquitetura de Software é um conjunto de conhecimentos que quando colocados em prática, definem como a estrutura do sistema será planejada, concebida, utilizada e evoluída considerando o seu relacionamento com a equipe responsável por sua materialização.

Big Picture – Visão Holística

O ponto-chave para o entendimento do conjunto de atividades envolvidas na Arquitetura de Software reside na capacidade de lidar com a visão geral do sistema (ou “big-picture” na literatura inglesa).

Portanto, apesar das definições acima serem úteis para conceituar a Arquitetura de Software, elas são simplistas se considerarmos demais fatores envolvidos no processo, principalmente o ambiente de negócios e as pessoas envolvidas e impactadas por esta atividade.

Diante da complexidade, este tema será tratado em diversos outros artigos com o objetivo de fornecer uma visão holística sobre o assunto e servir de base para um alinhamento conceitual, considerando os aspectos técnicos e, sobretudo, os aspectos não técnicos do tema:

  1. O que é Arquitetura de Software?
  2. Visões Alternativas Sobre Arquitetura de Software
  3. Importância da Arquitetura de Software
  4. Arquitetura de Software – Criação
  5. Arquitetura de Software – Padrões
  6. Arquitetura de Software – Aspectos Evolutivos
  7. Arquitetura de Software – “Cuidado e Alimentação”
  8. Arquitetura de Software – Princípios
  9. Arquitetura de Software – Comunicação
  10. Arquitetura de Software – Equipe
  11. Conclusão

O próximo artigo irá ampliar este conceito adicionando definições menos técnicas a respeito do assunto, até mais!!!

Deixe sua opinião