A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Interações entre objetos

Apresentações semelhantes


Apresentação em tema: "Interações entre objetos"— Transcrição da apresentação:

1 Interações entre objetos
CIn-UFPE

2 Modelagem Comportamental
Diagramas de Use Case Diagramas de Seqüência Diagramas de Colaboração Statecharts Diagramas de Atividades CIn-UFPE

3 Interações Interações mostram os aspectos dinâmicos de um sistema, enfatizando a troca de mensagens entre objetos Dois diagramas podem ser usados para modelar as interações: diagramas de seqüência e diagramas de colaboração CIn-UFPE

4 Utilidade Modelar as interações em um sistema é uma das técnicas mais poderosas para a descoberta das classes e das operações do sistema Diagramas de interação facilitam o entendimento de sistemas com comportamento complexo Diagramas de interação são especialmente úteis para sistemas orientados a objetos porque a funcionalidade nesses sistemas geralmente é distribuída em muitas classes diferentes CIn-UFPE

5 Links Um link é uma conexão entre dois objetos, pela qual mensagens podem ser trocadas Sempre que uma classe tiver uma associação com outra classe, pode haver um link entre os objetos dessas classes p: Pessoa e: Empresa alocar(desenvolvimento) CIn-UFPE

6 Mensagens Definição formal: uma mensagem é a especificação de uma comunicação entre objetos, onde são passadas informações, com a esperança de que ocorra alguma atividade Na maioria das vezes, uma mensagem resulta na execução de uma operação CIn-UFPE

7 Seqüenciamento Quando um objeto envia uma mensagem para outro objeto, o objeto que recebe a mensagem pode enviar outras mensagens e assim por diante, formando uma seqüência de mensagens CIn-UFPE

8 Diagramas de seqüência
Diagramas de seqüência enfatizam a ordenação das mensagens trocadas entre os objetos Um cenário é uma seqüência específica de ações que ilustra um comportamento Diagramas de seqüência podem modelar um cenário ou um conjunto de cenários Diagramas de seqüência podem mostrar decisões simples e iterações CIn-UFPE

9 Exemplo CIn-UFPE

10 Modelando o fluxo de controle através de Diagramas de Seqüência
Defina o contexto da interação (ex: um cenário de um Use Case) Identifique quais objetos participam da interação Distribua o comportamento do use case em objetos das classes de análise dos seguintes tipos (estereótipos) Fronteira (interação com os atores) Controle (uma para cada use case) Entidade (obtidas a partir do fluxo de eventos) Defina a linha de vida do objeto A maioria dos objetos irão persistir durante toda a interação Se precisar indicar o nascimento ou morte de objetos durante a interação, use mensagens do tipo Create ou Destroy CIn-UFPE

11 Modelando o fluxo de controle através de Diagramas de Seqüência
Comece com a mensagem inicial. As mensagens subseqüentes são colocadas do topo para baixo da linha de vida. Para explicar a semântica, é possível incluir as propriedades da mensagens, por ex. Parâmetros. Se precisar especificar limitações (ex: de tempo), adorne a mensagem com uma marca apropriada. Se precisar especificar o fluxo de controle mais formalmente, coloque pré e pós condições nas mensagens. CIn-UFPE

12 Classes de Fronteira (boundary classes)
Isolam o sistema de mudanças no ambiente externo Atores devem se comunicar apenas com classes de fronteira Exemplos de classes fronteira GUI Interface com outros sistemas Interface com dispositivos <<boundary>> CIn-UFPE

13 O Papel de uma Classe de Fronteira
Modela interação entre o sistema e seu ambiente <<boundary>> <<entity>> <<control>> Usuário Fonte: Rational CIn-UFPE

14 Regra geral para encontrar Classes de Fronteira
Uma classe por cada par ator/caso de uso Exemplo: Caso de uso Sacar Dinheiro CIn-UFPE

15 Classes de Entidade (entity classes)
Abstrações e conceitos chave dos casos de uso <<entity>> Descrição do Caso de uso CIn-UFPE Fonte: Rational

