A maior rede de estudos do Brasil

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

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

4, esta apresenta os diagramas comumente utili-
zados para representar a estrutura das arquiteturas lógica e física. Desse modo, temos:
a) Diagrama de Pacotes;
b) Diagrama de Componentes;
c) Diagrama de Implantação.
O diagrama de pacotes é um esquema lógico interessante para a representação do 
software. Esse diagrama auxilia na compreensão das partes lógicas do software, inclusi-
ve suas dependências (FOWLER, 2005). Um diagrama de pacotes oferece uma maneira 
de agrupamento de elementos, podendo ser casos de uso, classes, outros pacotes etc. 
(LARMAN, 2007).
A arquitetura lógica é uma organização em larga escala das classes em pacotes, sub-
sistemas e camadas, podendo ser ilustrada por meio do diagrama de pacotes (LARMAN, 
2007). Na arquitetura lógica, os subsistemas podem ser representados como pacotes, 
sendo assim, é possível entender que um pacote representa logicamente um subsistema 
(BEZERRA, 2015).
14
15
Importante!
Uma camada é um agrupamento de granularidade muito grossa de classes, pacotes ou 
subsistemas que tem responsabilidade coesiva sobre um tópico importante do sistema 
(LARMAN, 2007, p. 221).
A Figura 5 exibe um exemplo de uma arquitetura lógica em camadas representada 
por meio do diagrama de pacotes. Observe que são apresentadas três camadas lógicas 
e as dependências existentes entre elas.
Impostos
Swing Web
UI
Domínio
Vendas Pagamentos
Serviços Técnicos
Persistência Registro MotorDeRegras
Não são as
bibliotecas Swing
de Java, mas nossas
classes de IGU baseadas
em Swing.
Figura 5 – Camadas mostradas com notação de diagrama de pacotes UML
Fonte: Adaptado de LARMAN, 2007, p. 221
Ainda sobre a Figura 5, cabe destacar que a notação visual de pacote definida pela UML 
é usada para representar camadas, subsistemas, pacotes, entre outros elementos. Embora 
a notação visual UML seja a mesma para subsistemas e camadas, cada elemento tem sua 
aplicabilidade. Enquanto um subsistema agrupa classes, a camada agrupa subsistemas.
Importante!
 Um pacote UML é um conceito mais geral do que simplesmente um pacote Java ou es-
