Você está na página 1de 36

Diagramas de Implementação

Foram usadas transparências de: José Correia (http://


paginas.ispgaya.pt/~jcorreia/)- Junho/06

Eng. de Software - Fabiana Costa Guedes 1


Diagramas de Implementação
■ Mostram aspectos de implementação
física:
○ Estrutura de Componentes;
○ Estrutura do sistema em tempo de
execução (run-time).
■ São expressos de duas formas:
○ Diagrama de Componentes;
○ Diagrama de Implantação.

Eng. de Software - Fabiana Costa Guedes 2


Diagramas de Implementação
■ Diagrama de Componentes:
○ Mostra a estrutura de componentes.
■ Diagrama de Implantação:
○ Mostra a estrutura de nós nos quais os
componentes são implantados.

Eng. de Software - Fabiana Costa Guedes 3


Diagramas de Implementação

Diagrama de Componentes

Eng. de Software - Fabiana Costa Guedes 4


Diagrama de Componentes
■ Especifica um conjunto de construções
que podem ser usadas para definir
sistemas de software.
■ É identificado como uma unidade modular
com interfaces bem definidas e
substituíveis dentro de seu ambiente.
■ A versão anterior da UML tratava o
diagrama de componentes como um
diagrama de classificadores e os artefatos
que eles implementavam.
Eng. de Software - Fabiana Costa Guedes 5
Diagrama de Componentes
■ Um diagrama de componentes representa o
tipo e não a instância.
■ Para mostrar instâncias de componentes,
utilize um diagrama de implantação.
■ O objetivo do diagrama de componentes é o
de mostrar caixas pretas.
■ As caixas pretas devem especificar quais
são suas interfaces, para que outros
componentes possam acessar seus serviços
sem que para isso precisem conhecer seu
conteúdo.
Eng. de Software - Fabiana Costa Guedes 6
Componente

■ Representa uma parte modular de


um sistema que encapsula seu
conteúdo.
■ Seu comportamento é definido em
termos de prover e requerer
interfaces.

Eng. de Software - Fabiana Costa Guedes 7


Componente

• Pode ser:
– Código fonte
– Um executável
– Uma biblioteca
– Uma tabela de uma base de dados
– Um ficheiro contendo código fonte ou
dados
– Um documento genérico
Eng. de Software - Fabiana Costa Guedes 8
Tipos de Componentes

• Componente de produto do trabalho


– Exemplos: arquivos com código fonte, arquivos
de dados, etc.
• Componentes de distribuição (deployment)
– Necessários e suficientes para executar um
sistema
– Exemplos: executáveis, bibliotecas, arquivos de
configuração, etc
• Componentes resultantes da execução
– Criados em consequência da execução de um
sistema
Eng. de Software - Fabiana Costa Guedes 9
Notação
■ É representado por um retângulo.
■ Pode ser adicionado um ícone com a
representação do componente da UML
1.4.
■ Associado ao componente são
conectados ícones para representação
de interfaces que são providas e/ou
requeridas pelo componente.
Eng. de Software - Fabiana Costa Guedes 10
Componente
■ Representa um módulo físico,
implementável e substituível que
corresponde à parte de um sistema.
■ Um componente:
○ Encapsula a implementação;
○ Exibe um conjunto de interfaces.
■ Princípio OO: Encapsulamento.
Componente de <<EXE>> <<DLL>>
Código Fonte Componente Componente de
Executável Código Binário

Eng. de Software - Fabiana Costa Guedes 11


Componente
■ Cada componente tem um nome.
■ Normalmente este nome denota o arquivo
físico correspondente no ambiente de
desenvolvimento.
■ Não devem existir ciclos em um conjunto
de dependências de compilação.
Comp1 Comp4

Comp2 Comp3

Eng. de Software - Fabiana Costa Guedes 12


Componente
■ Exemplos:

<<EXE>> <<DLL>>
Arquivo EXE Arqui vo DLL

<<ActiveX>> <<Applet>>
Componente Miniaplicativo
ActiveX

Eng. de Software - Fabiana Costa Guedes 13


Diagrama de Componentes
■ Modela os componentes do sistema e
dependências entre eles.
■ Elementos de modelagem:
○ componente
■ unidade de software usada para compor o
sistema;
○ interface
■ conjunto de operações suportado (realizado) por
um componente;
■ cada componente pode prover múltiplas
interfaces;
■ componentes podem utilizar (depender)
interfaces de outros componentes.
Eng. de Software - Fabiana Costa Guedes 14
Diagrama de Componentes
■ É um gráfico de componentes
conectados por relacionamentos de
dependência.
Curriculo.h Curriculo.cpp

