Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados....

44
Projetar Arquitetura parte 2 - Cápsulas

Transcript of Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados....

Page 1: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar Arquiteturaparte 2 - Cápsulas

Page 2: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 2

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Passos para Projetar Arquitetura

1. Mapear classes de análise em elementos (classes, cápsulas e subsistemas) de projeto

2. Identificar oportunidades de reuso3. Definir a estrutura da aplicação

Page 3: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 3

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Passo 1: Mapear classes de análise em elementos (classes, cápsulas e

subsistemas) de projeto

Identificar classes de projetoIdentificar cápsulasIdentificar protocolos das cápsulasIdentificar subsistemasEspecificar a interface dos subsistemasFazer o mapeamento1 classe de análise pode dar origem a 0 ou mais classes de projeto

Mapeamento m : n

Page 4: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 4

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Classes AtivasMotivação Facilitar a introdução de conceitos de

concorrência no projeto• Abordagens já existentes: ROOM, UML-RT, EDOC

Abstrair a implementação da comunicação• Troca de mensagens X chamada de

procedimentos Fluxo de execução independente do

restante do sistemaNotação utilizada no Curso Cápsulas, Protocolos, Portas, Conexões

Page 5: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 5

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Identificando CápsulasCápsula Representa uma thread lógica do sistema Fluxo de controle independente no sistema

Podem ser identificadas a partir de eventos externos (interação usuários com casos de uso) Candidatas: classes presentes na realização

de um caso de uso, afetadas por um evento externo

Page 6: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 6

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Cápsulas podem representar ...

Objetos concorrentes externos Exemplo: dispositivos físicos Monitoramento e controle de atividades

concorrentesUnidades de concorrência Objetos conceitualmente concorrentes Ex.: Classe que representa conexão com o

banco• Realiza a conexão com o banco paralelamente à

execução de outras tarefas do sistema

Page 7: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 7

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Cápsulas podem representar ...

Controladores de objetos concorrentes Gerência continua: interface de erros

externos, sincronização de ações, etc.Gerenciadores de recursos compartilhados Proteção contra conflitos de concorrência

Page 8: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 8

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Cápsulas são estereótipos de classes

Atributos e operações de cápsulas são privados. Exceto o método que modela o comportamento.

Page 9: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 9

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Árvore de decisãoClasses de Fronteira e de Controle

Representa um componente

externo?

Reage a eventos externos?

Controla apenas acesso a dados?

Possui concorrência interna? Controla outras

cápsulas?

Transformar em

cápsula

Transformar

em várias cápsulas

Continuar como classe

S

S

S

S

S

N

N

N

N

N

Page 10: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 10

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Cápsulas e Concorrência

Concorrência interna

Concorrência externa

Diagrama de Atividades

Page 11: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 11

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Caso de uso – Atualizar Cotações

Relógio(from atores)

Cliente(from atores)

Consultar Cotações(from consultas)

Comprar Ações(from transacoes)

Vender Ações(from transacoes)

Atualizar Cotações(from transacoes)

Operadora Mercado de Ações(from atores)

Page 12: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 12

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Fluxo de eventos – Atualizar cotações

Fluxo de eventos Este caso de uso inicia quando o relógio dispara uma

interrupção, a cada 5 minutos, indicando que as cotações devem ser atualizadas.

O sistema consulta as cotações das ações através da operadora do Mercado de Ações.

Em seguida o sistema atualiza o valor das ações, mantendo todo o histórico dos valores das ações.

Fluxo secundário No passo 2, se a operadora demorar mais que 5

segundos para responder à solicitação de consulta, ocorrerá um timeout e o caso de uso será encerrado.

Em qualquer momento o usuário pode cancelar a operação.

Page 13: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 13

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Exemplo - QIB Mercado de AçõesClasses de Análise

InterfaceRelogio<<boundary>>

ControladorAtualizacaoCotacoes<<control>>

ComunicacaoOperadoraMercadoAcoes<<boundary>>

Acao<<entity>>

Cotacao<<entity>>