paço de nomes .NET, assim um pacote UML pode representar esses e – muitos outros 
(LARMAN, 2007, p. 223).
Para maiores detalhes sobre arquitetura lógica e diagrama de pacotes UML, você pode ex-
plorar o capítulo 13 do livro “Utilizando UML e padrões: uma introdução à análise e ao 
projeto orientados a objetos e ao desenvolvimento iterativo”, de Craig Larman.
Disponível em: https://bit.ly/2LACmMt
Dando sequência aos diagramas UML, o próximo a ser apresentado é o diagrama 
de componentes.
15
UNIDADE Projeto de Arquitetura de Software 
Na arquitetura física, os subsistemas podem ser representados como componentes, 
sendo assim, é possível entender que um componente representa fisicamente um subsis-
tema (BEZERRA, 2015).
Um componente representa uma parte modular de um sistema que en-
capsula seu conteúdo e cuja manifestação é substituível dentro de seu 
ambiente. Um componente define seu comportamento em termos de in-
terfaces fornecidas e requeridas. Como tal, um componente serve como 
um tipo, cuja conformidade é definida por essas interfaces fornecidas e 
requeridas. (OMG, 2003b apud LARMAN, 2007, p. 618)
Os componentes UML retratam visualmente uma perspectiva de projeto, não existin-
do de forma concreta no software, porém são mapeados para elementos físicos concre-
tos, geralmente arquivos, como .jar, .war e .exe (LARMAN, 2007).
A Figura 6 mostra exemplos de componentes representados com notações UML. 
Vale lembrar que em Unidade anterior já se apresentou outro exemplo de diagrama de 
componentes (vide Figura 7 da unidade de título “Projeto Orientado a Objetos a Diagra-
mas Arquiteturais UML”).
SQL
JMS
<<componente>>
BD
<<sistema>>
ProxGer
ServiçoDe
Mensagem
notação
alternativa para
um componente
notação alternativa
para indicar o uso ou a
solicitação de uma interface
Figura 6 – Componentes UML
Fonte: Adaptado de LARMAN, 2007, p. 619
Por fim, o diagrama de implantação exibe a alocação de artefatos concretos, como arquivos 
executáveis, aos nós de processamento, representando assim a implantação dos elementos 
de software à arquitetura física como também a comunicação entre esses elementos físicos, 
comumente distribuídos em uma rede (LARMAN, 2007). Em poucas palavras, o diagrama 
de implantação mostra o esquema (layout) físico do software (FOWLER, 2005).
Esse diagrama tem dois elementos fundamentais: os nós de processamento, que re-
presentam os recursos computacionais, e suas conexões, que representam os meca-
nismos de comunicação (BEZERRA, 2015). A Figura 7 mostra um exemplo de um 
diagrama de implantação.
: Impressora
cliente :
Browser
Serviço da
Apliação
Banco de Dados
Corporativo
<<HTTP>> <<ODBC>>
<<LAN>>
Figura 7 – Exemplo de diagrama de implantação
Fonte: Adaptado de BEZERRA, 2015, p. 359
16
17
Ainda sobre a Figura 7, os componentes poderiam ser representados dentro de seus 
respectivos nós de processamento. Segundo Bezerra (2015), esse diagrama apresenta 
um mapeamento entre os componentes de software e a infraestrutura (hardware) dispo-
nível para implantação do sistema de software.
Para maiores detalhes sobre diagramas UML de Implantação e de Componentes, você pode 
explorar o capítulo 37 do livro “Utilizando UML e padrões: uma introdução à análise e 
ao projeto orientados a objetos e ao desenvolvimento iterativo”, de Craig Larman.
Disponível em: https://bit.ly/2OoXWob
Para maiores detalhes sobre arquitetura lógica e arquitetura física, você pode explorar o 
capítulo 11 do livro “Princípios de análise e projeto de sistemas com UML”, de Eduardo 
Bezerra, disponível em: https://bit.ly/3p5dvhl
Vale destacar que os diagramas apresentados nesta seção costumam ser utilizados para 
representar arquiteturas de software, porém, eles não são exclusivos para tal finalidade. 
Vale recordar que uma arquitetura de software pode ser representada a partir de relações 
entre as visões do modelo 4+1 e os diagramas UML (vide Tabela 1 da unidade de título 
“Projeto Orientado a Objetos a Diagramas Arquiteturais UML”). No âmbito desta seção, o 
diagrama de pacotes retrataria a visão lógica e de desenvolvimento; o diagrama de com-
ponentes representaria a visão de desenvolvimento; por fim, o diagrama de implantação 
reproduziria a visão física. 
Uma especificação detalhada sobre UML , disponível em: https://bit.ly/3cXpKdC
Projeto Arquitetural
Como visto em Unidade anterior, o propósito do projeto (design) de software é apli-
car um conjunto de princípios, conceitos e práticas que possibilitem o desenvolvimento 
de sistemas de software de qualidade. 
O processo de projeto (design) de software e seu conjunto de atividades visa construir 
um modelo de projeto de software que implemente de forma correta todos os requisitos 
de negócio e garanta satisfação para a comunidade usuária. Diante disso, os arquitetos de 
software devem examinar de maneira completa diversas alternativas de projeto, visando 
transformá-las em uma solução que melhor atenda às necessidades dos stakeholders do 
projeto em questão (PRESSMAN; MAXIM, 2016).
O processo de projeto, também abordado anteriormente, começa a partir de 
uma visão macro do software, que vai se deslocando para uma visão mais específica 
(abordagem top-down), descrevendo os detalhes para implementar o sistema de software. 
Esse processo inicia com foco na arquitetura, definindo subsistemas e suas formas de 
comunicação, identificando componentes e os descrevendo de modo detalhado. O 
modelo de projeto contempla quatro elementos diferentes que evoluem ao longo do 
17
UNIDADE Projeto de Arquitetura de Software 
desenvolvimento, permitindo uma visão mais completa e consistente do projeto a ser 
desenvolvido. Esses quatro elementos são:
• O elemento arquitetural: esse elemento tem como base as informações extraí-
das do domínio de negócio e de catálogos disponíveis para estilos e padrões de 
arquitetura, visando produzir uma representação estrutural completa do software,