Você está na página 1de 17

Arquitetura de Software

A etimologicamente da palavra
Arquitetura de Software.
Arquitetura de Software: do grego: arkhé (chefe
ou mestre) + tékton (trabalhador ou construtor)
tekhne – arte ou habilidade.
Conceitos

 Arquitetura de Software: É um conjunto de elementos arquiteturais


(de dados, de processamento, de conexão) que possuem alguma
organização. Os elementos e sua organização são definidos por
decisões tomadas para satisfazer objetivos e restrições.
Arquitetura de Software

• O termo arquitetura de software é usado para designar processo e


produto.

 – Produto – representação da estrutura de software

 – Área da engenharia de software que trata de produzir as


estruturas de software, visando a reduzir complexidade.
Importância de Arquitetura de
Software
 Conforme um software é desenvolvido, seu tamanho e
complexidade crescem, aumentando também o problema do
projeto e excedendo as estruturas de dados e algoritmos. Logo,
projetar uma arquitetura que facilite a compressão desses
componentes se torna um caminho mais do que necessário.

 Um exemplo claro pode ser encontrado nos sistemas web, nos


quais uma solução precisa contar com diversas camadas para
distinguir componentes cliente-side e server-side, alem de possíveis
existir, conforme necessário.
Existem três benefícios de um
Software arquiteturado.
Implementar uma arquitetura de Software traz diversos benefícios para o
sistema. Abaixo, estão listados os principais deles.

1. Performance.

Sistemas mal-estruturados tendem a se tornar um grande problema


quando assunto é desempenho. Caso haja uma demanda imprevista
por mais capacidades, ele se tornara uma grade dor de cabeça, tanto
por conta da manutenção muito mais trabalhosa, quanto pelo atraso
que isso causará aos processos da empresa.
Continuação…

2. Escalabilidade

 A escalabilidade é o principal fator considerado pelas empresas que querem


crescer. Entretanto, contar com um software mal arquitetado pode ser um
grande problema, principalmente por conta da alta dependência dos recursos
digitais hoje.

3. Flexibilidade

 Outra vantagem da arquitetura de software é a flexibilidade que ela traz ao


sistema. Esses é um aspeto muito importante, visto que toda empresa tem suas
particularidades e precisa de sistemas que se adaptem as suas necessidades.
O que faz um arquiteto de
software?
Sucintamente, um arquiteto de software define a estrutura de sistema que
uma equipe implementará na aplicação. Para isso, o arquiteto precisa ter
experiencia em diversas áreas: design, domínios, tecnologia, além de
conhecimentos metodológicos, que explicaremos melhor a seguir.

Design

 Um arquiteto de software conhece diversas abordagens voltadas para


design da estrutura do projeto, como é o caso do design orientado a
objetos ou a eventos, por exemplo. Assim, é possível liderar uma
equipe de coordenar as tarefas em prol da integridade e patronizarão
da estrutura.
Continuação…

Domínios

 O arquiteto precisa ter domínio no sistema que esta sendo desenvolvido e


saber planejar a evolução do projeto. Neste sentido, ele auxilia no estudo dos
requisitos do sistema e coordena a definição do modelo de domínio que é
implementado pela equipe.

Tecnologia

 Um bom arquiteto precisa ser especialista nas tecnologias disponíveis e que


possam ser úteis no desenvolvimento de software. Nesse sentido estão incluídos,
por exemplo, o tipo de banco de dados, a linguagem de programação, as
estruturas e plataformas de nuvem ideias.
Vantagens de uma arquitetura
explícita.
 A arquitetura pode ser utilizada como o foco de discussão entre os
interessados;

 Reutilização em larga escala;

 A arquitetura pode ser reutilizada em uma variedade de sistemas;

 Análise do sistema;

 A arquitetura pode ser utilizada para análise preliminar sobre a


possibilidade do sistema atender seus requisitos não-funcionais.
Projeto arquitetural.

As principais atividades são:

• Decomposição do sistema de software em subsistemas e


componentes;

• Identificação das interações e comunicação entre eles;

• Modelagem arquitetural.
Configuração

 Uma configuração arquitetural ou topologia: é um grafo de


componentes e conectores que descrevem a estrutura arquitetural.
Projeto arquitetural

As principais atividades são:

 Decomposição do sistema de software em


subsistemas e componentes;

 Identificação das interações e comunicação


entre eles;

 Modelagem arquitetural
O Processo de Arquitetura de
Software

 Representação da arquitetura e divulgação: para permitir aos


desenvolvedores e testadores o entendimento da arquitetura

 Implementação da arquitetura, seguindo seus protocolos e


estruturas.

 Análise e avaliação: verificar a adequação da arquitetura,


registrando impactos, riscos e dificuldades, o que servirá para
evoluçao da arquitetura.
Framework de Arquitetura
 Um framework de arquitetura ou uma infraestrutura de arquitetura é
um conjunto de componentes com os quais pode-se criar um
determinado tipo de arquitetura.

 • Várias das maiores dificuldades arquiteturais devem ser resolvidas no


framework ou na infraestrutura, geralmente, direcionadas a um
domínio específico: comando e controle, sistema de controle, etc.
Fim…

Você também pode gostar