Buscar

ARQUITETURA DE SOFTWARE - AULA04

Prévia do material em texto

Arquitetura de Software
Aula 4
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
Questão – Adaptação do ENADE 2014 
(questão 18)
O sistemas nos anos 70 eram executados em mainframes, escritos em 
linguagem estruturada e com todas as funcionalidades em um único 
componente. A quantidade de linhas de códigos era muito grande e 
regras de negócio e tratamento de telas para terminais “burros” 
ficavam no mesmo programa. Os terminais “burros” foram sendo
substituídos por microcomputadores, permitindo que todo tratamento 
da interface e de algumas regras de negócio, passassem a ser feitas na 
estações clientes. Surgiram as aplicações cliente-servidor. A partir dos 
anos 90, até a atualidade, as mudanças se tornaram mais radicais. Os 
bancos de dados passassem a ser relacionais e distribuídos. As 
linguagens orientadas a objetos, cuja modelagem encapsula dados e 
oferece funcionalidades através de métodos, tornaram-se o padrão. A 
interface passou a ser web, principalmente. Vive-se a era das 
aplicações em três camadas. 
Prof. Daniel Silos – daniel.moraes@ibmr.br 2
Questão – Adaptação do ENADE 2014 
(questão 18)
Considerando a evolução da arquitetura de software de sistemas 
de informação, conforme citado no texto acima, avalie as 
seguintes afirmações.
I. A separação dos sistemas em três camadas lógicas torna os 
sistemas mais complexos, requerendo pessoal mais 
especializado. 
II. A separação dos sistemas em três camadas lógicas, torna os 
sistemas mais flexíveis, permitindo que as partes possam ser 
alteradas de forma independente. 
III. A separação dos sistemas em três camadas lógicas, 
aumentou o acoplamento, dificultando a manutenção.
Prof. Daniel Silos – daniel.moraes@ibmr.br 3
Questão – Adaptação do ENADE 2014 
(questão 18)
É corretor o que se afirma em:
a) II, apenas.
b) III, apenas.
c) I e II, apenas.
d) I e III, apenas.
e) I, II e III.
Prof. Daniel Silos – daniel.moraes@ibmr.br 4
Brainstorm – Quais estilos e/ou padrões 
estruturais identificamos nas imagens a 
seguir?
Abrir apresentação...
Prof. Daniel Silos – daniel.moraes@ibmr.br 5
4 – PROJETO DE ARQUITETURA
Representação do sistema no contexto
Definição de Arquétipos
Objetivos de Aprendizagem
1. Representar um sistema através do diagrama de 
contexto arquitetural.
2. Definir arquétipos.
Prof. Daniel Silos – daniel.moraes@ibmr.br 6
PROJETO DE ARQUITETURA
Prof. Daniel Silos – daniel.moraes@ibmr.br 7
 Representação do sistema no contexto
O software deve ser colocado no contexto 
O design deve definir as entidades externas (outros 
sistemas, dispositivos, pessoas) com as quais o 
software interage e a natureza da interação 
Representação do Sistema no Contexto
Diagrama de contexto de arquitetura
Prof. Daniel Silos – daniel.moraes@ibmr.br 8
Sistema-alvo
Sistemas superiores
Usa
Usado por
Atores
Usa
Usado porUsado por
Usa
Pares
Depende de
Sistemas Subordinados
Fonte: Adaptado de PRESSMAN
Diagrama de contexto de arquitetura
Exemplo
Prof. Daniel Silos – daniel.moraes@ibmr.br 9Fonte: Adaptado de PRESSMAN
Produto 
CasaSegura
Painel de 
controle
Proprietário
Função de 
Vigilância
Sistema-alvo
Função de segurança
Sistema Web
Sensores Sensores
Usa
Usa
Pares
Usa
Então...
O primeiro passo do projeto de arquitetura de 
um software deve partir para o contexto.
Qual o passo seguinte?
De acordo com PRESSMAN, a definição de arquétipos.
Prof. Daniel Silos – daniel.moraes@ibmr.br 10
Arquétipos
 Um conjunto de arquétipos arquitetônicos deve ser 
identificado 
 Um arquétipo é uma abstração (semelhante a uma classe) que 
representa um elemento do comportamento do sistema 
 O designer especifica a estrutura do sistema definindo e refinando 
