Buscar

ARQUITETURA DE SOFTWARE - AULA02

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 48 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 48 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 48 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Arquitetura de Software
Aula 2
Prof. Daniel Silos – 1ª edição – 2020
E-mail: daniel.moraes@ibmr.br
Prof. Daniel Silos – daniel.moraes@ibmr.br 1
mailto:Daniel.Moraes@ibmr.br
Gêneros e estilos de arquitetura
 Gêneros e estilos de arquitetura
 Padrões de arquitetura
 Objetivos de aprendizagem
1. Descrever os gêneros de arquitetura. 
2. Analisar os principais estilos de arquitetura. 
3. Analisar um padrão de arquitetura e classificar qual o seu 
tipo. 
Prof. Daniel Silos – daniel.moraes@ibmr.br 2
Visões da Arquitetura
1.Que visões ou perspectivas são úteis ao se 
projetar e documentar uma arquitetura de 
sistema?
2.Quais notações devem ser usadas para se 
descrever modelos de arquitetura?
Prof. Daniel Silos – daniel.moraes@ibmr.br 3
Gêneros de arquitetura
Embora os princípios fundamentais do projeto 
de arquitetura se apliquem a todos os tipos de 
arquitetura, o gênero arquitetural normalmente 
ditará a abordagem arquitetural específica para 
a estrutura que deve ser construída.
Prof. Daniel Silos – daniel.moraes@ibmr.br 4
Gêneros de arquitetura
Mas o que é gênero neste contexto?
Gênero Edifícios – estilos gerais:
Casas
Condomínios
Prédios de apartamentos
Conjuntos comerciais
Prédios industriais
Armazéns
Etc.
Prof. Daniel Silos – daniel.moraes@ibmr.br 5
Gêneros de arquitetura
Handbook of Software Architecture -> 
Grady Booch -> sugere os gêneros 
arquiteturais:
Prof. Daniel Silos – daniel.moraes@ibmr.br 6
 Inteligência artificial
 Comunicação
 Dispositivos
 Finanças
 Games
 Industrial
 Jurídico
 Médico
 Militar
 Sistemas operacionais
 Transportes
 Utilitários
 outros
Estilos de arquitetura
Palácio do Catete, onde funciona o Museu da República.
Prof. Daniel Silos – daniel.moraes@ibmr.br 7
Foto: Fernando Frazão/ Agência Brasil
Estilos de arquitetura
Vista Chinesa, localizado na floresta da Tijuca, um dos cartões 
postais da cidade do Rio de Janeiro.
Prof. Daniel Silos – daniel.moraes@ibmr.br 8
Foto: Marcello Casal Jr./ Agência Brasil
Estilos de arquitetura
Paço Imperial na Praça XV, região central da cidade.
Prof. Daniel Silos – daniel.moraes@ibmr.br 9
Foto: Tânia Rêgo/ Agência Brasil
Estilos de arquitetura
“Quero uma casa no estilo colonial brasileiro!”
 Isso dá uma ideia ao arquiteto de um mecanismo descritivo 
