Buscar

Implementação e Arquitetura de Software com UML

Prévia do material em texto

ANÁLISE ORIENTADA A OBJETOS E PROJETO ARQUITETURAL 1 
Aula 06: Implementação e Arquitetura do Software .................................................................... 2 
Introdução ............................................................................................................................. 2 
Conteúdo ................................................................................................................................ 3 
Diagramas de componentes ........................................................................................... 3 
Componentes ..................................................................................................................... 4 
Interfaces ............................................................................................................................. 5 
Componentes e interfaces ............................................................................................... 6 
Diagrama de implantação ................................................................................................ 9 
Nó ....................................................................................................................................... 10 
Caminhos de comunicação (conexões) ...................................................................... 11 
Exemplos de diagrama de implantação ...................................................................... 11 
Referências........................................................................................................................... 13 
Exercícios de fixação ......................................................................................................... 14 
Chaves de resposta ..................................................................................................................... 19 
 
 
 ANÁLISE ORIENTADA A OBJETOS E PROJETO ARQUITETURAL 2 
Introdução 
Nesta aula, trataremos da arquitetura física do software desenvolvida sob o 
paradigma da orientação a objetos, especificamente com auxilio da UML, 
denominada modelo de implementação, que, por sua vez, é decomposto em 
dois diagramas: componentes e implantação. 
 
O diagrama de implantação visa mostrar a arquitetura física dos nós (de 
processamento), onde o sistema será executado, e as conexões entre eles; ou 
seja, apresenta infraestrutura, servidores e demais dispositivos necessários ao 
funcionamento do sistema. 
 
O diagrama de componentes mostra a divisão do sistema em componentes de 
software e a relação entre eles. A junção dos dois diagramas, que é opcional, 
permite-nos saber o poder de processamento e capacidade de memória e 
discos dos nós envolvidos, na medida em que definimos componentes que 
rodarão em cada um. 
 
Objetivo: 
 
1. Discriminar o diagrama de componentes e seus elementos; 
 
 ANÁLISE ORIENTADA A OBJETOS E PROJETO ARQUITETURAL 3 
2. Discriminar o diagrama de implantação e seus elementos; 
 
3. Relacionar os diagramas de componentes e implantação; 
 
4. Aplicar, através de exemplos, a construção e integração entre os diagramas 
de componentes e implantação. 
Conteúdo 
Diagramas de componentes 
O que são e o que fazem? 
 
 Diagramas de componentes mostram os componentes de um sistema e 
suas dependências. 
 
 Diagramas de componentes são úteis para modelagem da arquitetura 
física de um software, apresentando os componentes físicos, suas 
interfaces e dependências. 
 
 Os diagramas de componentes permitem o desenvolvimento baseado em 
componentes, onde um software é dividido em componentes e interfaces 
reutilizáveis e substituíveis. 
 
Imagine um sistema de home theater composto por componentes que podem 
ser facilmente conectados uns aos outros e substituídos a qualquer momento: 
projetor, receiver, caixas de som (frontal, lateral, subwoofer). Se qualquer 
elemento queimar, poderemos substituí-lo por um igual ou equivalente (com as 
mesmas interfaces). 
 
A ideia do uso de componentes em software é a mesma: conjunto de 
componentes com interfaces bem definidas que podem ser integrados a 
qualquer sistema e substituído sempre que necessário. 
 
 
 ANÁLISE ORIENTADA A OBJETOS E PROJETO ARQUITETURAL 4 
Componentes 
A UML define componente como: 
 
“Um componente representa uma parte modular de um sistema que encapsula 
seu conteúdo e cuja manifestação é substituível dentro de um ambiente. Um 
componente define seu comportamento em termos de interfaces fornecidas e 
requeridas. Como tal, um componente serve como um tipo, cuja conformidade 
é definida por essas interfaces fornecidas e requeridas”. 
 
Um componente pode ser definido como uma caixa-preta onde são 
especificadas as suas interfaces para que outros componentes possam usar 
seus serviços sem conhecer detalhes de como esses serviços estão sendo 
implementados. Ou seja, o componente encapsula (protege) o seu conteúdo e 
seu comportamento é definido em função de prover e requerer serviços através 
de suas interfaces. 
 
 
Atenção 
 O desejo é que o componente possa ser independente e 
intercambiável. 
 
 ANÁLISE ORIENTADA A OBJETOS E PROJETO ARQUITETURAL 5 
 