os componentes de software que implementam cada arquétipo.
 Blocos básicos abstratos de um projeto de arquitetura.
 Em muitos casos podem ser derivados das classes de análise 
(modelo de requisitos).
Prof. Daniel Silos – daniel.moraes@ibmr.br 11
Arquétipos
Prof. Daniel Silos – daniel.moraes@ibmr.br 12
Relacionamentos em UML para os arquétipos da função de segurança do 
CasaSegura. 
Fonte: Adaptação de PRESSMAN
Arquétipos  Sugestões de arquétipos do 
CasaSegura:
Nó
Representa um conjunto 
coeso de elementos de 
entrada e saída da função de 
segurança domiciliar. Ex: Um 
nó poderia ser composto de 
vários sensores e uma 
variedade de indicadores de 
alarme (saída).
Detector
Abstração que engloba todos 
os equipamentos de 
sensoriamento que 
alimentam o sistema-alvo 
com informações.
Prof. Daniel Silos – daniel.moraes@ibmr.br 13
Fonte: Adaptação de PRESSMAN
 Sugestões de arquétipos 
do CasaSegura:
Indicador
 Abstração que representa 
todos os mecanismos (por 
exemplo: sirene de 
alarme, luzes 
intermitentes, 
campainha) para indicar 
uma ocorrência de 
condição de alarme.
Controlador
 Abstração que representa 
o mecanismo que permite 
armar ou desarmar um 
nó. Se os controladores 
residem em uma rede, 
eles têm a capacidade de 
se comunicar entre si.
Prof. Daniel Silos – daniel.moraes@ibmr.br 14
Arquétipos
Fonte: Adaptação de PRESSMAN
Passo 3 – Refinamento em 
componentes
 Como componentes são escolhidos?
 Classes conceituais de modelo de análise (modelo de 
requisitos)
Domínio da infraestrutura
Componentes de infraestrutura que permitem 
componentes de aplicações
Componentes de gerenciamento de memória
Componentes de comunicação
Componentes de banco de dados
Componentes de gerenciamento de tarefas
Prof. Daniel Silos – daniel.moraes@ibmr.br 15
Passo 3 – Refinamento em 
componentes
Componentes do CasaSegura:
 Gerenciamento da comunicação externa
 Processamento de painel de controle
 Gerenciamento de detectores
 Processamento de alarme
Tais componentes são de alto nível e precisam 
ser elaborados de forma iterativa e então 
posicionados na arquitetura global do software.
 Para cada um deles serão elaboradas classes de projeto (com 
atributos e operações apropriados).
Prof. Daniel Silos – daniel.moraes@ibmr.br 16
Componentes - CasaSegura
Prof. Daniel Silos – daniel.moraes@ibmr.br 17
Fonte: Adaptação de PRESSMAN
Descrição das instâncias do 
sistema
Mais um nível de refinamento
Definição de uma instância “real” da arquitetura
A arquitetura é aplicada a um problema específico com o 
objetivo de demonstrar que a estrutura dos 
componentes estão corretas.
 Exemplo CasaSegura – Sistema de segurança
Componentes em mais detalhes
Prof. Daniel Silos – daniel.moraes@ibmr.br 18
Componentes - CasaSegura
Prof. Daniel Silos – daniel.moraes@ibmr.br 19
Fonte: Adaptação de PRESSMAN
Modelo C4 de Documentação para 
Arquitetura de Software
 A criação de diagramas de software foi reduzida como 
resultado da mudança para o uso das metodologias ágeis. 
Quando diagramas são criados, eles geralmente são confusos 
e pouco claros.
 O modelo C4 consiste em um conjunto hierárquico de 
diagramas de arquitetura de software para contexto, 
containers, componentes e código.
 A hierarquia dos diagramas C4 fornece diferentes níveis de 
abstração, cada um dos quais é relevante para um público 
diferente.
 Evite a ambiguidade em seus diagramas incluindo uma 
