1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

28
1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE

Transcript of 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

Page 1: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

1

UML NO PROJETO DE COMPONENTES:3a PARTE

COMPONENTE

DIAGRAMA DE COMPONENTES

DIAGRAMA DE PACKAGE

Page 2: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

2

Um componente é uma parte f ísica de um sistema querealiza um conjunto de interf aces.

Uma interface é uma coleção de operações utilizadaspara especificar um serviço de uma classe ou componente

Um componente é um elemento f ísico: vive no mundo dosbits e não no mundo dos conceitos.

ControladorDe Pedidos

I . COMPONENTE

Page 3: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

3

Modelar componentes permite a visualização da

organização f ísica do sistema. Auxilia também na gerência de confi guraçã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 J ava podem ser criados componentes J ava 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.

Page 4: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

4

No caso exemplo temos o componente PEDI DOS queé um componente com estereótipo schemarepresentando exatamente um esquema no banco dedados, contendo as tabelas cliente, pedido, itempedido, f atura, item faturado e livro (essas tabelasforam representadas no sistema como classes comestereótipo de tabelas do Modelo Relacional)

PEDIDOS

<<Schema>>

Page 5: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

5

Temos também no caso exemplo o componenteControlador de Pedidos que corresponde a umarquivo .java

Controlador

De Pedidos

Page 6: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

6

Entre os componentes podemos encontrar tantoarquivos com código-fonte quanto arquivos comcódigo executável. Considerando um sistemadesenvolvido em J ava, tanto um arquivo .java comoum arquivo .class são considerados componentes.Um arquivo com dados também é considerado umcomponente.

Page 7: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

7

Os componentes se assemelham a classes em muitosaspectos mas devemos observar a seguinte dif erença:

As classes representam abstrações lógicas e oscomponentes representam algo f ísico que reside em umnó.

O nó na UML representa algum tipo de unidadecomputacional.

Um componente é uma implementação f ísica de umconjunto de elementos lógicos, como as classes.

Page 8: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

8

Estereótipos

ExecutableLibraryTableDocumentfile

Page 9: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

9

Em nosso sistema exemplo, a implementação em J ava do caso de uso Solicita Cancelamento de Fatura f oi elaborada de f orma que cada componente correspondesse à implementação f ísica de apenas uma única classe. Cada componente é um arquivo .java.

Um diagrama de componentes mostra os várioscomponentes do sistema e suas dependências. A seguiré apresentado o diagrama que implementa o caso de usoSolicita Cancelamento de Fatura.

I I . DI AGRAMA DE COMPONENTES

Page 10: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

10

JanelaPrincipal

main(args : String[]) : void

JanelaSolicitaCancelamentoFatura

exibir() : void

FaturaNaoEncontradaException

ControladorDePedidos

obterFatura(numero : int) : Fatura_ProjcadastrarSolCancFatura(umaFatura : Fatura_Proj) : String

SolicitacaoDeCancelamentoJaEfetuadaException

Fatura_Proj

numFatura : intdataEmissao : DatedataVencimento : DatevalorPago : doubledataPagamento : Date

dataPedidoCancelamento : DatedataCancelamento : Datestatus : StringnumPedido : int

recuperarPelaPK(numFatura : int) : Fatura_ProjsolicitarCancelamento() : void

Conexao

$ conn : Connection=null

Page 11: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

11

J anelaPrincipal

Fatura_Proj

ControladorDePedidos J anelaSolicita

Cancelamento

FaturaNaoEncontradaException

SolicitacaoDeCancelamentoJ aEf etuadaException

Conexao

Page 12: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

12

Ao mostrar a dependência entre dois componentesestamos dizendo que há um relacionamento entre essescomponentes e a alteração de um componente podeaf etar o outro.

O relacionamento de dependência, apresentadoatravés de uma seta tracejada, indica que um elementotem conhecimento de outro elemento. A dependência é umrelacionamento entre dois itens em que a alteração de umitem pode afetar a semântica do outro.

Num relacionamento de dependência a seta tracejadaaponta o item do qual o outro depende.

Page 13: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

13

1. Modelagem de código-f onte

I I I . Formas de usar o Diagrama de Componentes:

Page 14: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

14

2. Modelagem de versões executáveis

Page 15: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

15

Conforme os componentes crescem em número, é naturalreuni-los em grupos relacionados conceitualmente.

Utilizando as f erramentas de desenvolvimento é comumcolocarmos esses grupos de arquivos em diretóriosseparados.

Na UML pode ser utilizado o conceito de package paramodelar esses grupos de arquivos.

I I I . DI AGRAMA DE PACKAGE

Page 16: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

16

O caso exemplo f oi organizado nos seguintespackages:

package PI nterf aces conterá os componentesJ anelaPrincipal e J anelaSolicitaCancelamento;

package PControle conterá o componenteControladorDePedidos;

package PConexao conterá o componente Conexao; package PExcecao conterá os componentes

SolicitacaoDeCancelamentoJ aEfetuadaExceptione FaturaNaoEncontradaException.

Page 17: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

17

PPedido

PControle

PI nterf aces

PConexao

PExcecao

Pode ser elaborado um diagrama de packagemostrando a dependência entre esses packages.

Page 18: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

18

Exercicio

Desenvolva o projeto de Componentes para o Sistema da PETROBRAS

Page 19: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

19

UML NO PROJETO DE IMPLANTAÇÃO

DIAGRAMA DE IMPLANTAÇÃO

CONEXÃO ENTRE NÓS

Page 20: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

20

Quando temos um sistema grande, que será instalado emvários computadores pode ser interessante elaborar umdiagrama de implantação que apresente como oscomponentes serão distribuídos por esses computadores.

Diagramas de implantação são compostos por nós

I . DI AGRAMA DE I MPLANTAÇÃO

Page 21: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

21

Cada nó representa algum tipo de unidade computacional.

Nós podem agrupados em pacotes como as classes ou os componentes

Um nó pode classifi cado como:

- Processador: tem capacidade de processamento, podendo executar um componente

- Dispositivo: não tem capacidade de processamento

Serv idor de Banco de Dados

Page 22: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

22

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.

Maq. atendimento de pedidos

Serv idor de Banco de Dados

TCP/IP

I I . CONEXÕES ENTRE NÓS

conexão

Page 23: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

23

O schema PEDI DOS ficará no servidor de Banco de Dados e os demais componentes no PC.

Maq. atendimento de pedidos

Serv idor de Banco de Dados

TCP/IP

No diagrama apresentado a seguir são apresentadasas unidades computacionais de nosso sistema exemplo,o sistema de controle de pedidos: um servidor debanco de dados e um PC, conectados através de umarede TCP/ I P.

Page 24: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

24

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 PEDI DOS fi caria no servidor de Banco de Dados e os demais componentes ficariam no PC. PEDI DOS é um componente com estereótipo schema representando exatamente um esquema no banco de dados, contendo as tabelas cliente, pedido, item pedido, f atura, item faturado e livro.

Outras características de cada nó podem também ser descritas.

Page 25: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

25

I I . Onde usar?

- Modelagem de Sistemas Embutidos

Page 26: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

26

I I . Onde usar?

- Modelagem de Cliente Servidor

Page 27: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

27

I I . Onde usar?

- Modelagem de um sistema totalmente distribuído

Page 28: 1 UML NO PROJETO DE COMPONENTES: 3 a PARTE COMPONENTE DIAGRAMA DE COMPONENTES DIAGRAMA DE PACKAGE.

28

Exercício

Desenvolva o projeto de Implantação para o sistema da PETROBRAS