OperadoraMercadoAcoes<<entity>>

CadastroAcoes<<entity collection>>

CadastroCotacoes<<entity collection>>

CadastroOperadorasMercadoAcoes<<entity collection>>

Page 14: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 14

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Exemplo - QIB Mercado de Ações

Classes de projeto

InterfaceRelogio<<capsule>>

ControladorAtualizacaoCotacoes<<capsule>>

ComunicacaoOperadoraMercadoAcoes<<subsystem>>

ComunicacaoNasdaq<<capsule>>

ComunicacaoBovespa<<capsule>>

Acao<<entity>>

Cotacao<<entity>>

OperadoraMercadoAcoes<<entity>>

CadastroAcoes<<entity collection>>

CadastroCotacoes<<entity collection>>

CadastroOperadorasMercadoAcoes<<entity collection>>

IRepositorioAcoes<<interface>>

RepositorioAcoesBDR

IRepositorioCotacoes<<interface>>

RepositorioCotacoesBDR

IRepositorioMercadoAcoes<<interface>>

RepositorioMercadoAcoes

Page 15: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 15

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Identificando Protocolos das Cápsulas

Protocolos Identificam o ‘contrato’ entre cápsulas, definindo um

conjunto de sinais usados para comunicação entre diferentes threads, bem como a seqüência válida de troca de sinais entre as cápsulas

Passos Para cada cápsula, listar o conjunto de sinais de entrada e

de saída (in e out) Desenhar gráfico de interação entre cápsulas Para cada interação entre um par de cápsulas, criar um

protocolo Identificar similaridades entre protocolos e promover reuso Associar protocolos a cápsulas

Page 16: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 16

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Identificando ProtocolosIdentificar conjunto de sinais das

cápsulasInterfaceRelogio Entradas: Saídas: interrupcao

ControladorAtualizacaoCotacoes Entradas: interrupcao, dadosCotacoes Saídas: consultarCotacoes

ComunicacaoOperadoraMercadoAcoes Entradas: consultarCotacoes, dadosCotacoesNasdaq,

dadosCotacoesBovespa, Saídas: dadosCotacoes, consultarCotacoesNasdaq,

dadosCotacoesBovespa, ComunicacaoNasdaq Entradas: consultarCotacoesNasdaq Saídas: dadosCotacoesNasdaq

ComunicacaoBovespa Entradas: consultarCotacoesBovespa Saídas: dadosCotacoesBovespa

Page 17: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 17

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Identificando Protocolos Gráfico de interações entre cápsulas

InterfaceRelogio<<Capsule>>

ControladorAtualizacaoCotacoes<<Capsule>>

ComunicacaoOperadoraMercadoAcoes<<Capsule>>

interrupcao

consultarCotacoes

dadosCotacoes

ComunicacaoNasdaq<<Capsule>>

ComunicacaoBovespa<<Capsule>>

consultarCotacoesNasdaqconsultarCotacoesBovespa

dadosNasdaq dadosBovespa

Page 18: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 18

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Identificando ProtocolosCriar os protocolos

Toda interação entre cápsulas deve ser feita através de protocolosPasso-a-passo: Para cada par de cápsulas que interagem

entre si, crie um protocolo Escolha uma das duas cápsulas como

referência para definir os sinais de entrada e os de saída

Insira os sinais de entrada e de saída da cápsula no protocolo criado

Page 19: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 19

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Identificando ProtocolosCriar os protocolos

InterfaceRelogio<<Capsule>>

ControladorAtualizacaoCotacoes<<Capsule>>

ComunicacaoOperadoraMercadoAcoes<<Capsule>>

interrupcao

consultarCotacoes

dadosCotacoes

AtivacaoPeriodica

interrupcao ()

<<Protocol>>

ComunicacaoNasdaq<<Capsule>>

ComunicacaoBovespa<<Capsule>>

consultarCotacoesNasdaqconsultarCotacoesBovespa

dadosNasdaq dadosBovespa

Page 20: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 20

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Identificando ProtocolosCriar os protocolos