Curso.h Curso.cpp

Eng. de Software - Fabiana Costa Guedes 15


Diagrama de Componentes
■ Pode ser usado para mostrar
dependências de compilação entre
programas.
MDIPrincipal.frm Fornecedores .frm

Projeto.vbp Produtos.frm

<<ActiveX>>
ListaDeProdutos.rpt MSFlexGrid.lib

Eng. de Software - Fabiana Costa Guedes 16


Diagrama de Componentes
■ Pode ser usado para mostrar
dependências de execução entre
programas.
<<EXE>> <<DLL>>
Controle Aluno
Acadêmico

<<DLL>>
Professor

<<DLL>>
Curso
BancoDeDados
Eng. de Software - Fabiana Costa Guedes 17
Diagrama de Componentes

Eng. de Software - Fabiana Costa Guedes 18


Exercício – Pousada – Crie um Diagrama
de Componentes para o Sistema
O gerente de uma pousada deseja um sistema para gerenciar as reservas.
Quando um cliente potencial deseja fazer uma reserva, o sistema verifica se
existem quartos disponíveis no período, e em caso positivo, o sistema solicitará os
dados do cliente (nome, endereço, telefone).
O sistema também deve armazenar sobre a reserva a data prevista para entrada,
data prevista para saída, valor do desconto concedido e o número dos quartos.
Cada quarto possui um preço e uma descrição. Não há frigobar. Nem serviços de
quarto.
As reservas são garantidas através do pagamento de uma diária.
Caso o cliente não efetue este pagamento até três dias antes da data prevista de
entrada, a reserva é cancelada pelo sistema. Um relatório de reservas canceladas é
gerado pelo sistema diariamente. Outros relatórios diários são o relatório de
reservas não pagas e o relatório sobre as reservas a serem efetivadas no dia.
O gerente também deseja que o sistema imprima um relatório de reservas dado um
determinado período.
Eng. de Software - Fabiana Costa Guedes 19
Exercício:
■ Biblioteca:
○ A atividade da biblioteca encontra-se principalmente no
empréstimo de publicações pelos alunos da universidade.
O aluguel é registrado pelos funcionários da biblioteca, que
também consultam diariamente os empréstimos cujos
prazos foram ultrapassados. Todo processo é efetuado
manualmente, sendo muito ineficiente. Espera-se que o
novo sistema resolva esta situação.
○ Os alunos necessitam pesquisar os livros existentes na
biblioteca. Caso um livro esteja emprestado é mostrada a
data esperada de entrega.
■ Crie o Diagrama de Componentes para o Sistema

Eng. de Software - Fabiana Costa Guedes 20


Diagramas de Implementação

Diagrama de Instalação
(Implantação)
Usadas transparências de: Elielder Berwanger –
Tecnologia em Sistemas para Internet: Análise e
Projeto Orientado a Objetos

Eng. de Software - Fabiana Costa Guedes 21


Diagrama de Implantação
■ Mostram:
○ A configuração de elementos de
processamento em tempo de execução.
○ Os componentes de software executados sobre
esses elementos.
■ É um gráfico de nós conectados por
associações de comunicação.
Nós

Nome 1 Nome 2

Eng. de Software - Fabiana Costa Guedes 22


Diagrama de Implantação
■ Descreve o arranjo de componentes
executáveis em nós de execução.
○ Permite avaliar conseqüências da distribuição e
alocação de recursos.
○ São apresentados em dois níveis:
■ Descritivo (geral);
■ De instância (específico).

■ Recurso computacional (tempo de execução)
○ Computadores, memória, dispositivos periféricos.

Eng. de Software - Fabiana Costa Guedes 23


Diagrama de Implantação
■ Nó:
○ Elemento físico que representa algum tipo de recurso
computacional:
■ Computadores com processadores;
■ Dispositivos (impressora, leitora de cartões).
■ Artefatos:
○ Representam elementos concretos no mundo físico
que são o resultado do processo de desenvolvimento
■ Conexões:
○ Representam uma comunicação entre nós.
○ O tipo de comunicação é representado por um
estereótipo que identifica o protocolo ou o tipo de
ligação existente entre nós.
Eng. de Software - Fabiana Costa Guedes 24
Diagrama de Implantação
■ Um nó pode conter instâncias de
componentes.
■ Isso indica que um componente é
executado dentro de um nó.
■ Componentes podem conter instâncias
de classes.
■ Componentes são conectados por
relacionamentos de dependência.
Eng. de Software - Fabiana Costa Guedes 25
Diagrama de Implantação