Em um sistema baseado em componentes, cada componente 
tem uma finalidade, ou seja, presta um serviço e para tal 
demanda o uso de outros componentes. 
 
A imagem a seguir mostra a representação do componente na UML. O 
componente tem um nome: “Componente”. 
 
 
 
• A ideia é construir sistemas como um conjunto de componentes, que são 
partes substituíveis; deve-se poder reutilizá-los em muitos sistemas. 
• Os componentes devem ter interfaces que propiciem grande flexibilidade e 
adaptação em muitos sistemas. Componentes podem, inclusive, ser criados de 
outros componentes. Veja, a seguir, sobre interfaces. 
 
Interfaces 
Interfaces são elementos que definem um conjuntos de operações que outros 
elementos, como classes ou componentes, devem implementar. 
 
Em diagramas de componentes, existem dois tipos de interfaces: 
 
Interfaces fornecidas: descrevem os serviços oferecidos a outros 
componentes. Um componente pode declarar quantas interfaces fornecidas 
forem necessárias. O símbolo de uma interface fornecida é o círculo 
apresentado à esquerda do componente, conforme imagem a seguir. 
 
 
 ANÁLISE ORIENTADA A OBJETOS E PROJETO ARQUITETURAL 6 
Interfaces requeridas: são as interfaces usadas pelo componente quando ele 
solicita serviços de outros componentes. Um componente pode ter várias 
interfaces requeridas. O símbolo da interface requerida é um semicírculo 
apresentado à direita do componente, conforme imagem a seguir. 
 
 
 
Atenção 
 Um mesmo componente pode tanto fornecer como requerer 
interfaces. O relacionamento entre os componentes e as 
interfaces é a essência dos sistemas. 
 
Componentes e interfaces 
O usuário do serviço de um componente deve conhecer bem a sintaxe das 
interfaces do componente. Analogamente ao exemplo dado inicialmente, as 
interface são as conexões possíveis entre o receiver do home theater e os 
dispositivos (projetor, caixas, DVD, TV etc.). 
 
Para usarmos um DVD precisamos saber as possíveis conexões (HDMI, DVI 
etc.). Para usar um componente precisamos saber as possíveis interfaces. 
 
Existem duas maneiras de representar o relacionamento entre componentes e 
interface, conforme as duas imagens a seguir. 
 
Na representação abaixo, o componente que usa a interface se conecta ao 
outro componente por meio do relacionamento de dependência. 
 
 
 
 ANÁLISE ORIENTADA A OBJETOS E PROJETO ARQUITETURAL 7 
 
O componente que fornece a interface é conectadoa ela pelo relacionamento 
de realização (entre o componente fornecedor e a interface). O componente 
que usa a interface (componente usuário) é a ela conectado pelo 
relacionamento de dependência (entre o componente usuário e a interface). O 
relacionamento de dependência determina que um componente pode usar os 
serviços ou depender de outro elemento do sistema. 
 
 
 
Na imagem a seguir, temos o exemplo do componente Login Usuário, onde 
<<build Component>> é um estereótipo. Esse componente tem: 
 
• Duas interfaces providas, ou seja, serviços prestados ao usuário (validar 
usuário e validar senha); 
• Uma interface requerida, ou seja, serviço que precisa usar (conexão). 
 
 
Abaixo, tem-se um exemplo de diagrama de componentes necessários ao 
serviço de caixa eletrônico (agências bancárias e “banco 24 h”). 
 
 
 ANÁLISE ORIENTADA A OBJETOS E PROJETO ARQUITETURAL 8 
 
 
Gerenciador de Caixa Eletrônico: gerencia o uso e aguarda pelos eventos 
dos correntistas, ao interagir com o caixa eletrônico. 
 
Criptografia: criptografa os dados de forma que trafeguem em segurança até 
os servidores da empresa. 
 
Controlador Caixa Eletrônico: age como interface entre o caixa eletrônico e 
as camadas da aplicação, residentes nos servidores, que darão a reposta a cada 
solicitação do cliente. 
 
Firewall: filtra os acessos verificando se a chamada ao Gerenciador de Contas 
é confiável e ocorre de acordo com os parâmetros de comunicação da empresa. 
 
Gerenciador de Contas: gerencia acessos aos dados da conta e sua 
movimentação solicitando a descriptografia dos dados e identificando o que o 
cliente solicitou no caixa eletrônico. 
 
