Você está na página 1de 38

Modelagem de Interações

parte 1

Prof.Júlio Martins
Introdução
● O objetivo dos modelos vistos até agora é fornecer um
entendimento do problema correspondente ao
sistema a ser desenvolvido bem como sua solução

● Entretanto, esses modelos deixam algumas perguntas


sem respostas

2
Introdução

3
Introdução
● Para responder às questões anteriores, o modelo de
interações deve ser criado

● Esse modelo representa mensagens trocadas entre


objetos para a execução de cenários dos casos de uso
do sistema

● A construção dos diagramas de interação é uma


consolidação do entendimento dos aspectos
dinâmicos do sistema

4
Introdução

5
Introdução
● Os objetivos da construção do modelo de interação
são:
○ 1. Obter informações adicionais para completar e
aprimorar outros modelos
■ Quais os objetos participantes da realização de
um caso de uso (ou cenário deste)?
■ Qual a assinatura dos métodos?

○ 2. Fornecer aos programadores uma visão


detalhada dos objetos e mensagens envolvidos na
realização dos casos de uso

6
Mensagem
● O conceito básico da interação entre objetos é a
mensagem

● Um sistema OO é uma rede de objetos que trocam


mensagens
○ Funcionalidades são realizadas pelos objetos, que
só podem interagir através de mensagens
○ Um objeto envia uma mensagem para outro
objeto quando o primeiro deseja que o segundo
realize alguma tarefa

7
Mensagem
● O fato de um objeto “precisar de ajuda” indica a
necessidade de este enviar mensagens

● Na construção de diagramas de interação, mensagens


de um objeto a outro implicam em operações que
classes devem ter

8
Mensagens X Responsabilidades
● Qual o objetivo da construção dos diagramas de
interação?
○ Identificar mensagens e responsabilidades
(operações e atributos)

9
Notação para Objetos
● Objetos são representados em um diagrama de
interação

● Tipos de objetos representados:

10
Tipos de Diagrama de Interação
● Há três tipos de diagrama de interação na UML 2.0:

11
Diagrama de Sequência
● Elementos básicos em um diagrama de sequência
○ Atores
○ Objetos e classes
○ Mensagens
○ Linhas de vida e focos de controle
○ Criação e destruição de objetos
○ Iterações

12
Diagrama de Sequência

13
Diagrama de Sequência
public class ClasseA{
private ClasseB objetoB;

public void metodoA(){


objetoB.metodo1();
objetoB.metodo2();
}

14
Diagrama de Sequência

15
Atores
● São os mesmos do Diagrama de Casos de Uso e
possuem a mesma representação, diferenciam-se por
apresentarem uma “linha de vida”

● Geralmente, um Diagrama de Sequência é iniciado por


um evento externo, gerado por um ator

16
Objetos
● Representam as instâncias das classes envolvidas no
processo ilustrado pelo diagrama de sequência

● Assim como os atores, os objetos possuem uma “linha


de vida” vertical tracejada
○ Um objeto pode existir desde o início do processo
ou ser criado durante sua execução

17
Linha de vida
● Representa o tempo em que um objeto existe durante
um processo

● Representada por uma linha vertical fina tracejada


partindo do objeto

● Quando o objeto é destruído, a linha de vida é


interrompida com um “X”

18
Foco de Controle (ou Ativação)
● Indica o período que o objeto está participando
ativamente do processo

● Os focos de controle são representados dentro da


linha de vida, porém por uma linha mais grossa

19
Mensagens ou Estímulos
● Demonstram a ocorrência de eventos que,
comumente fazem chamadas a um método de algum
objeto envolvido no processo

● Representadas por uma seta e indica qual


componente enviou a mensagem e qual recebeu

20
Mensagens ou Estímulos

21
Mensagens ou Estímulos

22
Diagrama de Sequência
public class Venda{
private Pagamento pagamento;

public void fazerPagamento(){


Pagamento = new Pagamento(double valor);
}

23
Mensagens Ator-Objeto
● Indica uma solicitação de serviço feita pelo ator ao
sistema

● O ator produz um evento que força o disparo de um


método

● Tipo comum quando se modela casos de uso

24
Mensagens Ator-Objeto

25
Mensagens entre Objetos
● Indica que um objeto transmite uma mensagem para
outro objeto
○ Exemplo, solicitando a execução de um método

● Tipo mais comum de troca de mensagens

26
Mensagem Objeto-Ator
● Indica a resposta de uma solicitação de serviço feita
pelo ator
○ Ocorre normalmente quando o objeto envia uma
mensagem de retorno

● Mensagens de retorno são representadas por linhas


tracejadas
○ Pode conter legenda indicando o retorno

27
Mensagem Objeto-Ator

28
Mensagens de Retorno
● Além de resposta ao ator, mensagens de retorno
podem indicar respostas para objetos
○ Pode retornar informações específicas do método
chamado

● Mensagens de retorno são opcionais em Diagramas de


Sequência

29
Mensagens de Retorno

30
Destruição de um Objeto
● A seta atinge o fim da linha da vida de um objeto
○ Um X marca a destruição do objeto
○ O objeto deixa de existir a partir daquele momento

● A mensagem representa a chamada do método


construtor

31
Auto-Chamadas
● Mensagens que um objeto envia para si mesmo
○ A mensagem parte do objeto e atinge o próprio
objeto

● Utilizado para indicar que o objeto precisa executar


algumas operações relacionadas ao serviço solicitado

32
Auto-Chamadas

33
Diagramas Exemplos

34
Diagramas Exemplos
1.Criar novo curso

35
Diagramas Exemplos
1.Criar novo curso

36
Referências

● Utilizando UML e Padrões Craig Larman


● Princípios de Análise e Projeto de Sistemas com UML
2015
● Slides do professor Marcos de Oliveira
● Slide do professor Eduardo Figueiredo da PUC

37
Questions?

E-mail:
juliomserafim@gmail.com

38

Você também pode gostar