Servidor de Aplicações

Servidor de Banco de
Pedidos. Pedido. Dados
class java

Cliente.
Poduto.
java
java

Eng. de Software - Fabiana Costa Guedes 26


Diagrama de Implantação
Registro Dormitório

Professor.exe
<<TCP/IP>> Matricula.exe
<<TCP/IP>>
Servidor BD -
Risc 6000

<<TCP/IP>>
<<TCP/IP>>
Predio
Princ ipal Biblioteca

Matricula.exe Matricula.exe

Eng. de Software - Fabiana Costa Guedes 27


Diagrama de Implantação
Registro Dormitório

Professor.exe
Predio Matric ula .e xe Biblioteca
Principal
<<TCP/IP>> <<TCP/IP>>

Matricula.exe
Matricula.exe Servidor Aplicação <<TCP/IP>>
<<TCP/IP>> - HPUX

<<TCP/IP>>

Servidor BD -
Risc 6000

Eng. de Software - Fabiana Costa Guedes 28


Diagrama de Implantação
Servidor WWW

Impressora
Pe rsona l Web Server
Ap lica ti vo ASP

<<Intranet>>

<<Int ernet>>
<<Internet>>
Servidor de
bancos de dados
Cliente Cliente
WWW1 WWW2

Eng. de Software - Fabiana Costa Guedes 29


Diagrama de Implantação
comunicação

dependência nó

Eng. de Software - Fabiana Costa Guedes 30


Diagrama de Implantação

Eng. de Software - Fabiana Costa Guedes 31


Rótulos
■ Os rótulos dos nós ou os valores dos
artefatos podem indicar diversas
informações importantes a respeito do
nó, tais como:
○ fornecedor,
○ sistema operacional,
○ localização
○ ou qualquer coisa que você desejar.
Eng. de Software - Fabiana Costa Guedes 32
Exemplo – Sistema Embutido

– O diagrama a seguir mostra o hardware para um


robô autônomo simples. Existe um nó (pentium
motherboard) estereotipado como um
processador;
– Ao redor desse nó existem oito dispositivos, cada
um estereotipado como um dispositivo e
representado por um ícone que oferece uma clara
indicação visual ao seu equivalente do mundo
real;
Eng. de Software - Fabiana Costa Guedes 33
Exemplo – Sistema Embutido

Eng. de Software - Fabiana Costa Guedes 34


Exercício – Pousada – Crie um Diagrama
de Implantação para o Sistema
O gerente de uma pousada deseja um sistema para gerenciar as reservas.
Quando um cliente potencial deseja fazer uma reserva, o sistema verifica se
existem quartos disponíveis no período, e em caso positivo, o sistema solicitará os
dados do cliente (nome, endereço, telefone).
O sistema também deve armazenar sobre a reserva a data prevista para entrada,
data prevista para saída, valor do desconto concedido e o número dos quartos.
Cada quarto possui um preço e uma descrição. Não há frigobar. Nem serviços de
quarto.
As reservas são garantidas através do pagamento de uma diária.
Caso o cliente não efetue este pagamento até três dias antes da data prevista de
entrada, a reserva é cancelada pelo sistema. Um relatório de reservas canceladas é
gerado pelo sistema diariamente. Outros relatórios diários são o relatório de
reservas não pagas e o relatório sobre as reservas a serem efetivadas no dia.
O gerente também deseja que o sistema imprima um relatório de reservas dado um
determinado período.

Eng. de Software - Fabiana Costa Guedes 35


Exercício:
■ Biblioteca:
○ A atividade da biblioteca encontra-se principalmente no
empréstimo de publicações pelos alunos da universidade.
O aluguel é registrado pelos funcionários da biblioteca, que
também consultam diariamente os empréstimos cujos
prazos foram ultrapassados. Todo processo é efetuado
manualmente, sendo muito ineficiente. Espera-se que o
novo sistema resolva esta situação.
○ Os alunos necessitam pesquisar os livros existentes na
biblioteca. Caso um livro esteja emprestado é mostrada a
data esperada de entrega.
■ Crie o Diagrama de Implantação para o Sistema.

Eng. de Software - Fabiana Costa Guedes 36

Você também pode gostar