que diferencia a casa de outros estilos.
Além disso, o estilo arquitetural é também um modelo para 
construção.
Obviamente, mais detalhes são necessários, como 
dimensões finais, características personalizadas a serem 
acrescentadas, materiais de construção... Mas o estilo 
orienta o arquiteto em seu trabalho.
Prof. Daniel Silos – daniel.moraes@ibmr.br 10
Estilos de arquitetura
O software para sistemas computacionais 
também apresenta um estilo de arquitetura.
Cada estilo descreve uma categoria de sistemas 
que engloba
1. Um conjunto de componentes (Ex: um banco de 
dados, módulos computacionais) que realiza 
uma função exigida por um sistema
2. Um conjunto de conectores que habilitam a 
“comunicação, coordenação e cooperação” 
entre os componentes.
Prof. Daniel Silos – daniel.moraes@ibmr.br 11
Estilos de arquitetura
Cada estilo descreve uma categoria de 
sistemas que engloba
3. Restrições que definem como os 
componentes podem ser integrados para 
formar o sistema
4. Modelos semânticos que permitem a um 
projetista compreender as propriedades 
conhecidas de suas partes constituintes.
Prof. Daniel Silos – daniel.moraes@ibmr.br 12
Estilos de arquitetura
Um estilo é uma transformação imposta ao 
projeto de um sistema inteiro.
Tem como objetivo estabelecer uma estrutura 
para todos os componentes do sistema.
No caso em que uma arquitetura existente 
deve sofrer um processo de reengenharia, a 
imposição de um estilo de arquitetura resultará 
em mudanças fundamentais na estrutura do 
software, incluindo uma nova atribuição da 
funcionalidade dos componentes.
Prof. Daniel Silos – daniel.moraes@ibmr.br 13
Arquitetura centralizada em dados
Prof. Daniel Silos – daniel.moraes@ibmr.br 14
Software 
cliente
Software 
cliente
Software 
cliente
Software 
cliente
Software 
cliente
Software 
cliente
Software 
cliente
Software 
cliente
Armazenamento de 
dados (repositório)
Arquitetura centralizada em dados
Prof. Daniel Silos – daniel.moraes@ibmr.br 15
Software 
cliente
Software 
cliente
Software 
cliente
Software 
cliente
Software 
cliente
Software 
cliente
Software 
cliente
Software 
cliente
Armazenamento de 
dados (repositório)
Integrabilidade
Componentes
clientes
Fluxo de dados - tubos e filtros –
(Pressman)
Prof. Daniel Silos – daniel.moraes@ibmr.br 16
Filtro Filtro
Filtro
Filtro
Filtro
Filtro
Filtro Filtro
Filtro
Filtro Filtro Filtro
Tubos
Arquitetura de programa 
principal/subprograma
Prof. Daniel Silos – daniel.moraes@ibmr.br 17
Programa 
principal
Subprograma 
controlador
Subprograma 
controlador
Subprograma 
controlador
Subprograma 
de aplicação
Subprograma 
de aplicação
Subprograma 
de aplicação
Subprograma 
de aplicação
Subprograma 
de aplicação
Subprograma 
de aplicação
Subprograma 
de aplicação
Arquitetura de chamadas a procedimentos 
remotos
Prof. Daniel Silos – daniel.moraes@ibmr.br 18
Programa 
principal
Subprograma 
controlador
Subprograma 
controlador
Subprograma 
controlador
Subprograma 
de aplicação
Subprograma 
de aplicação
Subprograma 
de aplicação
Subprograma 
de aplicação
Subprograma 
de aplicação
Subprograma 
de aplicação
Subprograma 
de aplicação
Componentes 
distribuídos em uma rede
Arquitetura em camadas
Prof. Daniel Silos – daniel.moraes@ibmr.br 19
Cada caso é um caso
Os padrões de arquitetura lidam com um 
problema específico de aplicação em um 
contexto específico e sob um conjunto de 
limitações e restrições. O padrão propõe uma 
solução de arquitetura capaz de servir como 
base para o projeto de arquitetura. 
O modelo de requisitos de uma aplicação de 
comércio eletrônico de uma loja de brinquedos 
pode ser o mesmo de uma loja de itens 
esportivos?
Prof. Daniel Silos – daniel.moraes@ibmr.br 20
Padrão de arquitetura
 Um padrão de arquitetura, assim como um estilo arquitetural, 
impõe uma transformação no projeto de arquitetura. Mas são 
diferentes. 
1. Escopo de um padrão é menos abrangente, focado em um aspecto da 
arquitetura.
2. Um padrão impõe uma regra sobre a arquitetura, descrevendo como 
o software vai tratar alguns aspectos de sua funcionalidade em 
termos de infraestrutura.
3. Os padrões de arquitetura tendem a tratar de questões 
comportamentais específicas no contexto da arquitetura (Ex: 
sincronismo e interrupções em aplicações em tempo real).
 Padrões podem ser usados com um estilo de arquitetura para 
