Você está na página 1de 23

9/10/2020

Licenciatura em Enganharia Informática


Curso de Curta Duração
Desenho de Sistemas Informáticos

Importância da arquitectura de
software

Eng.º Benadade Albano Lopes Chipikita


Aula n.º 5
O que é framework?

Dentro de um processo de arquitetura de


software, o framework é a parte do
desenvolvimento que une os componentes
dentro da infraestrutura de um sistema ou
aplicação, sendo basicamente a interface.
O principal diferencial de utilizar um framework é
garantir que o desenvolvedor tenha a possibilidade
de ajustar o projeto de acordo com a personalização
solicitada. Por isso, cada vez mais, os
desenvolvedores buscam por esse tipo de
ferramenta.
Para eles, já ter disponível parâmetros
preestabelecidos possibilita maior produtividade para
que o trabalho seja feito de modo mais rápido e
estruturado. Sem contar que o gerenciamento de
ferramentas também fica mais fácil: não é necessário
reinventar a roda para colocar um software de pé.
Ao utilizar a visão da arquitetura, será viável capturar
as principais decisões do design estrutural do
software, tal qual seus componentes, formulários,
restrições e requisitos funcionais ou alternativos.
Por fim, toda essa parte é direcionada para o Documento
de Arquitetura de Software que armazenará as visões,
abstrações ou simplificações dos modelos criados e suas
características. Afinal, essa etapa é importante para
aumentar a qualidade dos modelos arquiteturais antes de
ir para a parte do desenvolvimento.
A escolha do modelo arquitetural
para um software
Depois de aplicar a visão da arquitetura, podemos avançar mais na
rotina do arquiteto de software. Considerando o melhor caminho
para estruturar um sistema, será fundamental pensar na próxima
fase do projeto que é a definição do padrão arquitetural – lembre-
se que há uma infinidade deles. “Não existe um funcionamento
básico de tecnologia. Há formas infinitas de aplicar e atender os
diversos problemas existentes”,
Arquitetura em camadas
(Layered pattern)
Organiza um sistema de conjunto em camadas que
podem ser desconstruídas em diferentes serviços,
trazendo um modelo incremental de
desenvolvimento. Os casos mais comuns para o uso
desse padrão são em software de e-commerce e
desktop.
Arquitectura cliente-servidor
(Client-server pattern)
Estilo organizado em serviços combinando dados do cliente
e do servidor. Para isso, é primordial que o cliente
disponibilize uma rede de acesso às informações. Este
cenário é um dos mais conhecidos na rotina das pessoas, já
que podem ser aplicativos bancários e e-mail.
Arquitetura MVC
(Model-view-controller pattern)
Distribuído em três camadas (Modelo, Visão
e Controle), este padrão é um dos mais
comuns para o online, porque traz um
modelo interativo de sistema.
Computação em nuvem
(cloud computing)
Em sua explicação mais simples, a computação em nuvem é uma
solução tecnológica com acesso remoto a diferentes conteúdos
online. Isso significa que não é necessário mais um computador
pessoal ou um servidor local para acessar informações. Em nosso
dia a dia já usamos a computação em nuvem para editar
documentos no Google Drive ou para escutar uma playlist no
Spotify.
Inteligência artificial
Desenvolver software com base em inteligência artificial já
é uma prática realizada no mercado de TI, mas logo essa
evolução tecnológica ficará mais fácil e acessível para a
produção de softwares e aplicativos. Graças a facilidade na
hora de programar e uma interface mais intuitiva que
atende mais rapidamente às necessidades dos negócios.
Arquitetura de microsserviços
(Microservices pattern)
Este padrão utiliza múltiplos serviços e componentes para
desenvolver uma estrutura modular favorecida. Hoje, é
um dos modelos preferidos dos desenvolvedores e
arquitetos de software por possibilitar a escalabilidade e
independência dos módulos – que até podem utilizar
diferentes linguagens e programações.
Microsserviços
Definimos microsserviços como um padrão de arquitetura para criar
aplicações. Sob esse padrão, as aplicações são estruturadas como uma
coleção de serviços ligeiramente ligados. Isso é diferente das aplicações
tradicionais, ou monólitos, que são estruturados como artefatos
autocontidos únicos.”
Microsserviços
A praticidade dos microsserviços criará um
movimento de migração de sistemas para as
empresas que têm uma área de TI mais fortalecida e
com maior produtividade.
Microsserviços – Caracteristicas
• Autônomos
Cada serviço do componente de uma arquitetura de microsserviços pode ser
desenvolvido, implantado, operado e escalado sem afetar o funcionamento de outros
serviços. Os serviços não precisam compartilhar nenhum código ou implementação com
os outros serviços. Todas as comunicações entre componentes individuais ocorrem por
meio de APIs bem definidas.
• Especializados
Cada serviço é projetado para ter um conjunto de recursos e é dedicado à solução de um
problema específico. Se os desenvolvedores acrescentarem mais código a um serviço ao
longo do tempo, aumentando sua complexidade, ele poderá ser dividido em serviços
menores.
Microsserviços – Benefícios
• Agilidade
• Escalabilidade flexível
• Fácil implantação
• Liberdade tecnológica
• Código reutilizável
• Resiliência
A diferença entre APIs e microsserviços
Microsserviços são um estilo de arquitetura para web
service, em que a funcionalidade é dividida em
pequenos serviços da web. Já as APIs são os
frameworks, através dos quais, os desenvolvedores
podem interagir com uma aplicação da web.
O futuro da arquitetura de
Software
Definitivamente, no futuro do desenvolvimento dos
sistemas estarão os modelos de microsserviços,
computação em nuvem e inteligência artificial. “Com os
últimos avanços ficou claro que ainda estamos longe de
atingir um limite para o uso da tecnologia. Estamos apenas
no início de uma revolução e com as possibilidades
totalmente em aberto”.
Bibliografia
• Silveira, P. (2011). Introdução à Arquitectura e Design
de Software. São Paulo: Campus.
• Shaw, D. Garlan; Software Architecture. Perspectives
on an Emerging Discipline, Prentice Hall, 1996. Garlan
and Mary Shaw. An introduction to software
architecture. Technical Report- CMU-CS-
94166,Carnegie Mellon University, January 1994.
Obrigado

Você também pode gostar