Ferramentas do usuário

Ferramentas do site


a:arquitetura_de_software

Visão Geral

A arquitetura de software, diferente do desing de software, é uma área da Tecnologia da Informaçao(TI), se refere a organização de um sistema e muita das vezes está presente em programas utilizados no cotidiano. A área consiste na análise estratégica de cada componente operacional antes de definitivamente criar as soluções viáveis para a tecnlogia. Antes de qualquer meio tecnológico se tem a análise do desempenho, escalabilidade, interoperabilidade, compatibilidade e performance, sendo estes citados os critérios principais para a ação efetiva da arquitetura de software.

A arquitetura também possibilita a compreensão das diferenças de linguagens, sistemas operacionais e ambientes da computação, assim qualquer componente tecnológico pode ser usado para integrar na solução aquitetural.

Fora a escolha de algoritmos e estrutura de dados, a arquitetura envolve:

  • Decisões sobre as estruturas que formarão o sistema;
  • Controle;
  • Protocolos de comunicação, sincronização e acesso a dados;
  • Atribuição de funcionalidade a elementos do sistema;
  • Distribuição física dos elementos de escalabilidade;
  • Desempenho e outros atributos de qualidade.

A arquitetura de software influencia em principal na performance, qualidade, facilidade de manutenção e escalabilidade. Critérios estes que influenciam no sucesso do projeto desenvolvido e na praticidade na compreensão do usuário.

Principais Marcos

A criação e desenvolvimento dos modelos de microsserviços, computação em nuvem e inteligência artificial, que fazem parte da arquitetura de software, vão e já influenciam no futuro do mundo das máquinas junto a revolução digital.

A praticidade dada pelas ferramentas anteriormente citadas tem sido um avanço na longa complexidade da arquitetura na tecnologia. Fora os já atingidos como a Arquitetura em camadas, cliente-servidor, MVC(Model-view-controller pattern) e a de microsserviços anteriormente colocada.

Grandes Nomes

Edsger Wybe Dijkstra.

Edsger foi um dos mais importantes pesquisadores na área da Ciência da computação. Wybe sempre viu a necessidade da organização de um programa e/ou software para o seu bom funcionamento. Dijkstra nasceu em 1930 Roterdã, na Holanda e morreu em 2002 em Nuenen devido ao câncer, porém mesmo após sua morte, continuou influenciando positivamente com os conhecimentos deixados.


Frances Allen.

Frances foi a primeira mulher a ganhar o prestigiado Turing Award, ela nasceu em 1932 em Nova Iorque e faleceu em 2020 em Scgenectady. Foi uma mulher de extrema influência, e suas maiores realizações foram o trabalho importante em compiladores, otimização de códigos e computação paralela. Mas Allen, com sua otimização de código e paralelização, fez algo relacionado a arquitetura de software, assim permitindo que softwares mais avançados rodassem de maneira melhor com seus ajustes.


Aplicações/Tipos de Arquitetura

A arquitetura de software pode ser aplicada para melhora da performance, escalabilidade e flexibilidade, também usada para delimitar a estrutura utilizada para projetar um software. Entre os diversos modelos utilizados, a arquitetura em camadas possui destaque devido ao seu funcionamento prático, cujo consiste na divisão do sistema em diferentes camadas, proporcionando independência na comunicação e implementação. A facilidade dessa aplicação pode ser direcionada na criação de softwares multiplataformas, pois a potencialidade de retirar e acrescer camadas sem comprometer a estrutura por completo facilita o desenvolvimento. Outros modelos de arquitetura igualmente utilizados são:

  • Client-server (cliente-servidor)
  • Model-view-controller (MVC)
  • Microservices (microsserviços)
  • Pipes-and-filters (PF)
  • Peer-to-Peer (P2P)
  • Service-Oriented Architecture (SOA)
  • Publish-Subscribe (Pub/Sub)