dar forma à estrutura global de um sistema
Prof. Daniel Silos – daniel.moraes@ibmr.br 21
Padrões de arquitetura -
Duto e filtro (Sommerville)
Prof. Daniel Silos – daniel.moraes@ibmr.br 22
Padrões de arquitetura
Prof. Daniel Silos – daniel.moraes@ibmr.br 23
Exemplo da arquitetura duto e filtro:
Arquitetura em camadas
Prof. Daniel Silos – daniel.moraes@ibmr.br 24
Uma arquitetura genérica em camadas:
Prof. Daniel Silos – daniel.moraes@ibmr.br 25
A arquitetura do sistema iLearn:
Prof. Daniel Silos – daniel.moraes@ibmr.br 26
Padrão MVC
Prof. Daniel Silos – daniel.moraes@ibmr.br 27
Padrão MVC - A organização do MVC 
(Modelo-Visão-Controlador):
Prof. Daniel Silos – daniel.moraes@ibmr.br 28
Arquitetura de aplicação web usando o 
padrão MVC:
Prof. Daniel Silos – daniel.moraes@ibmr.br 29
Padrão repositório:
Prof. Daniel Silos – daniel.moraes@ibmr.br 30
Uma arquitetura de repositório para um IDE:
Prof. Daniel Silos – daniel.moraes@ibmr.br 31
O padrão cliente-servidor:
Prof. Daniel Silos – daniel.moraes@ibmr.br 32
Arquitetura cliente-servidor de uma 
biblioteca de mídias:
Prof. Daniel Silos – daniel.moraes@ibmr.br 33
Arquitetura de Aplicações
Prof. Daniel Silos – daniel.moraes@ibmr.br 34
 Um projetista de softwarepode usar modelos de
arquiteturas de aplicação de várias maneiras:
1. Como ponto de partida para o processo de projeto de
arquitetura.
2. Como um checklist do projeto (design).
3. Como uma maneira de organizar o trabalho do time
de desenvolvimento.
4. Como um meio de avaliar os componentes para
reuso.
5. Como um vocabulário para falar sobre aplicações.
Arquitetura de Aplicações - SPTs
Prof. Daniel Silos – daniel.moraes@ibmr.br 35
 Estrutura das aplicações de processamento de transações:
 Arquitetura de software de um sistema de caixa eletrônico:
Arquitetura de Aplicações - SI
Prof. Daniel Silos – daniel.moraes@ibmr.br 36
 Arquitetura de sistema de informação em camadas:
Arquitetura de Aplicações
Prof. Daniel Silos – daniel.moraes@ibmr.br 37
 Arquitetura do sistema Mentcare:
Sistemas de processamento de linguagem
Prof. Daniel Silos – daniel.moraes@ibmr.br 38
 Arquitetura de um sistema de processamento de
linguagem:
Sistemas de processamento de linguagem
Prof. Daniel Silos – daniel.moraes@ibmr.br 39
 Arquitetura de repositório para um sistema de
processamento de linguagem:
Sistemas de processamento de linguagem
Prof. Daniel Silos – daniel.moraes@ibmr.br 40
 Arquitetura de compilador duto e filtro:
Considerações sobre arquitetura
 Economia - O melhor software é organizado e 
depende da abstração para reduzir detalhes 
desnecessários.
Visibilidade - as decisões arquitetônicas e as 
razões para elas devem ser óbvias para os 
engenheiros de software que examinam o 
modelo posteriormente.
Prof. Daniel Silos – daniel.moraes@ibmr.br 41
Considerações sobre arquitetura
 Espaçamento - separação de interesses em 
um design sem a introdução de 
dependências ocultas.
 Simetria - a simetria arquitetônica implica 
que um sistema é consistente e equilibrado 
em seus atributos.
 Emergência - comportamento emergente e 
auto-organizado e controle.
Prof. Daniel Silos – daniel.moraes@ibmr.br 42
Exercícios
1. O padrão arquitetural MVC é baseado em 
que estilo de arquitetura?
2. Um padrão para um sistema transacional (ou 
sistema de processamento de transação) 
pode ser baseado em mais de um estilo de 
arquitetura? Dê exemplos.
Prof. Daniel Silos – daniel.moraes@ibmr.br 43
Exercícios
3. Para a próxima aula 
 Pesquise sobre algum padrão de arquitetura não 
visto neste material
 Tente encontrar um exemplo de aplicação (um 
projeto de um software que utilize este padrão).
 Tente identificar um estilo de arquitetura a qual 