InterfaceRelogio<<Capsule>>

ControladorAtualizacaoCotacoes<<Capsule>>interrupcao

consultarCotacoes

dadosCotacoes

ConsultaCotacoes

dadosCotacoes ()

consultarCotacoes ()

<<Protocol>>

AtivacaoPeriodica

interrupcao ()

<<Protocol>>

ComunicacaoOperadoraMercadoAcoes<<Capsule>>

ComunicacaoNasdaq<<Capsule>>

ComunicacaoBovespa<<Capsule>>

consultarCotacoesNasdaqconsultarCotacoesBovespa

dadosNasdaq dadosBovespa

Page 21: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 21

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Identificando ProtocolosCriar os protocolos

InterfaceRelogio<<Capsule>>

ControladorAtualizacaoCotacoes<<Capsule>>interrupcao

consultarCotacoes

dadosCotacoes

AtivacaoPeriodica

interrupcao ()

<<Protocol>>

ComunicacaoOperadoraMercadoAcoes<<Capsule>>

ComunicacaoNasdaq<<Capsule>>

ComunicacaoBovespa<<Capsule>>

consultarCotacoesNasdaqconsultarCotacoesBovespa

dadosNasdaq

ConsultaCotacoes

dadosCotacoes ()

consultarCotacoes ()

<<Protocol>>

InteracaoBovespa<<Protocol>>

consultarCotacoesBovespa (void)

dadosCotacoesBovespa (void)

Page 22: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 22

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Identificando ProtocolosCriar os protocolos

InterfaceRelogio<<Capsule>>

ControladorAtualizacaoCotacoes<<Capsule>>interrupcao

consultarCotacoes

dadosCotacoes

AtivacaoPeriodica

interrupcao ()

<<Protocol>>

ComunicacaoOperadoraMercadoAcoes<<Capsule>>

ComunicacaoNasdaq<<Capsule>>

ComunicacaoBovespa<<Capsule>>

consultarCotacoesNasdaqconsultarCotacoesBovespa

ConsultaCotacoes

dadosCotacoes ()

consultarCotacoes ()

<<Protocol>>

InteracaoBovespa<<Protocol>>

consultarCotacoesBovespa (void)

dadosCotacoesBovespa (void)dadosNasdaq

ack

InteracaoNasdaq<<Protocol>>

consultarConexaoNasdaq (void)

dadosCotacoesNasdaq (void)

Page 23: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 23

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Identificando Protocolos Identificar similaridades entre

protocolos

AtivacaoPeriodica

interrupcao ()

<<Protocol>>

ConsultaCotacoes

dadosCotacoes ()

consultarCotacoes ()

<<Protocol>>

InteracaoBovespa<<Protocol>>

consultarCotacoesBovespa (void)

dadosCotacoesBovespa (void)

InteracaoNasdaq<<Protocol>>

consultarConexaoNasdaq (void)

dadosCotacoesNasdaq (void)

Page 24: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 24

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Identificando Protocolos Protocolos identificados

Finalmente...

AtivacaoPeriodica

interrupcao ()

<<Protocol>> ConsultaCotacoes

dadosCotacoes ()

consultarCotacoes ()

<<Protocol>>

Page 25: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 25

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Identificando Protocolos Associar protocolos a cápsulas

Dependências entre protocolos e cápsulas

ControladorAtualizacaoCotacoes<<Capsule>>

AtivacaoPeriodica

interrupcao ()

<<Protocol>>

InterfaceRelogio<<Capsule>>

ConsultaCotacoes

consultarCotacoes ()

dadosCotacoes ()

<<Protocol>>

ComunicacaoOperadoraMercadoAcoes<<Capsule>>

ComuicacaoBOVESPA<<Capsule>>

ComuncacaoNASDAQ<<Capsule>>

Page 26: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 26

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Criando portas eassociando portas a

protocolosCriar o conjunto inicial de portas, considerando as responsabilidades da cápsulaPasso-a-passo: Criar uma porta para cada interação cápsula-

protocolo-cápsula Nomear a porta com o nome do protocolo ou com o