16 O Papel de uma Classe de Entidade
<<boundary>> <<entity>> <<control>> Customer Fonte: Rational Armazenam e gerenciam informação no sistema CIn-UFPE

17 Orientações para encontrar Classes de Entidade
Utilizando a descrição do caso de uso, use a abordagem tradicional de filtrar substantivos identifique substantivos no fluxo de eventos remova candidatos redundantes e vagos remova atores que interagem indiretamente com o sistema, pois estes não fazem parte da modelagem desconsidere atributos e operações (serão usados mais tarde) CIn-UFPE

18 Exemplo: Classe de entidade do caso de uso Sacar Dinheiro
Conta CIn-UFPE

19 Classes de Controle (control classes)
Coordenam o comportamento (lógica de controle) do caso de uso Interface entre fronteira e entidade <<control>> CIn-UFPE

20 O Papel de uma Classe de Controle
Coordenam o comportamento do caso de uso Uma classe controle pode ter referência a vários objetos entidade Finalidade semelhante às classes de fachada (Arquitetura de Camadas) <<boundary>> <<entity>> <<control>> Customer Fonte: Rational CIn-UFPE

21 Orientações para encontrar Classes de Controle
Usualmente, uma classe de controle por caso de uso Eventualmente mais de uma (comportamento complexo) ou nenhuma (manipulação simples de informações armazenadas) CIn-UFPE

22 Exemplo de Classe de Controle Caso de uso Sacar Dinheiro
CIn-UFPE

23 Exemplo: Classes de Análise resultantes do caso de uso Sacar Dinheiro
<<control>> ControladorSaque <<boundary>> FormularioSaque <<entity> Conta <<boundary>> SistemaBanco CIn-UFPE

24 Exemplo de um Diagrama de Seqüência: Caso de uso Sacar Dinheiro
:Formulário saque : ControladorSaque : Conta :SistemaBanco solicitar saque (dados do saque) buscar conta (dados da conta) criar conta () Exibir mensagem (saque ok) saque ok CIn-UFPE

25 Descrevendo Responsabilidades
Responsabilidades identificadas nos fluxos de eventos são refletidas em diagramas de interação Mensagens nestes diagramas resultam em responsabilidades nas classes receptoras :Client :Supplier // PerformResponsibility Supplier diagrama de classe interação CIn-UFPE

26 Diagramas de colaboração
Diagramas de colaboração enfatizam a organização dos objetos em uma interação Praticamente tudo que pode ser mostrado em um diagrama de seqüência pode também ser mostrado em um diagrama de colaboração Diagramas de colaboração podem ser transformados em diagramas de seqüência e vice-versa CIn-UFPE

27 Diagramas de colaboração: exemplo
Browser Servidor Web Processador de pedidos Interface com o banco Estudante submeter(dadosForm) 1: codificarDados(dadosForm) 2: enviarDadosCodificados(dados) 3: processarDados() 4: executar() 5: enviarDadosProc(dados) 6: cadastrapedido(consSQL) 8: enviarPagina(pag) 9: enviarPagina(pagina) 7: gerarPagResposta() CIn-UFPE

28 Modelando o fluxo de controle através de Diagramas de Colaboração
Defina o contexto da interação (ex: um cenário de um Use Case) Identifique quais objetos participam da interação. Se os valores dos atributos mudam de forma significativa durante a interação, duplique o objeto, conecte-os com o estereótipo <<torna-se>> ou <<cópia>> e atualize o novo objeto com os novos valores. CIn-UFPE

29 Modelando o fluxo de controle através de Diagramas de Colaboração
Especifique os links entre objetos. Eles permitem a passagem das mensagens. Começando com a mensagem que inicia a interação, coloque a numeração seqüencial nas mensagens. Se necessário, use aninhamento (1.1, 1.2). Se precisar especificar limitações (ex: de tempo), adorne a mensagem com uma marca apropriada. Se precisar especificar o fluxo de controle mais formalmente, coloque pré e pós condições nas mensagens. CIn-UFPE


Carregar ppt "Interações entre objetos"

Apresentações semelhantes


Anúncios Google