Os tipos mencionados acima servem de modelo para o necessário, por exemplo, se um projeto requer vários serviços e componentes para desenvolver uma estrutura modular, o ideal é que sejam Microservices. Outro fator importante a ser evidenciado é que não há o melhor modelo de arquitetura de software, cada modelo tem sua função, e o projeto define qual é mais eficaz para executar determinado papel.

Abaixo o mapa hexagonal que demonstra o ciclo de desenvolvimento de um arquiteto de software.

Impacto Social

A praticidade e qualidade dada pela arquitetura de software entrega exatamente o que os usuários solicitam, a fácil compreensão do programa gerada. A área foca exatamente nisso, uma boa formatação do projeto que evite as falhas, longo tempo de carregamento e consiga uma boa estruturação e comôdidade.

Cada dia mais a imagem tem sido o foco principal, pois é o que entrega a primeira visão do que é oferecido, como um programa por exemplo. A arquitetura de software mesmo que sendo uma área com o surgimento considerávelmente novo, tem sido essêncial e facilitando grande parte na área de UX(user expirience) dando novos avanços e a cada passo sendo um evolutivo com grandes feedbacks bons.

Desafios

Vários desafios podem ser citados na área da arquitetura de softwares, mas em destaque estão a dificuldade de suporte com os fornecedores e o tempo. Para a arquitetação de um programa obter o êxito, é necessário o apoio e o período necessário para tal, esse usufruído em longa duração para que o usuário não tenha que dispor do seu tempo para enfrentar bugs ou problemas com o uso do projeto.

Portanto, a arquitetura de software mesmo tendo a falta de apoio necessária, tem se restaurando com empresas comprometidas com a UX e assim garantindo a qualidade, mesmo com o longo tempo de ação, vem o curto tempo de reação com as atualizações constantes dos arquitetos responsáveis pelo programa gerenciado.

Referências

  1. Arquitetura de software: entenda por que ela é tão importante! Disponível em: <https://blog.unyleya.edu.br/bitbyte/arquitetura-de-software/>. Acesso em: 29 ago. 2022.
  2. Assistir Aula - Arquiteto de Software - Curso - Fundamentos de Arquitetura de Software. Disponível em: <https://desenvolvedor.io/curso/fundamentos-de-arquitetura-de-software/perfis-de-arquitetos/arquiteto-de-software>. Acesso em: 29 ago. 2022. Imagem de 'Aplicações' também retirada da Aula.
  3. DIGITAL HOUSE. Arquitetura de software: quais são os tipos e qual o melhor padrão para seu projeto. Disponível em: <https://www.digitalhouse.com/br/blog/arquiteturadesoftware/>. Acesso em: 29 ago. 2022.
  4. Tipos de arquitetura de software. Disponível em: <https://posdigital.pucpr.br/blog/tipos-de-arquitetura-de-software>. Acesso em: 29 ago. 2022.
  5. DEMARTINI, F. As dez mulheres mais importantes da história da tecnologia. Disponível em: <https://canaltech.com.br/internet/as-dez-mulheres-mais-importantes-da-historia-da-tecnologia-59485/>. Acesso em: 29 aug. 2022.
  6. MOCHETTI, K. Dijkstra, um pioneiro em todas as áreas. Disponível em <https://horizontes.sbc.org.br/index.php/2017/10/807/>. Acesso em: 29 aug. 2022.
  7. Fernandes, V. J. ARQUITETURA DE SOFTWARE: UMA PROPOSTA PARA A PRIMEIRA APLICAÇÃO. Disponível em: <http://www.uel.br/cce/dc/wp-content/uploads/TCC-ViniciusdeJesus-BCC-UEL-2013.pdf>. Acesso em: 4 de set. de 2022.
  8. TV, C. F. Arquitetura de Software (Não é coisa de outro mundo) Dicionário do Programador. Disponível em: <https://www.youtube.com/watch?v=kYx1QC1XZSo>. Acesso em: 29 aug. 2022.
a/arquitetura_de_software.txt · Última modificação: 2022/09/04 17:37 por Larissa Silvério Desbessel