quantidade suficiente de texto, bem como uma chave/legenda 
para a notação utilizada.
Prof. Daniel Silos – daniel.moraes@ibmr.br 20
Diagrama de contexto de arquitetura
Modelo C4
Prof. Daniel Silos – daniel.moraes@ibmr.br 21Fonte: Adaptado de JUNIOR
Exercício
1. Vamos pensar em um software de Internet 
Banking e vamos criar um diagrama de 
contexto arquitetural.
i. Quem usa um Internet Banking?
ii. Onde estão / quem lida com os dados de 
clientes, contas, transações?
iii. Como poderíamos enviar e-mails com 
informações para os clientes do banco?
Prof. Daniel Silos – daniel.moraes@ibmr.br 22
Exercício
1. Vamos criar um diagrama de contexto com 
as informações colhidas utilizando a 
ferramenta online
Draw.io - https://app.diagrams.net/Prof. Daniel Silos – daniel.moraes@ibmr.br 23
https://app.diagrams.net/
Objetivos de Aprendizagem
1. Representar um sistema através do diagrama de 
contexto arquitetural.
2. Definir arquétipos.
Prof. Daniel Silos – daniel.moraes@ibmr.br 24
Próxima aula
Estudaremos na próxima aula:
5 - PROJETO DE ARQUITETURA PARA APLICAÇÕES WEB E 
APLICATIVOS MÓVEIS
 PRESSMAN, R. Engenharia de Software. [Recurso eletrônico, 
Minha Biblioteca]. 8ª ed. BOOKMAN, 2016. Capítulo 13, item 
13.6.5 a 13.6.6.
 SOMMERVILLE, Ian. Engenharia de Software Cap. 7, item 
7.1
Prof. Daniel Silos – daniel.moraes@ibmr.br 25
Referências
 PRESSMAN, Roger. Engenharia de Software Cap. 13, itens 
13.6.1 a 13.6.4.
 JUNIOR, Elemar. Vídeo sobre o que é Arquitetura de 
Software? | Fundamentos de Arquitetura de Software | Parte 
01. 
https://www.youtube.com/watch?v=jUH5lKfpWE0&t=6s&ab_
channel=EximiaCo. Acessado em 12/09/2020.
 BROWN, Simon. O modelo C4 de documentação para 
Arquitetura de Software. 
https://www.infoq.com/br/articles/C4-architecture-model. 
Acessado em 12/09/2020.
Prof. Daniel Silos – daniel.moraes@ibmr.br 26
https://www.youtube.com/watch?v=jUH5lKfpWE0&t=6s&ab_channel=EximiaCo
https://www.infoq.com/br/articles/C4-architecture-model
Conteúdo recomendado
 Leitura:
 Modelo C4 - https://www.eximiaco.tech/pt/2019/08/12/o-que-e-
e-para-que-serve-o-c4-model/
 https://www.infoq.com/br/articles/C4-architecture-model/
 Vídeos:
 O que é arquitetura de Software? Fundamentos de Arquitetura de 
Software | Parte 1 -
https://www.youtube.com/watch?v=jUH5lKfpWE0&ab_channel=Ex
imiaCo
 Visualising software architecture with the C4 model - Simon Brown, 
Agile on the Beach 2019 - https://www.youtube.com/watch?v=x2-
rSnhpw0g&ab_channel=AgileontheBeach
Prof. Daniel Silos – daniel.moraes@ibmr.br 27
https://www.eximiaco.tech/pt/2019/08/12/o-que-e-e-para-que-serve-o-c4-model/
https://www.infoq.com/br/articles/C4-architecture-model/
https://www.youtube.com/watch?v=jUH5lKfpWE0&ab_channel=EximiaCo
https://www.youtube.com/watch?v=x2-rSnhpw0g&ab_channel=AgileontheBeach
	Arquitetura de Software�Aula 4
	Questão – Adaptação do ENADE 2014 (questão 18)
	Questão – Adaptação do ENADE 2014 (questão 18)
	Questão – Adaptação do ENADE 2014 (questão 18)
	Brainstorm – Quais estilos e/ou padrões estruturais identificamos nas imagens a seguir?
	4 – PROJETO DE ARQUITETURA
	PROJETO DE ARQUITETURA
	Representação do Sistema no Contexto�Diagrama de contexto de arquitetura
	Diagrama de contexto de arquitetura�Exemplo
	Então...
	Arquétipos
	Arquétipos
	Arquétipos
	Arquétipos
	Passo 3 – Refinamento em componentes
	Passo 3 – Refinamento em componentes
	Componentes - CasaSegura
	Descrição das instâncias do sistema
	Componentes - CasaSegura
	Modelo C4 de Documentação para Arquitetura de Software
	Diagrama de contexto de arquitetura�Modelo C4
	Exercício
	Exercício
	Objetivos de Aprendizagem
	Próxima aula
	Referências
	Conteúdo recomendado

Continue navegando