papel da cápsula na realização do protocolo Se as direções dos sinais no protocolo estiverem

invertidos (entrada está como saída e vice-versa), a porta deve ser definida como conjugada (conjugated)

O mesmo protocolo pode ser utilizado em diferentes portas

Page 27: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 27

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Exemplo- Relacionamento entre cápsula e

subcápsulas

ConsultaCotacoes

consultarCotacoes ()

dadosCotacoes ()

<<Protocol>>ComunicacaoOperadoraCotacao

<<Capsule>>

+ / consultarCotacoes~ + / consultarMercados

ComuicacaoBOVESPA<<Capsule>>

+/ ConsultarCotacoes ~

ComuicacaoNASDAQ<<Capsule>>

+/ ConsultarCotacoes ~

Page 28: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 28

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Exemplo – Diagrama de classes de Atualizar

Cotação

InterfaceRelogio

+ / interrupcao

<<Capsule>>

ControladorAtualizacaoCotacoes

+ / interrupcao~+ / cosultaCotacoes

<<Capsule>>

AtivacaoPeriodica

interrupcao (void)

<<Protocol>>

ConsultaCotacoesack (void)

dadosCotacoes (void)iniciaConexao (void)

consultaCotacoes (void)

<<Protocol>>

ComunicacaoNasdaq

+ / consultaNasdaq~

<<Capsule>>ComunicacaoBovespa

+ / consultaBovespa~

<<Capsule>>

ISubsistemaComunicacaoOperadoraMercadoAcoes

ComunicacaoOperadoraCotacao

+ / consultaMercados

<<Capsule>>

FachadaComunicacaoOperadoraMercadoAcoes

+ / interrupcao<<Port>>

+ / interrupcao<<Port>>

+ / interrupcao~<<Port>>

+ / interrupcao~<<Port>>

+ / cosultaCotacoes<<Port>>

+ / cosultaCotacoes<<Port>>

1111

1

+ / consultaCotacoes~<<Port>>

+ / consultaCotacoes~<<Port>>

/ consultaBovespa / consultaNasdaq

+ / consultaCotacoes~

Page 29: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 29

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Passo 3. Definir a estrutura da aplicação

Definir as camadas da aplicaçãoDeterminar o meio de armazenamento que será utilizadoAgrupar as classes, cápsulas e protocolos em pacotes e especificar a fachada da aplicação E outros padrões de projeto necessários

Page 30: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 30

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Juntando tudo - Visão geral da arquitetura

GUI / Comunicação

NEGÓCIO

Interfaces negócio-

dados

DADOS

Fachada

TelaLogin

TelaPagamentoQualitiCard

ControladorLogin

ControladorPagamentoQualitiCard

CadastroPagamentosCartao

...ContaInternet PagamentoCart

ao

IRepositorioContasInternet IRepositorioPagamentosCartao

RepositorioPagamentosCartaoBDR

RepositorioPagamentosCartaoBDOO

RepositorioContasInternetBDR

RepositorioContasInternetArqui

vo

CadastroContasInternet

Page 31: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 31

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Incorporando cápsulasClasse de análise -> cápsula GUI

• Classe fronteira -> cápsula Camada de negócio

• Fachada -> cápsula• Controlador -> cápsula

Necessidade de protocolo de comunicação entre cápsulas Criação da camada de comunicação para

incorporar protocolos para realizar a comunicação da GUI com a camada de negócio.

Page 32: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 32

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Arquitetura – incorporando cápsulas

GUI

Negócio

Interfaces negócio-dados

Dados

TelaConsultarCotacoes - Capsula

ControladorAtualizacaoCotacoes - Capsula

IRepositorioCotacoes

RepositorioCotacoesBDR

RepositorioCotacoesArquivo

CadastroCotacoes

Comunicação ConsultaCotacoes – Protocolo

ComunicacaoOperadora - Capsula

ISubsistemaComunicacaoOperadaoraMercadoAcoes

CadastroOperadoraMercadoAcoes

IRepositorioOperadoraMercadoAcoes

