A origem da arquitetura de software como um conceito foi primeiramente identificado no trabalho de pesquisa de Edsger Dijkstra em 1968 e David Parnas no início de 1970. Estes cientistas enfatizaram a importância das estruturas de um sistema de software e a criticidade da identificação da sua estrutura.
A arquitetura de software de um sistema abrange a forma como suas partes são organizadas, incluindo questões como o comportamento dessa estrutura e quais componentes são responsáveis por realizar um conjunto específico de funções. Resumidamente, é um modelo repetível sob o qual um sistema pode ser desenvolvido.
A importância da arquitetura de software reside no fato de permitir a criação de sistemas preditivos e organizados logicamente. ... O objetivo final da arquitetura é identificar requisitos que afetem a estrutura do software e reduzir os riscos associados ao desenvolvimento do software.
Os principais tipos de arquitetura de software são:
Os frameworks possuem interfaces mais complexas, mas são de mais fácil customização de que os componentes....Referências:
As principais vantagens desse tipo de arquitetura são: Isola funções do SO facilitando sua manutenção e depuração; Cria uma hierarquia de níveis de modos de acesso, protegendo as camadas mais internas.
O conhecimento mais relevante ao arquiteto está na clareza sobre como compor produtos e serviços afim de orquestrar uma composição de design, recursos e serviços de forma a oferecer um melhor desenho arquitetural, pautando suas decisões nos 3 pilares: Equipe, Contexto e Arquitetura.
Tabela 4.
Características de arquitetura de software | Uso prático da arquitetura de software |
---|---|
Constitui um artefato reutilizável | Como um arquiteto de software pode organizar o projeto e código de um sistema |
Dispõe de mecanismos de interconexão | Como um arquiteto avalia e implanta arquiteturas de software em sistemas |
Em seu livro “Software Architecture Patterns”, o especialista Mark Richards define 5 padrões de arquitetura de software: microkernel, microsserviços, arquitetura em camadas, baseado em eventos e espacial.
Abaixo você conhece os frameworks mais usados dentro das duas vertentes.
Em An Introduction to Software Architecture, David Garlan e Mary Shaw sugerem que a arquitetura de software é um nível de design voltado para problemas: "Além dos algoritmos e das estruturas de dados da computação; o design e a especificação da estrutura geral do sistema emergem como um novo tipo de problema.
A Tabela 1 apresenta o contexto da arquitetura de software. Na programação estruturada, é feito uso de estruturas de seqüência, decisões e repetições como ‘padrões’ de controle nos programas.
ANSI/IEEE 1471-2000: Recommended Practice for Architecture Description of Software-Intensive Systems [1] foi a primeira norma padrão na área de arquitetura de software, e foi recentemente adotada pelo ISO como ISO/IEC DIS 25961 . As Linguagens de descrição de arquitetura (LDAs) são usadas para descrever a arquitetura de software.
Concomitante com esses fatos, o crescimento em tamanho e complexidade dos sistemas de software exige que os profissionais da área raciocinem, projetem, codifiquem e se comuniquem por meio de componentes de software.
Quando não tem reciprocidade no relacionamento?
Como ter um objetivo definido?
Como o aparelho corrige os dentes?
Como acontece a chuva ácida Brainly?
Quais são as formas de aquisição da posse?
O que atua na coagulação do sangue?
Quais são as misturas de catação?
Qual célula dos poríferos é responsável pela alimentação?
Como ocorre a circulação do líquor?
Como acessar o Cadastro Sincronizado da Receita Federal?
Quanto tempo o aparelho leva para juntar os dentes?
Qual a enzima marcadora dos lisossomos?