análise e projeto orientados a objetos -...
Post on 11-Nov-2018
218 Views
Preview:
TRANSCRIPT
Análise e Projeto Orientados a Objetos
Diagramas de interação
Diretoria Acadêmica de Gestão e Tecnologia da Informação
Curso de Tecnologia em Análise e Desenvolvimento de Sistemas
Introdução
• Os diagramas de interação ilustram como os objetos interagem (trocam mensagens).
– Aspecto dinâmico.
• Veremos:
– Diagrama de colaboração (de comunicação na UML 2).
– Diagrama de sequência.
2
Exemplo: fazer pagamento
7
class Registro{public void fazerPagamento(double quantia){venda.fazerPagamento(quantia);
}}
class Venda{public void fazerPagamento(double quantia){Pagamento p = new Pagamento(quantia);
}}
venda é uma instância da classe Venda disponível na
classe Registro.
Notação comum para diagramas de interação
• Sintaxe básica das expressões das mensagens:
– retorno := mensagem(param : tipo): tipoRetorno
– Exemplos:
• espec := obterEspecProduto(id)
• espec := obterEspecProduto(id : ItemID)
• espec := obterEspecProduto(id : ItemID):EspecProduto
9
Notação básica para diagramas de colaboração
• Uma linha entre dois objetos indica que de alguma forma a navegabilidade entre eles é possível.
• Mensagens são representadas por uma expressão, uma seta e um número de sequência.
– Atente para o aninhamento de mensagens indicada pela numeração de nível.
10
Notação básica para diagramas de colaboração
11
class Registro{public void msg1(){venda.msg2();venda.msg3();venda.msg4();
}}
class Venda{public void msg4(){registro.msg5();
}}
Notação básica para diagramas de colaboração
• Mensagens reflexivas (para self ou this): um objeto envia uma mensagem para ele próprio.
12
class Registro{public void msg1(){this.limpar();
}}
Notação básica para diagramas de colaboração
• Criação de instâncias: mensagem com o identificador criar ou com qualquer identificador acompanhado do estereótipo «create».
13
Notação básica para diagramas de colaboração
• Mensagem condicional: é representada por uma condição entre colchetes.
14
class ClasseA{public void msg1(){if(cor == Color.RED){ b.calcular(); }
}}
Notação básica para diagramas de colaboração
16
class A{public void msg1(){if (teste1) b.msg2();else d.msg4();e.msg6();
}}
class B{public void msg2(){c.msg3();
}}
class D{public void msg4(){c.msg5();
}}
Notação básica para diagramas de colaboração
• Iteração: representa a execução repetida de uma mesma mensagem. O asterisco indica a iteração. A condição de repetição pode ser indicada.
17
Notação básica para diagramas de colaboração
18
class Simulador{public void executarSimulacao(){for (int i = 0; i < N; i++){num = random.proxInt();...
}}
}
Notação básica para diagramas de sequência
• Foco de controle ou ativação: indica o contexto de execução de uma operação.
• Retorno das operações: pode ser representado por uma mensagem de retorno (linhas tracejadas) ou ser indicado na própria expressão da mensagem.
19
Notação básica para diagramas de sequência
• Mensagens condicionais mutuamente exclusivas (UML 2.x).
25
top related