A maior rede de estudos do Brasil

Grátis
26 pág.
Unidade 5 Projeto de Arquitetura de Software

Pré-visualização | Página 2 de 5

de atributos 
de qualidade, podendo destacar a norma ISO/IEC 9126 e o modelo FURPS.
A norma ISO/IEC 9126 enfatiza a qualidade do produto de software, propondo atributos de 
qualidade com o intuito de padronizar a avaliação da qualidade de software. Para maiores 
detalhes, você pode explorar essa norma a partir do link: https://bit.ly/3a4bqy5
O modelo FURPS é um acrónimo que representa um modelo para classificação de atributos 
de qualidade de software. Para maiores detalhes, você pode explorar esse modelo a partir 
do link: https://bit.ly/3aUSuRI
Uma vez abordados os atributos de qualidade, as seções 2, 3 e 4 descrevem compo-
nentes, conectores e configurações arquiteturais, respectivamente.
Componentes Arquiteturais
Os componentes arquiteturais são módulos que compõem o software e que podem 
ser substituídos. Além disso, eles devem encapsular a implementação, revelando apenas 
as interfaces de comunicação. Na perspectiva de arquitetura de software, os compo-
nentes são elementos funcionais que possuem o papel de ajudar a atingir os objetivos 
e os requisitos do sistema a ser construído, sendo capazes de se comunicar com outros 
componentes e entidades que podem existir dentro ou fora das fronteiras do sistema de 
software (PRESSMAN; MAXIM, 2016). 
A Figura 1 ilustra exemplos de componentes arquiteturais e as camadas de software 
onde eles podem ser alocados, tomando como base o padrão arquitetural em camadas.
10
11
<<component>>
InterfaceDeUsuario
<<component>>
Controller
<<component>>
Model
<<component>>
Persistencia Infraestrutura
Domínio
Aplicação
Apresentação
Componentes
Figura 1 – Exemplos de componentes arquiteturais
Ainda sobre a Figura 1, a responsabilidade de cada um dos componentes exemplifi-
cados é:
• InterfaceDeUsuario: a responsabilidade deste componente é apresentar uma in-
terface amigável para o usuário final, desse modo, este componente é alocado na 
camada de apresentação;
• Controller: a responsabilidade deste componente é ter os objetos controladores do 
sistema que, por sua vez, realizam a mediação entre a entrada das requisições e a exe-
cução da lógica de negócio, sendo assim, é um componente da camada de aplicação;
• Model: a responsabilidade deste componente é conter os objetos modelos do sis-
tema com suas respectivas regras de negócio, desse modo, é um componente da 
camada de domínio;
• Persistencia: a responsabilidade deste componente é realizar a persistência dos da-
dos do sistema, fazendo a comunicação com o sistema operacional e/ou um banco 
de dados externo, sendo assim, é um componente da camada de infraestrutura.
Conectores Arquiteturais
O s conectores arquiteturais são elementos, vistos também como componentes mais 
simples, que realizam a comunicação entre os componentes por meio de interfaces 
estabelecidas, possibilitando assim que esses componentes realizem as interações devi-
damente (BASS; CLEMENTS; KAZMAN, 2003).
Como e xemplos de conectores podem ser listados: chamadas de métodos (Call/
Return), Remote Name System (RMI), Remote Procedure Call (RPC), Hyper-Text 
Transfer Protocol (HTTP), Open Database Connectivity (ODBC), entre outros.
11
UNIDADE Projeto de Arquitetura de Software 
A Figura 2 mostra exemplos de conectores arquiteturais sendo endereçados em suas 
respectivas camadas de software, tendo como base o padrão de arquitetura em camadas.
<<connector>>
HTTP
<<connector>>
Call-Return
<<connector>>
Call-Return
<<connector>>
ODBC Infraestrutura
Domínio
Aplicação
Apresentação
Conectores
Figura 2 – Exemplos de conectores arquiteturais
Ainda com base na Figura 2, o conector HTTP pode ser utilizado para a comuni-
cação entre a interface gráfica de usuário (camada de apresentação) com o restante da 
aplicação. Já o conector ODBC é utilizado para se comunicar com o banco de dados, 
desse modo, se encontra na camada de infraestrutura.
Configurações Arquiteturais
A atividade de projeto de arquitetura produz o artefato de arquitetura de sistema (vide 
Figura 4 da unidade de título “Contexto e Visões de Arquitetura”) cuja intenção é repre-
sentar a estrutura global do software em um alto nível de abstração, expondo assim os 
componentes identificados, inclusive seus relacionamentos e a maneira como eles são dis-
tribuídos. Com base nisso, é importante expressar a arquitetura de software em uma con-
figuração arquitetural formada basicamente por componentes e conectores arquiteturais.
As configurações arquiteturais representam um conjunto de componentes e conecto-
res inter-relacionados. A Figura 3 apresenta um exemplo de uma configuração arquitetu-
ral ilustrando componentes e conectores arquiteturais, seguindo um estilo de arquitetura 
em camadas, especificamente quatro camadas. Dessa maneira, cada componente e 
cada conector é alocado em uma determinada camada.
12
13
<<connector>>
HTTP
<<connector>>
Call-Return
<<connector>>
Call-Return
<<connector>>
ODBC Infraestrutura
Domínio
Aplicação
Apresentação
Conectores
<<component>>
InterfaceDeUsuario
<<component>>
Controller
<<component>>
Model
<<component>>
Persistencia
Domínio
Componentes
Banco 
de dados
Figura 3 – Exemplo de uma confi guração arquitetural
Ainda sobre a Figura 3, é importante ressaltar que pode haver mais de um compo-
nente e/ou conector por camada de software.
Em síntese
Enquanto os componentes arquiteturais a tendem aos requisitos funcionais exigidos 
para o software, o s conectores arquiteturais contemplam os requisitos não funcionais 
(atributos de qualidade), assim como as restrições requeridas para o software. Ambos 
formam a configuração arquitetural do sistema de software a ser desenvolvido.
A UML, abordada em Unidade anterior, é uma linguagem que também permite mo-
delar representações (visões) arquiteturais de software. A próxima seção elenca alguns 
diagramas UML que podem ser adotados para representar visualmente elementos arqui-
teturais de software.
Representação da Arquitetura 
de Software com Notações UML
A Unidade anterior apresentou que a arquitetura de um sistema de informação pode 
ser estabelecida em dois níveis de arquitetura: arquitetura lógica e arquitetura física. 
Esses níveis arquiteturais estão relacionados à decomposição do sistema de software 
no contexto arquitetural. A arquitetura lógica estabelece como o software deve ser de-
composto pelos diversos subsistemas e como suas classes são organizadas nesses diver-
sos subsistemas identificados, já a arquitetura física define como os subsistemas devem 
13
UNIDADE Projeto de Arquitetura de Software 
ser organizados fisicamente em nós de processamento quando esse produto de software 
for implantado (BEZERRA, 2015).
Tanto a arquitetura lógica quanto a física podem ser representadas visualmente com 
notações UML. Sob o aspecto estático e estrutural, a arquitetura lógica pode ser retra-
tada por meio do diagrama de classes e do diagrama de pacotes. Já a arquitetura física 
pode ser representada através dos diagramas de implementação, ou seja, diagrama de 
componentes e de implantação.
A UML possui dois grupos de diagramas, sendo um para representar os elementos 
estáticos e estruturais e outro para representar os elementos dinâmicos e comportamen-
tais do software. A Figura 4 exibe os diagramas definidos pela UML. Observe que os 
diagramas mencionados anteriormente são diagramas estruturais.
Introduzido pela UML 2.0
Introduzido pela UML 2.0
Introduzido pela UML 2.0
Diagramas da
UML
Diagramas 
Estruturais
Diagramas 
Comportamentais
Diagrama
de Objetos Diagrama de
Classes
Diagramas de
Casos de UsoDiagrama de
Pacotes
Diagrama de
Atividades
Diagramas de
Interação
Diagrama de
Transições de EstadosDiagrama de
Estrutura Composta
Diagrama de
Componentes
Diagrama de
Implantação
Diagramas de
Implementação
Diagrama de
Sequência Diagrama de
Temporização
Diagrama de
Colaboração
Diagramas de Visão
Geral da Interação
Figura 4 – Diagramas definidos pela UML
Fonte: Adaptado de BEZERRA, 2015, p. 18
Dentre os diagramas listados na Figura