o padrão se baseia.
 Tente identificar outro padrão que o exemplo do 
software possa utilizar.
Prof. Daniel Silos – daniel.moraes@ibmr.br 44
Objetivos de aprendizagem
1. Descrever os gêneros de arquitetura. 
2. Analisar os principais estilos de arquitetura. 
3. Analisar um padrão de arquitetura e classificar 
qual o seu tipo. 
Prof. Daniel Silos – daniel.moraes@ibmr.br 45
Próxima aula
Estudaremos na próxima aula:
3 - DECISÕES SOBRE ARQUITETURA
 Como as decisões sobre a arquitetura afetam o desenvolvimento de 
um sistema
 Questões a serem consideradas para escolha da arquitetura
PRESSMAN, R. Engenharia de Software. [Recurso eletrônico, Minha 
Biblioteca]. 8ª ed. BOOKMAN, 2016. Capítulo 13, item 13.5 e 13.11.
SOMMERVILLE, I. Engenharia de Software. [Recurso eletrônico, 
Biblioteca Virtual Universitária 3.0]. 9ª ed. SARAIVA, 2011. Capítulo 
11, item 11.1.
Prof. Daniel Silos – daniel.moraes@ibmr.br 46
Referências
 https://fotospublicas.com/conheca-os-principais-pontos-
turisticos-e-historicos-rio-de-janeiro/
 PRESSMAN, Roger. Engenharia de Software Cap. 13.
 SOMMERVILLE, Ian. Engenharia de Software Cap. 6
Prof. Daniel Silos – daniel.moraes@ibmr.br 47
https://fotospublicas.com/conheca-os-principais-pontos-turisticos-e-historicos-rio-de-janeiro/
Leitura complementar
 Uma Olhada Rápida nos estilos e padrões arquiteturais 
https://www.infoq.com/br/news/2009/02/Architectural-Styles-
Patterns/#:~:text=Dataflow%20Systems%20%2D%2D%20Batch%20sequential,Int
erpretadores%2C%20sistemas%20baseados%20em%20regras.
Prof. Daniel Silos – daniel.moraes@ibmr.br 48
https://www.infoq.com/br/news/2009/02/Architectural-Styles-Patterns/#:%7E:text=Dataflow%20Systems%20%2D%2D%20Batch%20sequential,Interpretadores%2C%20sistemas%20baseados%20em%20regras
	Arquitetura de Software�Aula 2
	Gêneros e estilos de arquitetura
	Visões da Arquitetura
	Gêneros de arquitetura
	Gêneros de arquitetura
	Gêneros de arquitetura
	Estilos de arquitetura
	Estilos de arquitetura
	Estilos de arquitetura
	Estilos de arquitetura
	Estilos de arquitetura
	Estilos de arquitetura
	Estilos de arquitetura
	Arquitetura centralizada em dados
	Arquitetura centralizada em dados
	Fluxo de dados - tubos e filtros – (Pressman)
	Arquitetura de programa principal/subprograma
	Arquitetura de chamadas a procedimentos remotos
	Arquitetura em camadas
	Cada caso é um caso
	Padrão de arquitetura
	Padrões de arquitetura - �Duto e filtro (Sommerville)
	Padrões de arquitetura
	Arquitetura em camadas
	Uma arquitetura genérica em camadas:
	A arquitetura do sistema iLearn:�
	Padrão MVC
	Padrão MVC - A organização do MVC (Modelo-Visão-Controlador):�
	Arquitetura de aplicação web usando o padrão MVC:��
	Padrão repositório:��
	Uma arquitetura de repositório para um IDE:���
	O padrão cliente-servidor:���
	Arquitetura cliente-servidor de uma biblioteca de mídias:����
	Arquitetura de Aplicações
	Arquitetura de Aplicações - SPTs
	Arquitetura de Aplicações - SI
	Arquitetura de Aplicações
	Sistemas de processamento de linguagem
	Sistemas de processamento de linguagem
	Sistemas de processamento de linguagem
	Considerações sobre arquitetura
	Considerações sobre arquitetura
	Exercícios
	Exercícios
	Objetivos de aprendizagem
	Próxima aula
	Referências
	Leitura complementar

Continue navegando