Cápsulas, Protocolos, portas e conexões em UML-RT.

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto Orientado a Objetos
Advertisements

Diagrama de Atividades
Modelagem de Estados.
UML no CICLO de DESENVOLVIMENTO
UML Modelando um sistema.
UML Visões – Parte 2.
UML – Visões Parte 1 Modelando um sistema.
Desenvolvimento de Sistemas Baseado na Transformação de Modelos
Linguagens de Modelagem
Linguagens de Modelagem para SMA
Professora: Aline Vasconcelos IF Fluminense
Fluxo de Análise e Projeto do RUP para Tempo Real
Curso UML Diagramas de Atividade
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Projeto da Camada de Domínio
Classes e objetos Modelagem
UML - Unified Modeling Language
Diagrama de Estados.
Análise de Sistemas Análise e Projeto Prof. Jeime Nunes Site:
UML - Unified Modeling Language
Diagrama de Atividades
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados.
Diagramas de Sequência e Comunicação
DIAGRAMA DE CLASSE Modelagem de Software
Abr-17 Projetar Cápsulas Aula de Laboratório Projetar classes.
Diagramas de Atividade
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Interpretação de Projetos de Software Professor: Cheli dos S. Mendes.
Análise e Projeto de Sistemas
Marcio de Carvalho Victorino
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
Diagramas de Comunicação
Analisar Caso de Uso 10/04/ /04/2017 Analisar caso de uso
Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes
Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes
Unified Modeling Language Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Nov/2010.
Diagramas de Estado.
Laboratório de Programação
Troca de Mensagens Programação concorrente
Diagrama de Colaboração. Diagramas de Interação Expressam informações bastante similares porém de maneira diferente Diagrama de seqüência: – Interação.
Análise e Projeto de Sistemas
Abr-17 Analisar Caso de Uso Analisar caso de uso.
Abr-17 Projetar Processos Projetar distribuição.
Linguagem de Modelagem Unificada
Abr-17 Projetar Subsistema Projetar subsistema.
Modelo de Análise e Projeto
Engenharia de Software e Sistemas
UML Statechart CIn-UFPE.
Copyright © 2006 Qualiti. Todos os direitos reservados. Projetar Classes.
Diagrama de Objetos.
Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|
Análise e Projeto de Sistemas
A linguagem unificada de modelagem
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Modelagem de Sistemas Orientada a Objeto Com UML
CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.
Projetar Cápsulas Parte 1. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar cápsulas | 2 Objetivos deste módulo.
Projetar Cápsulas Segunda parte. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar cápsulas | 2 Objetivos deste.
Projetar Arquitetura parte 2 - Cápsulas Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar arquitetura | 2 Passos.
Fluxo de Análise e Projeto do RUP para Sistemas de Tempo Real
Projetar Processos. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar distribuição | 2 Descrição do Projeto.
Fundamentos de Engenharia de SW Diagramas da UML Usados no Projeto de Software.
Analisar Caso de Uso. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 2 Objetivos.
Diagrama de atividade.
Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo.
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
CURSO JAVA BÁSICO Módulo 9 – slide 1 Módulo 10 Threads.
Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto.
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso.
Análise e Conceção de Sistemas
Transcrição da apresentação:

Cápsulas, Protocolos, portas e conexões em UML-RT

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 2 Classes Ativas Motivaçã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 sistema Notação utilizada no Curso ­ Cápsulas, Protocolos, Portas, Conexões

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 3 Identificando Cápsulas Cápsula ­ Representa uma thread lógica do sistema ­ Fluxo de controle independente no sistema

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Análise e Projeto OO com UML para Sistemas RT| 4 Nome Cápsulas Atributos Métodos Portas Atributos e métodos: privados Portas: públicas ou protegidas

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 5 Exemplo: Produtor-Consumidor Produtor #/ timer +/ porta produz(): Q Consumidor +/ porta~ consome(q: Q) Comunicacao incoming outgoing envia(Q ) Esperando transicão inicial envia/ consome(q); Consumidor Produzindo transicão inicial timeout/ produz(); porta.envia.send(q); Produtor

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 6 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)

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 7 Gráfico de interações entre cápsulas Caso de Uso: Atualizar Cotação InterfaceRelogio > ControladorAtualizacaoCotacoes > ComunicacaoOperadoraMercadoAcoes > interrupcao consultarCotacoes dadosCotacoes ComunicacaoNasdaq > ComunicacaoBovespa > consultarCotacoesNasdaqconsultarCotacoesBovespa dadosNasdaqdadosBovespa

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 8 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 sequência válida de troca de sinais entre as cápsulas. Passos ­ Para cada interação entre cápsulas, criar um protocolo ­ Identificar similaridades entre protocolos e promover reuso ­ Associar protocolos a cápsulas

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 9 Identificando Protocolos Criar os protocolos 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

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 10 Identificando Protocolos Criar os protocolos InterfaceRelogio > ControladorAtualizacaoCotacoes > ComunicacaoOperadoraMercadoAcoes > interrupcao consultarCotacoes dadosCotacoes AtivacaoPeriodica interrupcao () > ComunicacaoNasdaq > ComunicacaoBovespa > consultarCotacoesNasdaqconsultarCotacoesBovespa dadosNasdaqdadosBovespa

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 11 Identificando Protocolos Criar os protocolos InterfaceRelogio > ControladorAtualizacaoCotacoes > interrupcao consultarCotacoes dadosCotacoes ConsultaCotacoes dadosCotacoes () consultarCotacoes () > AtivacaoPeriodica interrupcao () > ComunicacaoOperadoraMercadoAcoes > ComunicacaoNasdaq > ComunicacaoBovespa > consultarCotacoesNasdaqconsultarCotacoesBovespa dadosNasdaqdadosBovespa

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 12 Identificando Protocolos Criar os protocolos InterfaceRelogio > ControladorAtualizacaoCotacoes > interrupcao consultarCotacoes dadosCotacoes AtivacaoPeriodica interrupcao () > ComunicacaoOperadoraMercadoAcoes > ComunicacaoNasdaq > ComunicacaoBovespa > consultarCotacoesNasdaqconsultarCotacoesBovespa dadosNasdaq ConsultaCotacoes dadosCotacoes () consultarCotacoes () > InteracaoBovespa > consultarCotacoesBovespa (void) dadosCotacoesBovespa (void)

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 13 Identificando Protocolos Criar os protocolos InterfaceRelogio > ControladorAtualizacaoCotacoes > interrupcao consultarCotacoes dadosCotacoes AtivacaoPeriodica interrupcao () > ComunicacaoOperadoraMercadoAcoes > ComunicacaoNasdaq > ComunicacaoBovespa > consultarCotacoesNasdaqconsultarCotacoesBovespa ConsultaCotacoes dadosCotacoes () consultarCotacoes () > InteracaoBovespa > consultarCotacoesBovespa (void) dadosCotacoesBovespa (void) dadosNasdaq ack InteracaoNasdaq > consultarConexaoNasdaq (void) dadosCotacoesNasdaq (void)

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 14 Identificando Protocolos Identificar similaridades entre protocolos AtivacaoPeriodica interrupcao () > ConsultaCotacoes dadosCotacoes () consultarCotacoes () > InteracaoBovespa > consultarCotacoesBovespa (void) dadosCotacoesBovespa (void) InteracaoNasdaq > consultarConexaoNasdaq (void) dadosCotacoesNasdaq (void)

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 15 Identificando Protocolos Protocolos identificados Finalmente... AtivacaoPeriodica interrupcao () > ConsultaCotacoes dadosCotacoes () consultarCotacoes () >

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 16 Identificando Protocolos Associar protocolos a cápsulas Associações entre protocolos e cápsulas ControladorAtualizacaoCotacoes > AtivacaoPeriodica interrupcao () > InterfaceRelogio > ConsultaCotacoes consultarCotacoes () dadosCotacoes () > ComunicacaoOperadoraMercadoAcoes > ComuicacaoBOVESPA > ComuncacaoNASDAQ >

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 17 Criando portas e associando portas a protocolos Criar o conjunto inicial de portas, considerando as responsabilidades da cápsula Passo-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

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 18 Exemplo – Diagrama de classes de Atualizar Cotação InterfaceRelogio + / interrupcao > ControladorAtualizacaoCotacoes + / interrupcao~ + / cosultaCotacoes > AtivacaoPeriodica interrupcao (void) > ConsultaCotacoes ack (void) dadosCotacoes (void) iniciaConexao (void) consultaCotacoes (void) > ComunicacaoNasdaq + / consultaNasdaq~ > ComunicacaoBovespa + / consultaBovespa~ > ISubsistemaComunicacaoOperadoraMercadoAcoes ComunicacaoOperadoraCotacao + / consultaMercados > FachadaComunicacaoOperadoraMercadoAcoes + / interrupcao > + / interrupcao > + / interrupcao~ > + / interrupcao~ > + / cosultaCotacoes > + / cosultaCotacoes > / consultaCotacoes~ > + / consultaCotacoes~ > / consultaBovespa / consultaNasdaq + / consultaCotacoes~

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 19 Exemplo- Relacionamento entre cápsula e subcápsulas ConsultaCotacoes consultarCotacoes () dadosCotacoes () > ComunicacaoOperadoraCotacao > + / consultarCotacoes~ + / consultarMercados ComuicacaoBOVESPA > +/ ConsultarCotacoes ~ ComuicacaoNASDAQ > +/ ConsultarCotacoes ~