Descriptografia: responsável por descriptografar dados criptografados na 
origem deixando-os no estado original. 
 
 ANÁLISE ORIENTADA A OBJETOS E PROJETO ARQUITETURAL 9 
SGBD: faz o acesso à base de dados, conforme solicitação do cliente. 
 
Repare que a solução da tela anterior permite flexibilidade em futuras 
mudanças. 
 
• Se alterarmos a técnica de criptografia ou desejarmos ampliar as 
possiblidades com novas técnicas, basta substituir ou adicionar novos 
componentes de criptografia e descriptografia; 
 
• Se quisermos trocar o software de firewall, basta substituirmos o respectivo 
componente; 
 
• Se mudarmos de banco de dados, basta substituirmos o componente 
responsável pelo acesso aos dados. 
 
Diagrama de implantação 
Mostra o layout físico de um sistema, revelando quais partes do software são 
executadas em quais partes do hardware (FOWLER). Enfoca a estrutura física 
sobre a qual o software vai executar. Define como as máquinas estarão 
conectadas e através de quais protocolos se comunicarão. 
 
 Seus elementos são os nós e as conexões entre eles. 
 
 Conexões representam um caminho de comunicação entre os nós, assim 
como as associações possuem nome e multiplicidade. 
 
 Um diagrama de implantação mostra o local onde os componentes e 
artefatos são utilizados no sistema em funcionamento. 
 
 
 ANÁLISE ORIENTADA A OBJETOS E PROJETO ARQUITETURAL 10 
Nó 
Um nó, em um diagrama de implantação, representa um recurso computacional 
de um sistema, como servidores, impressoras, terminais remotos, 
computadores pessoais, dentre outros. Em geral, o nó é identificado por um 
nome que o descreve, conforme imagem a seguir. 
 
 
 
Podemos representar em diagramas de implantação a existência de 
componentes dentro de um nó, conforme exemplo abaixo. 
 
 
 
Nesse caso, representamos a relação de dependência entre os componentes. 
 
 
 
 
Atenção 
 A possibilidade de representar os componentes que vão executar 
em um nó é positiva, no sentido de possibilidade de definição da 
configuração do nó, tanto em termos de capacidade de 
 
 ANÁLISE ORIENTADA A OBJETOS E PROJETO ARQUITETURAL 11 
processamento como de memória principal e memória 
secundária (discos). 
 
Caminhos de comunicação (conexões) 
Os nós em um diagrama de implantação são conectados por caminhos de 
comunicação, que é um relacionamento de associação no qual podem constar 
multiplicidade, papel e nome do relacionamento (em geral, pelo tipo de 
protocolo de comunicação). Nesse caso, a associação representa uma conexão 
física entre os nós. 
 
Abaixo, um exemplo de dois nós representando um sistema cliente-servidor, 
onde o caminho de comunicação é o protocolo TCP/IP através da internet. 
 
 
 
Exemplos de diagrama de implantação 
A imagem a seguir apresenta um diagrama de implantação com seus 
elementos básicos: 
 
• Nós: Tablet do Vendedor, CPU do Vendedor, CPU do Gerente, Servidor de 
Aplicações, Servidor de BD e Impressora; 
• Caminhos de comunicação: TCP/IP e Porta USB conectam CPU do 
Vendedor e Impressora. 
 
 ANÁLISE ORIENTADA A OBJETOS E PROJETO ARQUITETURAL 12 
 
 
Abaixo, temos exemplo do diagrama de implantação para o sistema de caixa 
eletrônico, o mesmo que elaboramos para o diagrama de componentes (nesta 
aula, em seção anterior). 
 
 
 
O refinamento do diagrama mostra os componentes que vão executar em cada 
um dos nós. Repare que conhecer os componentes que cada nó precisará 
executar permite compreender a capacidade de cada um, tanto em termos de 
processamento (processador), memória (RAM), disco e outras configurações. 
 
 ANÁLISE ORIENTADA A OBJETOS E PROJETO ARQUITETURAL 13 
 
 
 
 
Atenção 
 Por fim, cabe ressaltar que o diagrama de implantação deve 
fazer parte dos manuais para instalação e operacionalização dos 
sistemas (BEZERRA, 2015). 
 
