UML NO PROJETO DE COMPONENTES

Propaganda
UML NO PROJETO DE COMPONENTES:
3a PARTE

COMPONENTE

DIAGRAMA DE COMPONENTES

DIAGRAMA DE PACKAGE
1
I. COMPONENTE
 Um componente é uma parte física de um sistema que
realiza um conjunto de interfaces.
Controlador
De Pedidos
Uma interface é uma coleção de operações utilizadas
para especificar um serviço de uma classe ou componente
Um componente é um elemento físico: vive no mundo dos
bits e não no mundo dos conceitos.
2
 Modelar componentes permite a visualização da
organização física do sistema. Auxilia também na
gerência de configuração, possibilitando por exemplo o
controle de versões.
 Muitas linguagens de programação oferecem suporte
para a criação de componentes. Por exemplo, em Java
podem ser criados componentes Java Beans. No
entanto, na UML podemos modelar através de
componentes não somente esses tipos de componentes,
mas também outros elementos que participam
do
sistema.
3
 No caso exemplo temos o componente PEDIDOS que
é um componente com estereótipo schema
representando exatamente um esquema no banco de
dados, contendo as tabelas cliente, pedido, item
pedido, fatura, item faturado e livro (essas tabelas
foram representadas no sistema como classes com
estereótipo de tabelas do Modelo Relacional)
<<Schema>>
PEDIDOS
4
 Temos também no caso exemplo o componente
Controlador de Pedidos que corresponde a um
arquivo .java
Controlador
De Pedidos
5
 Entre os componentes podemos encontrar tanto
arquivos com código-fonte quanto arquivos com
código executável. Considerando um sistema
desenvolvido em Java, tanto um arquivo .java como
um arquivo .class são considerados componentes.
Um arquivo com dados também é considerado um
componente.
6
Os componentes se assemelham a classes em muitos
aspectos mas devemos observar a seguinte diferença:
 As classes representam abstrações lógicas e os
componentes representam algo físico que reside em um
nó.
O nó na UML representa algum tipo de unidade
computacional.
 Um componente é uma implementação física de um
conjunto de elementos lógicos, como as classes.
7
Estereótipos
Executable
Library
Table
Document
file
8
II. DIAGRAMA DE COMPONENTES
 Um diagrama de componentes mostra os vários
componentes do sistema e suas dependências. A seguir
é apresentado o diagrama que implementa o caso de uso
Solicita Cancelamento de Fatura.
 Em nosso sistema exemplo, a implementação em Java
do caso de uso Solicita Cancelamento de Fatura foi
elaborada de forma que cada componente
correspondesse à implementação física de apenas uma
única classe. Cada componente é um arquivo .java.
9
Conexao
SolicitacaoDeCancelamentoJaEfetuadaException
FaturaNaoEncontradaException
ControladorDePedidos
obterFatura(numero : int) : Fatura_Proj
cadastrarSolCancFatura(umaFatura : Fatura_Proj) : String
$ conn : Connection=null
Fatura_Proj
numFatura : int
dataEmissao : Date
dataVencimento : Date
valorPago : double
dataPagamento : Date
dataPedidoCancelamento : Date
dataCancelamento : Date
status : String
numPedido : int
recuperarPelaPK(numFatura : int) : Fatura_Proj
solicitarCancelamento() : void
JanelaSolicitaCancelamentoFatura
exibir() : void
JanelaPrincipal
main(args : String[]) : void
10
Conexao
FaturaNao
EncontradaException
SolicitacaoDeCancelamento
JaEfetuadaException
Fatura_Proj
Controlador
DePedidos
JanelaSolicita
Cancelamento
Janela
Principal
11
Ao mostrar a dependência entre dois componentes
estamos dizendo que há um relacionamento entre esses
componentes e a alteração de um componente pode
afetar o outro.
O relacionamento de dependência, apresentado
através de uma seta tracejada, indica que um elemento
tem conhecimento de outro elemento. A dependência é um
relacionamento entre dois itens em que a alteração de um
item pode afetar a semântica do outro.
Num relacionamento de dependência a seta tracejada
aponta o item do qual o outro depende.
12
III. Formas de usar o Diagrama de Componentes:
1. Modelagem de código-fonte
13
2. Modelagem de versões executáveis
14
III. DIAGRAMA DE PACKAGE
Conforme os componentes crescem em número, é natural
reuni-los em grupos relacionados conceitualmente.
Utilizando as ferramentas de desenvolvimento é comum
colocarmos esses grupos de arquivos em diretórios
separados.
Na UML pode ser utilizado o conceito de package para
modelar esses grupos de arquivos.
15
O caso exemplo foi organizado nos seguintes
packages:
 package PInterfaces conterá os componentes