Projeto Interno de Cápsulas

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 21 Passos para Projetar Cápsulas Definir diagrama de estados Definir diagrama de estrutura

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 22 Máquina de Estados Máquinas de estados são utilizadas para: ­ Indicar qual será o comportamento dos objetos de acordo com o seu estado ­ Indicar seqüência de ações válidas Saldo = 0 crédito Saldo > 0 construtor crédito debito Máquina de estados ilustrando o ciclo de vida de um objeto Conta

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 23 Diagrama de Estados - InterfaceRelogio Cápsula: InterfaceRelogio AguardandoInterrupcao Initial timeout / porta.gerarInterrupcao InterfaceRelogio #/ timer +/ porta

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 24 Forma geral de uma transição e [g] / a e = evento g = guarda a = ação

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 25 Diagrama de Estados – ComunicacaoOperadora Cápsula: ComunicacaoOperadoraMercadoAcoes EsperandoSolicitacao AguardandoDados Initial dadosCotacoes[count == 1] / controlador.dadosCotacoes.send(); dadoCotacao = rtGetMsgData(); buffer.add(dadoCotacao); count = count + 1; consultarCotacoes/ mercados.consultarCotacoes.send(); Count = 0; dadosCotacoes[count < 1] / dadoCotacao = rtGetMsgData(); buffer.add(dadoCotacao); count = count + 1; Comunicacao OperadoraMA +/ mercados +/ controlador - buffer : Buffer - count : int

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 26 Diagrama de Estados – ComunicacaoBovespa Cápsula: ComunicacaoBovespa AguardandoPeriodo AguardandoDados Initial dadosCotacoes / dadosCotacoes.send(); consultarCotacoes Comunicacao Bovespa +/ dadosCotacoes~

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 27 Exemplo: Produtor-Consumidor Produtor #/ timer +/ porta produz(): Q Consumidor +/ porta~ consome(q: Q) Comunicacao incoming outgoing envia(Q ) Esperando transicão inicial envia/ consome(q); Consumidor Produzindo transicão inicial timeout/ produz(); porta.envia.send(q); Produtor

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 28 Diagrama de Estados Estados Estado é uma condição de um objeto no qual este realiza alguma atividade ou espera por determinado evento. É composto de: ­ Nome ­ Ação de entrada (Entry action) ­ Ação de saída (Exit action) ­ Máquina de estados interna (super estados)

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 29 Entry/Exit action A x/ execute(); C B y/ execute(); A x C B y EntryAction: Execute(); B x/ execute(); A C y/ execute(); xy ExitAction: Execute(); B A C

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 30 Diagrama de Estados – ComunicacaoOperadora Cápsula: ComunicacaoOperadoraMercadoAcoes EsperandoSolicitacao AguardandoDados Initial dadosCotacoes[count == 1] / controlador.dadosCotacoes.send(); dadoCotacao = rtGetMsgData(); buffer.add(dadoCotacao); count = count + 1; consultarCotacoes/ mercados.consultarCotacoes.send(); Count = 0; Código em comum dadosCotacoes[count < 1] / dadoCotacao = rtGetMsgData(); buffer.add(dadoCotacao); count = count + 1;

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 31 Diagrama de Estados – ComunicacaoOperadora Cápsula: ComunicacaoOperadoraMercadoAcoes Usando Exit Action EsperandoSolicitacao AguardandoDados Initial dadosCotacoes[count == 1] / controlador.dadosCotacoes.send(); consultarCotacoes/ mercados.consultarCotacoes.send(); Count = 0; dadosCotacoes[count < 1] Exit Action buffer.add(dadoCotacao); count = count + 1; dadoCotacao = rtGetMsgData();

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 32 Diagrama de Estados Transições Transição é um relacionamento direcionado entre dois estados (origem e destino) É composta de: ­ Nome ­ Estado origem ­ Evento de disparo ­ Condição de guarda ­ Ação ­ Estado destino

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 33 Passo 2. Definir diagrama de estrutura Definir a conexão entre as instâncias das cápsulas É considerado também um diagrama de colaboração Quando utilizar? ­ Para representar a configuração de execução do sistema ­ Para indicar que portas de cada instância estão conectadas entre si.

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 34 Diagrama de Estrutura Notação Elementos ­ Instâncias de Cápsulas ­ Portas ­ Conexões Instancia_AInstancia_B conexão Porta

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 35 Diagrama de Estrutura Exemplo: Produtor Consumidor Consumidor porta~ Produtor porta timer

Copyright © 2005 Qualiti. Todos os direitos reservados. Qualiti Software Processes Copyright © 2005 Qualiti. Todos os direitos reservados. Projetar cápsulas | 36 Diagrama de Estrutura Exemplo: QIB Mercado de Ações Relogio timer interrupcao ControladorAtualizacao dadosCotacoes Interrupcao~ ComunicacaoOperadora dadosCotacoes~ OperadoraBovespaOperadoraNasdaq ComunicaçãoOperadora +/ dadosCotacoes~ #/ cotacaoBovespa #/ cotacaoNadasq OperadoraBovespa +/ cotacaoBovespa+ OperadoraNasdaq +/ cotacaoNasdaq+

Cápsulas, Protocolos, portas e conexões em UML-RT