Referências 
BOOCH, G; RUMBAUGH, J; JACOBSON, I. UML: guia do usuário. 2. ed. Rio de 
Janeiro: Campus, 2006. 
BEZERRA, E. Princípios de análise e projeto de sistemas com UML. 3. ed. 
Elsevier, 2015. 
LARMAN, C. Utilizando UML e padrões: uma introdução à análise e projeto 
orientados a objetos e ao desenvolvimento iterativo. 3. ed. Bookman, 2007. 
 
 
 ANÁLISE ORIENTADA A OBJETOS E PROJETO ARQUITETURAL 14 
Exercícios de fixação 
Questão 1 
No que se refere ao diagrama de componentes, assinale a alternativa errada. 
a) Mostra os componentes e sua localização física em termos de nós e onde 
se encontram 
b) Mostra os componentes do sistema 
c) Mostra as relações entre eles 
d) Apresenta as interfaces requeridas 
e) Apresenta as interfaces fornecidas 
 
Questão 2 
No que se refere ao diagrama de componentes e seus elementos, assinale a 
alternativa correta. 
I. Uma interface fornecida apresenta os detalhes para que um componente 
possa usar o serviço fornecido por outro. 
II. Um componente é um elemento modular e substituível. 
III. Um componente só pode ter uma interface oferecida. 
Com base em sua análise, assinale a única alternativa correta. 
a) Estão corretas apenas II e III 
b) Está correta apenas II 
c) Estão corretas I, II e III 
d) Estão corretas apenas I e II 
e) Estão corretas apenas I e III 
 
 
 
 ANÁLISE ORIENTADA A OBJETOS E PROJETO ARQUITETURAL 15 
Questão 3 
Assinale a alternativa que apresenta o correto elemento associado ao seguinte 
conceito: “representa uma parte modular de um sistema que encapsula seu 
conteúdo e cuja manifestação é substituível dentro de um ambiente”. 
a) Objeto 
b) Interface requerida 
c) Classe 
d) Componente 
e) Software 
 
Questão 4 
Sobre o diagrama de componentes, analise as assertivas. 
I. O diagrama de componentes deve ser usado em integração com o diagrama 
de casos de uso na modelagem do domínio do problema. 
II. O usuário do serviço de um componente deve conhecer bem a sintaxe de 
suas interfaces. 
III.Os componentes podem relacionar-se por relacionamentos de dependência. 
Com base em sua análise, assinale a alternativa correta. 
a) Está correta apenas I 
b) Estão corretas I, II e III 
c) Estão corretas apenas I e II 
d) Estão corretas apenas II e III 
e) Estão corretas apenas I e III 
 
 
 
 ANÁLISE ORIENTADA A OBJETOS E PROJETO ARQUITETURAL 16 
Questão 5 
Analise as duas assertivas a seguir e a relação entre elas. 
I. O diagrama de componentes possui ao menos uma interface fornecida. 
... porque... 
II. Um componente deve manter-se independente e isolado dos demais. 
Com base em sua análise, assinale a resposta correta quanto à assertividade de 
cada uma e sobre a relação entre elas. 
a) As duas assertivas estão corretas, e a segunda justifica a primeira. 
b) As duas assertivas estão corretas, e a segunda não justifica a primeira. 
c) As duas assertivas estão erradas. 
d) A assertiva I está correta, e a assertiva II está errada. 
e) A assertiva I está errada, e a assertiva II está correta. 
 
Questão 6 
Assinale a alternativa que completa a seguinte afirmativa: “Segundo Fowler, o 
diagrama de _____________ mostra o layout físico de um sistema, revelando 
quais partes do software são executadas em quais partes do hardware”. 
a) Componentes 
b) Atividade 
c) Pacote 
d) Sequência 
e) Implantação 
 
 
 
 ANÁLISE ORIENTADA A OBJETOS E PROJETO ARQUITETURAL 17 
Questão 7 
No que se refere ao diagrama de implantação, analise as assertivas. 
I. Nós e caminhos de conexão são dois dos elementos do diagrama. 
II. Os nós podem ser servidores, estações, impressoras, máquinas leitoras de 
digitais. 
III. Os caminhos de comunicação sempre serão o protocolo TCP/IP, já que o 
caminho sempre será sob a internet. 
a) Estão corretas apenas II e III 
b) Estão todas corretas 
c) Está correta apenas III 
d) Estão corretas apenas I e II 
e) Estão corretas I e III 
 
