Buscar

[10] APS Diagrama de Componentes e Implantação

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

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

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ê viu 3, do total de 20 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

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

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ê viu 6, do total de 20 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

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

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ê viu 9, do total de 20 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

Prévia do material em texto

1
Prof. Rafael Targino
rtargino@unicarioca.edu.br
2
Conteúdo da Aula
• Introdução
• Diagrama de Pacotes
• Diagrama de Componentes
• Diagrama de Implantação
2
3
Introdução
• Questões relacionadas à arquitetura de um 
sistema:
– Como um sistema pode agrupar suas classes 
relacionadas, ou seja, aquelas que tem alguma 
semelhança entre si?
– Como um sistema é decomposto em subsistemas, e 
como as suas classes são dispostas pelos diversos 
subsistemas?
– Como os diversos componentes de um software 
podem ser representados inclusive com as relações 
entre eles?
– Como os componentes devem ser dispostos 
fisicamente quando o sistema tiver de ser 
implantado?
4
Conteúdo da Aula
• Introdução
• Diagrama de Pacotes
• Diagrama de Componentes
• Diagrama de Implantação
3
5
Diagrama de Pacotes
• É um mecanismo de agrupamento geral que serve para 
agrupar vários modelos
• Organiza elementos em grupo e costuma ser utilizado na 
modelagem de sistemas muito extensos.
• Pode conter qualquer diagrama da UML, inclusive outros 
pacotes. Mais comumente utilizado em diagrama de 
casos de uso e diagrama de classes.
6
Diagrama de Pacotes
• Na realidade, não existem propriamente diagramas 
de pacotes em UML; em vez disso, pacotes e 
relações entre pacotes aparecem em outros 
diagramas, de acordo com o tipo de pacote 
– Pacotes de classes (pacotes lógicos) - em diagramas 
de classes
– Pacotes de componentes – em diagramas de 
componentes
– Pacotes de nós – em diagramas de distribuição/ 
instalação
– Pacotes de casos de uso – em diagramas de casos de 
uso
4
Diagrama de Pacotes
• Uma vez que representa um agrupamento, um 
pacote é em geral “dono” de diversos elementos: 
classes, interfaces, componentes, nós, 
colaborações, casos de uso, diagramas, e até outros 
pacotes.
8
Diagrama de Pacotes
5
9
Diagrama de Pacotes
• Quando existe dependência entre pacotes ?
– Quando houver dependência entre quaisquer 
duas classes nos pacotes
• Técnica útil:
– Dentro do pacote dê uma visibilidade private para 
as classes, assim elas só podem ser vistas dentro 
do mesmo pacote. Acrescente então classes 
públicas extras ao seu pacote e exclusivas para o 
comportamento público fora do pacote. Elas são 
chamadas fachadas e são elas que delegam as 
operações as outra classes internas do pacote.
10
Diagrama de Pacotes
6
11
Diagrama de Pacotes
• Quando utilizar Diagramas de Pacotes ?
1. Considerados ferramentas vitais para projetos 
grandes;
2. Sempre use quando um diagrama de classe que 
compreenda todo o sistema não for mais legível 
numa única folha A4;
3. Úteis para testes
12
Diagrama de Subsistemas
• Um diagrama de subsistemas é um diagrama de 
pacotes, onde cada pacote representa um 
subsistema
• Contém visão gráfica dos diversos componentes de 
um Sistema de Software OO (SSOO) pode ser 
representada por um diagrama de subsistemas.
– Cada subsistema é rotulado com o estereótipo 
<<subsystem>>.
• Exemplo de susbsistema:
7
13
Alocação de classes a subsistemas
• Durante o desenvolvimento de um SSOO, seus 
subsistemas devem ser identificados, juntamente 
com as interfaces entre eles. 
• Cada classe do sistema é, então, alocada aos 
subsistemas. 
• Uma vez feito isso, esses subsistemas podem ser 
desenvolvidos quase que de forma independente 
uns dos outros.
• A seguir, são descritas algumas dicas que podem 
ser utilizadas para realizar a alocação de classes a 
subsistemas.
14
Alocação classes a subsistemas
• Subsistemas devem ser minimamente acoplados.
• Subsistemas devem ser maximamente coesivos.
• Dependências cíclicas entre subsistemas devem ser 
evitadas.
– A alternativa para eliminar ciclos é quebrar um subsistema 
pertencente ao ciclo em dois ou mais. Uma outra solução é 
combinar dois ou mais subsistemas do ciclo em um único.
• Uma classe deve ser definida em um único 
subsistema (embora possa ser utilizada em vários).
– O subsistema que define a classe deve mostrar todas as 
propriedades da mesma.
– Outros subsistemas que fazem referência a essa classe 
podem utilizar a notação simplificada da mesma.
8
15
Camadas de software
• Dizemos que dois subsistemas interagem quando 
um precisa dos serviços do outro.
• Há basicamente duas formas de interação entre 
subsistemas: 
– ponto a ponto: na arquitetura ponto a ponto, a 
comunicação pode acontecer em duas vias. 
– cliente-servidor: há a comunicação somente em uma via 
entre dois subsistemas, do cliente para o servidor. Nessa 
arquitetura, chamamos de camadas os subsistemas 
envolvidos. 
• Essas formas de interação entre subsistemas 
influenciam a o modo pelo qual os subsistemas são 
distribuídos fisicamente pelos nós de 
processamento. 
16
Camadas de software
• Arquiteturas cliente-servidor e ponto a ponto
9
17
Camadas de software
• Um SSOO projetado em camadas pode ter uma 
arquitetura aberta ou uma arquitetura fechada. 
– Em uma arquitetura fechada, um componente de uma 
camada de certo nível somente pode utilizar os serviços 
de componentes da sua própria camada ou da 
imediatamente inferior. 
– Em uma arquitetura aberta, uma camada em certo nível 
pode utilizar os serviços de qualquer camada inferior.
• Na maioria dos casos práticos, encontramos 
sistemas construídos através do uso de uma 
arquitetura aberta.
18
Camadas de software
• Arquiteturas fechada e abertas, respectivamente
10
19
Camadas de software
• Uma divisão tipicamente encontrada 
para as camadas lógicas de um SSOO é 
a que separa o sistema nas seguintes 
camadas: 
– apresentação, aplicação, domínio e 
serviços técnicos. 
• Da esquerda para a direita, temos 
camadas cada vez mais genéricas. 
• Também da esquerda para a direita, 
temos a ordem de dependência entre 
as camadas; 
– por exemplo a camada da apresentação 
depende (requisita serviços) da camada de 
aplicação, mas não o contrário. 
20
Camadas de software
• Princípio básico: camadas mais altas devem 
depender das camadas mais baixas, e não o 
contrário. 
– Essa disposição ajuda a gerenciar a complexidade através 
da divisão do sistema em partes menos complexas que o 
todo.
– Também incentiva o reuso, porque as camadas inferiores 
são projetadas para serem independentes das camadas 
superiores. 
– O acoplamento entre camadas é mantido no nível mínimo 
possível. 
– Uma mudança em uma camada mais baixa que não afete a 
sua interface não implicará em mudanças nas camadas 
mais altas.
– E vice-versa, uma mudança em uma camada mais alta que 
não implica na criação de um novo serviço em uma camada 
mais baixa não irá afetar estas últimas.
11
21
Conteúdo da Aula
• Introdução
• Diagrama de Pacotes
• Diagrama de Componentes
• Diagrama de Implantação
22
Componentes
• A UML define uma forma gráfica para representar 
componentes visualmente, o diagrama de 
componentes. 
• Esse diagrama mostra os vários componentes de 
software e suas dependências.
• Os elementos gráficos desse diagrama são 
ilustrados na figura abaixo.
12
23
Componentes
• Definem-se pelo menos três tipos distintos 
de componentes:
– Componentes de instalação: constituem a base 
dos sistemas executáveis (e.g., DLL, executáveis, 
controles Active-X, classes Java).
– Componentes de trabalho: a partir dos quais são 
criados os componentes de instalação (e.g., 
arquivos com código fonte, arquivos de dados, 
documentos).
– Componentes de execução: criados como 
resultado da execução de um sistema (e.g., 
processos, threads, agentes de software).
24
Diagrama de Componentes
• A UML identifica os seguintes estereótipos 
para componentes:
– «document»: denota um documento.
– «executable»:denota um programa que possa 
ser executado num nó.
– «file»: denota um documento contendo código 
fonte ou dados.
– «library»: denota uma biblioteca dinâmica ou 
estática.
– «table»: denota uma tabela de uma base de 
dados.
13
25
Exemplo – Diagrama de Componentes
• Diagrama de Componentes relativo a uma Página HTML.
• O diagrama de componentes correspondente a este “mini-
sistema” consiste nos seguintes arquivos:
– example1.html, Animator.class, e Animator.java.
– O componente Animator.class é a compilação do programa 
Animator.java, logo podemos dizer que ele depende de 
Animator.java. Por sua vez, o programa Animator.java lida 
com a interface java responsável pelo tratamento de eventos 
do mouse –
– MouseListener.java do pacote java.awt. Tanto Animator.java 
quanto Animator.class são necessário para que o página 
example1.html roda. Assim, temos uma relação de 
dependência explicitada como:
– example1.html { Animator.class, Animator.java }
– Animator.class { Animator.java}
– Animator.java {awt::MouseListener.java }
26
Exemplo – Diagrama de Componentes
14
27
Conteúdo da Aula
• Introdução
• Diagrama de Pacotes
• Diagrama de Componentes
• Diagrama de Implantação
28
Diagrama de Implantação
• Um diagrama de implantação consiste num 
conjunto de nós ligados por associações 
de comunicação. Os nós podem conter 
instâncias de componentes (de execução), o 
que significa que um componente é instalado 
e executado num nó. 
• Por outro lado, os componentes são 
compostos por objetos (note-se que um 
processo é apenas um caso particular de 
objeto: objeto ativo).
15
29
Arquitetura de Implantação
• A arquitetura de implantação diz respeito à 
disposição dos subsistemas de um SSOO 
pelos nós de processamento disponíveis. 
• Para sistemas simples, a arquitetura de 
implantação não tem tanta importância.
• No entanto, na modelagem de sistemas 
complexos, é fundamental conhecer quais 
são os componentes físicos do sistema, 
quais são as interdependências entre eles e 
de que forma as camadas lógicas do sistema 
são dispostas por esses componentes.
30
Diagrama de Implantação
• Uma vez definidas as alocações das camadas lógicas aos 
nós de processamento, podemos fazer a representação
gráfica com suporte da UML, através do diagrama de 
implantação.
• Os elementos desse diagrama são os nós e as conexões.
• Um nó representa um recurso computacional e
normalmente possui uma memória e alguma capacidade de
processamento.
– Exemplos: processadores, dispositivos, sensores, roteadores ou
qualquer objeto físico de importância para o sistema de software.
• Os nós são ligados uns aos outros através de conexões.
– As conexões representam mecanismos de comunicação: meios
físicos (cabo coaxial, fibra ótica etc.) ou protocolos de comunicação
(TCP/IP, HTTP etc.).
16
31
Diagrama de Implantação
• Exemplo de diagrama de implantação
32
Relações entre Nós e Componentes
• Um nó pode conter componentes. Tal fato 
pode ser traduzido pela inclusão dos 
componentes no símbolo do nó, ou pelo 
estabelecimento de uma relação de 
dependência, de estereótipo «support» entre 
o nó e os componentes suportados.
17
33
Alocação de Componentes
• A atividade de alocação de componentes aos 
nós físicos só tem sentido para sistemas 
distribuídos.
– Para sistemas que utilizam um único processador, não 
há necessidade desta atividade.
• Um dos principais objetivos: distribuir a carga 
de processamento do sistema para aumentar o 
desempenho.
– No entanto, nem sempre isso aumenta o 
desempenho.
– Isso porque a sobrecarga de comunicação entre os 
nós pode anular os ganhos obtidos com a distribuição 
do processamento.
34
Diversas notações para diagrama de 
implantação e diagrama de componentes
18
35
• Exemplo de diagrama de componentes 
embutido em um diagrama de 
implantação.
Relações entre Nós e Componentes
36
Exemplo – Diagrama de Implantação
• Desenvolva o diagrama de instalação 
correspondente a um sistema de trabalho 
doméstico constituído por um PC (onde é 
feito o processamento), com alguns 
equipamentos adicionais, como:
1. uma impressora, (device)
2. um monitor, (device)
3. colunas de som, (device)
4. e um modem. (device)
• O modem permite a ligação à Internet através de 
um determinado ISP (Internet Service Provider)
19
37
Exemplo – Diagrama de Implantação
38
Exemplo – Diagrama de Implantação
• Para ilustrar uma configuração particular do 
diagrama anterior ou ilustrar os componentes de 
software que deveriam existir numa determinada 
configuração vamos evoluir o diagrama anterior com 
os seguintes elementos de configuração a nível de 
instâncias.
1. uma impressora : (HP LJ1100)
2. um monitor, (device) : (ICL-5550)
3. colunas de som, (device)
4. e um modem. (device) : (Zoom 56k)
5. ISP : (Stelepac)
20
39
Exemplo – Diagrama de Implantação
40
Exercício - Elabore um Diagrama de Implantação 
utilizando também Pacotes e Componentes
• Todo sistema de controle de agendamento do Detran roda em um 
Servidor Aplicação que atende todas as funcionalidades que estão 
disponíveis aos cidadãos. Esse servidor persiste os dados no servidor 
central de banco de dados do Detran.
• No posto de vistoria, os vistoriadores usam um sistema que está 
apartado do sistema web. Esse sistema está dividido em dois 
subsistemas, o de vistoria de automóveis de passeios e o de vistoria 
de automóveis de transporte. Esses subsistemas utilizam o mesmo 
banco da dados central do Detran.
• Esses dois subsistemas utilizam um componente disponível pelo INEA 
no IP 192.168.10.1 que valida a leitura da emissão de gás carbônico 
e indica se o resultado da avaliação.
• Ao chegar no posto de vistoria o motorista precisa passar em uma 
cancela. Recentemente foi instalado um software que reconhece a 
placa do veículo e consultando os dados de agendamento de vistoria, 
libera a cancela automaticamente. Este software roda em uma 
máquina própria que atende todas as cancelas do posto de vistoria.

Outros materiais