JanelaPrincipal e JanelaSolicitaCancelamento;
 package PControle conterá o componente
ControladorDePedidos;
 package PConexao conterá o componente Conexao;
 package PExcecao conterá os componentes
SolicitacaoDeCancelamentoJaEfetuadaException
e FaturaNaoEncontradaException.
16
 Pode ser elaborado um diagrama de package
mostrando a dependência entre esses packages.
PExcecao
PConexao
PPedido
PInterfaces
PControle
17
Exercicio
Desenvolva o projeto de Componentes para o
Sistema da PETROBRAS

18
UML NO PROJETO DE IMPLANTAÇÃO

DIAGRAMA DE IMPLANTAÇÃO

CONEXÃO ENTRE NÓS
19
I. DIAGRAMA DE IMPLANTAÇÃO
 Quando temos um sistema grande, que será instalado em
vários computadores pode ser interessante elaborar um
diagrama de implantação que apresente como os
componentes serão distribuídos por esses computadores.
 Diagramas de implantação são compostos por nós
20
 Cada nó representa
computacional.
algum
tipo
de
unidade
Serv idor de Banco
de Dados
 Nós podem agrupados em pacotes como as classes ou os
componentes
 Um nó pode classificado como:
- Processador: tem capacidade de processamento,
podendo executar um componente
- Dispositivo: não tem capacidade de processamento
21
II. CONEXÕES ENTRE NÓS
 A associação é o relacionamento mais comum entre
nós. Uma associação representa uma conexão física
entre os nós. As conexões entre nós mostram os
caminhos de comunicação através dos quais o sistema
irá interagir.
 Como a conexão é uma associação podem ser incluídas
as
multiplicidades.
Neste
caso
temos
um
relacionamento 1:1.
Serv idor de Banco
de Dados
TCP/IP
M aq. atendi mento de
pedidos
conexão
22
 No diagrama apresentado a seguir são apresentadas
as unidades computacionais de nosso sistema exemplo,
o sistema de controle de pedidos: um servidor de
banco de dados e um PC, conectados através de uma
rede TCP/IP.
S e r v id o r d e B a n c o
de D ados
TC P /I P
M a q . a te n d i m e n to d e
pedidos
O schema PEDIDOS ficará no servidor de Banco de Dados e os demais componentes no PC.
23
 Os componentes do sistema podem ser alocados a
cada nó.
 No diagrama apresentado como exemplo, por ser
simples, a descrição de como os componentes estão
alocados foi realizada através de um comentário: o
schema PEDIDOS ficaria no servidor de Banco de
Dados e os demais componentes ficariam no PC.
PEDIDOS é um componente com estereótipo schema
representando exatamente um esquema no banco de
dados, contendo as tabelas cliente, pedido, item
pedido, fatura, item faturado e livro.
 Outras características de cada nó podem também ser
descritas.
24
II. Onde usar?
- Modelagem de Sistemas Embutidos
25
II. Onde usar?
- Modelagem de Cliente Servidor
26
II. Onde usar?
- Modelagem de um sistema totalmente distribuído
27
Exercício
Desenvolva o projeto de Implantação para o sistema da
PETROBRAS
28
Download