RepositorioMercadoAcoesBDR

RepositorioMercadoAcoesArquivo

InterfaceRelogio – Capsula

AtivacaoPeriodica - Protocolo

GUI

Page 33: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 33

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Incorporando cápsulasConsiderando a arquitetura definida para o QIB Classes da GUI, fachada e controladores

serão mapeados em cápsulas Criação de protocolos de comunicação para

que a GUI se comunique com a camada de negócio

Page 34: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 34

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Arquitetura completa

Dados

GUI

Negócio

Interfaces negócio-dados

Fachada - Capsula

TelaConsultarCotacoes - Capsula

ControladorAtualizadorCotacoes - Capsula

IRepositorioCotacoes

RepositorioCotacoesBDR

RepositorioCotacoes Arquivo

CadastroCotacoes

Comunicação ConsultaCotacoes – Protocolo

CadastroOperadoraMercadoAcoes

IRepositorioOperadoraMercadoAcoes

RepositorioMercadoAcoes

BDR

RepositorioMercadoAcoes

Arquivo

TelaLogin - Capsula TelaPagamentoQualitiCard - Capsula

PagamentoQualitiCard – Protocolo

PagamentoLogin – Protocolo

ControladorPagamentoQualitiCard

CadastroPagamentoCartao

PagamentoCartao

IRepositorioPagamentoCartao

ControladorLogin

CadastroContasInternet

ContaInternet

IRepositorioContasInternet

RepositorioContasInternet

BDR

RepositorioContasInternet

Arquivo

RepositorioPagamentosCartaoBDR

RepositorioPagamentosC

artaoBDOO

InterfaceRelogio -

Capsula

AtivacaoPeriodica – Protocolo

ComunicacaoControlador – Protocolo

Page 35: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 35

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Classes de análise - a origem de tudo

Classes de entidade -> classes básicas + coleções de negócio e coleções de dados

Classes de fronteira com usuários -> classes de GUI -> cápsulas com legados ->subsistemas

Classes de controle -> fachada do sistema ou subsistema -> cápsula

Page 36: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 36

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

QIB – Efetuar Login, Consultar Cotações e Efetuar Pagamento do Qualiti Card

Mapeamento entre análise e projetoClasses de Análise Elementos de Projeto

<<Capsule>> Fachada<<Capsule>> TelaMenuDataHora

Conta ContaInternetContaCorrente

CadastroContas

CadastroPagamentosCartao CadastroTransacoesIRepositorioTransacoesRepositorioTransacoesBDR

ComunicacaoOperadoraCartao SubsistemaComunicacaoOperadoraCartaoISubsistemaComunicacaoOperadoraCartaoFachadaComunicacaoOperadoraCartao

CadastroContasInternetIRepositorioContasInternetRepositorioContasInternetBDRCadastroContasCorrenteIRepositorioContasCorrenteRepositorioContasCorrenteBDR

ControladorLogin

Page 37: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 37

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

QIB – Efetuar Login, Consultar Cotações e Efetuar Pagamento do

Qualiti CardClasses de Análise Elementos de Projeto

<<Capsule>> InterfaceRelogio<<Protocol>> AtivacaoPeriodica

ControladorAtualizacaoCotacoes <<Capsule>> ControladorAtualizacaoCotacoes<<Protocol>> ConsultaCotacoes

As demais classes são mapeadas diretamente em elementos de projeto

InterfaceRelogio

CadastroAcoes CadastroAcoesIRepositorioAcoesRepositorioAcoesBDR

CadastroCotacoes

CadastroOperadorasMercadoAcoesIRepositorioOperadoraMercadoAcoesRepositorioOperadoraMercadoAcoesBDR

CadastroOperadorasMercadoAcoes

CadastroCotacoesIRepositorioCotacoesRepositorioCotacoesBDR

ComunicacaoOperadorasMercadoAcoes

SubsistemaComunicacaoOperadoraMercadoAcoesISubsistemaComunicacaoOperadoraMercadoAcoesFachadaComunicacaoOperadoraMercadoAcoes<<Capsule>> ComunicacaoBovespa<<Capsule>> ComunicacaoNasdaq

