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.
Como transferir desenho para caneca de porcelana?
Como funciona o estágio pelo Nube?
Precisa parar de tomar anticoncepcional para colocar DIU?
Como transferir fotos do celular pro notebook?
Como usar o comando IF no JavaScript?
Como fica o nome Maria em francês?
Que significado tem o nome Ana?
Como é que se escreve Margarida?
O que significa os no final do ano?
Como é que se fala bruxa em inglês?
Como se escreve o nome de Jesus Cristo em latim?