Questão 8 
Sobre os diagramas de implantação da UML (unified modeling language), úteis, 
especialmente, na fase de projeto de software, é incorreto afirmar: 
a) É direcionado para a distribuição, entrega e instalação das partes que 
formam o sistema físico. 
b) É um conjunto de nós conectados, no qual um nó é única e 
exclusivamente uma estação ou servidor. 
c) Envolvem a topologia do sistema, descrevendo a estrutura do hardware. 
d) Pode ser integrado ao diagrama de componentes, mostrando que 
componentes executam em que nó. 
 
 
 
 ANÁLISE ORIENTADA A OBJETOS E PROJETO ARQUITETURAL 18 
Questão 9 
A UML é uma linguagem que possibilita a modelagem nas diversas fases de um 
processo de desenvolvimento de software. Na fase de projeto, definidos a 
arquitetura e componentes do software, ganham destaque os diagramas de 
componentes e de implantação. Com base nesses dois diagramas, analise as 
assertivas a seguir. 
I. O diagrama de implantação modela os aspectos físicos do sistema, 
mostrando a organização do hardware. 
II. O diagrama de componentes mostra as dependências entre os elementos do 
hardware que sustentarão o software. 
III. O ideal é que um componente desenvolvido possa ser usado em vários 
sistemas. 
Assinale a única opção correta, com base em sua análise das assertivas. 
a) Apenas as assertivas I e III estão corretas 
b) Apenas a assertiva III está correta 
c) Apenas a assertiva I está correta 
d) Apenas as assertivas I e II estão corretas 
e) Apenas as assertivas II e III estão corretas 
 
Questão 10 
Um diagrama de implantação define aspectos físicos do sistema, onde cada nó 
representa um dispositivo físico com memória ou capacidade de 
processamento. Já o diagrama de componentes apresenta módulos de software 
(arquivos .dll, .exe, .com, .bat, .htm e outros executáveis) necessários para 
executar a aplicação. Com base nesse contexto apresentado, responda: 
a) É possível integrar esses dois diagramas mostrando para cada nó os 
componentes que nele executariam? 
 
 ANÁLISE ORIENTADA A OBJETOS E PROJETO ARQUITETURAL 19 
b) Caso a resposta seja sim, explique a vantagem em integrarmos os dois 
diagramas dessa forma? 
 
Questão 1 - A 
Justificativa: O diagrama que mostra a localização física é o diagrama de 
implantação. O diagrama de componentes mostra os componentes, o 
relacionamento entre eles e suas interfaces. 
 
Questão 2 - B 
Justificativa: I – falsa, pois uma interface fornecida descreve os serviços 
oferecidos a outros componentes; 
II – verdade; 
III – falso, pois um componente pode ter tantas interfaces quantas forem 
necessárias. 
 
Questão 3 - D 
Justificativa: Esse é o conceito de componente, a ideia de sistemas baseados 
em componentes e integração entre eles através de interfaces bem definidas. 
 
Questão 4 - D 
Justificativa: I – falso, pois diagramas de componentes descrevem a arquitetura 
do software e suas partes, que são os componentes; 
II – verdade; e 
 III – verdade. 
 
Questão 5 - D 
Justificativa: I – verdade; 
II – falsa, pois um componente deve integrar-se aos demais, sendo usuário do 
serviço de outros e/ou oferendo serviço aos outros. 
 
 ANÁLISE ORIENTADA A OBJETOS E PROJETO ARQUITETURAL 20 
 
Questão 6 - E 
Justificativa: É o diagrama de implantação que mostra o layout físico do 
ambiente onde o sistema vai executar. 
 
Questão 7 - D 
Justificativa: I – verdade; 
II – verdade; 
III – falsa, pois nem todo caminho de comunicação será sob o protocolo 
TCP/IP, e nem todo caminho será sob a internet. Por exemplo, entre um 
computador e uma impressora poderá ser o caminho “Porta USB”. 
 
Questão 8 - B 
Justificativa: Muitos outros elementos podem ser nó, cujo conceito é um 
recurso computacional de um sistema. 
 
Questão 9 - A 
Justificativa: I – verdade; 
II – falsa, pois o diagrama de componentes mostra apenas dependência de 
software; 
III – verdade, pois essa é a essência de um componente. 
 
Questão 10 - A 
Justificativa: 1. Sim, é possível. 
2. Seria útil para conhecermos as demandas de processamento do software que 
rodarão em cada nó e, assim, definirmos a capacidade de processamento, 
memória e disco de cada nó.

Continue navegando