Page 38: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 38

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

QIB – Efetuar Login e Efetuar Pagamento do Qualiti Card

Projeto da arquitetura

Comprovante

FachadaComunicacaoOperadoraCartao

Hora

Data

PagamentoCartaonumeroFaturacontaBancariavalor

RepositorioContasCorrenteBDR

RepositorioContasInternetBDR

RepositorioPagamentosCartaoBDR

ContaCorrente

ContaInternet

1

1

1

1

IRepositorioContasCorrente

TelaLogin TelaMenu TelaPagamentoQualitiCard

IRepositorioPagamentosCartaoIRepositorio

ContasInternet

ControladorLogin

CadastroContasCorrente

1

1

1

1

Fachada - Capsula1

0..n

1

0..n

1

0..n

1

0..n

1

0..n

1

0..n

1

1

1

1

ISubsistemaComunicacaoOperadoraCartao

CadastroPagamentosCartao

1

1

1

1

CadastroContasInternet

1

1

1

1

1

1

1

1

ControladorPagamentoQualitiCard

1

1

1

1

1

1

1

11

1

1

1

1

1

1

1

1

1

1

1

ControladorAtualizacaoCotacoes<<Capsule>>

(from controladores)

.

.

.

Page 39: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 39

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

QIB – Consultar cotações

Acao<<entity>>

Cotacao<<entity>> 1* 1*

OperadoraMercadoAcoes<<entity>>

InterfaceRelogio<<Capsule>>

RepositorioAcoesBDR

RepositorioCotacoesBDR

RepositorioOperadorasMercadoAcoes

CadastroAcoes

consultaAcoesOperadora()

<<entity collection>>

1

1

1

1

IRepositorioAcoes1

1

1

1

CadastroOperadoraMercadoAcoes

consultaOperadoras()

<<entity collection>>

IRepositorioOperadorasMercadoAcoes11 11

CadastroCotacoes

atualizarCotacoes()

<<entity collection>>

IRepositorioCotacoes1 11 1

FachadaComunicacaoOperadoraMercadoAcoes

ControladorAtualizacaoCotacoes<<Capsule>> 1

1

1

1

1

1

1

1

ComunicacaoOperadora<<Capsule>>

/ comunicacaoOperadoraR1 / comunicacaoOperadoraR1

ISubsistemaComunicacaoOperadoraMercadoAcoes

1

11

1

Page 40: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 40

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Padrões de ProjetosVários padrões da ‘Gangue dos Quatro’ (GoF) contém parcialmente paradigmas existentes em cápsulas: Fachada (estrutural), State

(comportamental)Outros exemplos de aplicações: Mediador Cadeia de responsabilidade Observadores

Page 41: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 41

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Padrões de ProjetosMediador Media ou controla a interação de duas ou

mais cápsulas

Colega 2Colega 1 Colega 3 Colega N

Mediador

ProtocoloM

ProtocoloM

Vantagem: Sincronizãção

Page 42: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 42

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Padrões de ProjetosCadeia de responsabilidade Permite que o destinatário de uma

requisição possa utilizar mais de um objeto para processar o seu resultado. (utilizando uma cadeia de objetos)

Capsula X Capsula Y Capsula QCapsula Zrequisição

Vantagem: Criação de uma Pipeline

Page 43: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar arquitetura | 43

Copy

right

© 2

002

Qual

iti. T

odos

os d

ireito

s res

erva

dos.

Qualiti Software Processes

Padrões de ProjetosObservadores Quando algum dado for alterado no objeto,

todos os observadores são avisados.

Observador 2

Observador 1

Observador 3

Sujeito

ProtocoloM

ProtocoloM

Sujeito

+/ sc: ProtocoloSO

Sujeito

+/ so: ProtocoloSO ~

ProtocoloSO

NotificacaoMudanca()Modificacao()

Vantagem: Broadcast

Page 44: Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.

Projetar Arquitetura