26
Diagramas de Interação da UML (Diagrama de Sequência e Diagrama de Comunicação) - Aula 10 Slides gentilmente cedidos por Profa. Dra. Maria Istela Cagnin Machado UFMS/FACOM Prof. Fernando Maia da Mota Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX

Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

Embed Size (px)

Citation preview

Page 1: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

Diagramas de Interação

da UML (Diagrama de Sequência e Diagrama de

Comunicação) - Aula 10

Slides gentilmente cedidos por Profa. Dra. Maria Istela Cagnin Machado

UFMS/FACOM

Prof. Fernando Maia da Mota

Universidade Federal de Mato Grosso do Sul

Sistemas de Informação - CPCX

Page 2: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

Diagramas de Interação - Diagrama de Sequência

- Diagrama de Comunicação

Page 3: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

Interações Mostram os aspectos dinâmicos de um

sistema, enfatizando a troca de mensagens entre objetos

São usadas para modelar o fluxo de controle para uma operação, classe, componente,

subsistema ou sistema inteiro

Dois diagramas podem ser usados para modelar as interações: diagramas de sequência e diagramas de comunicação

Page 4: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

Utilidades 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

úteis para sistemas OO porque a funcionalidade nesses

sistemas geralmente é distribuída em muitas classes

diferentes

Page 5: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

Os diagramas de interação costumam conter:

- Objetos

- Vínculos (relacionamentos)

- Mensagens

UML – Diagramas de Interação

Page 6: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

UML - Diagramas de Interação

Diagrama de sequência e Diagrama de

Comunicação (denominado diagrama de

Colaboração antes da UML 2.0)

utilizados na UML para a modelagem dos

aspectos dinâmicos do sistema

Page 7: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

Diagrama de sequência dá ênfase a ordenação temporal de mensagens

Diagrama de comunicação dá ênfase na organização estrutural dos objetos que

enviam e recebem mensagens

UML - Diagramas de Interação

Page 8: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

Descrevem comportamento interno

Mostram os eventos entre objetos

Descrevem uma interação no tempo

Ideal para especificações de tempo real

Não mostram a associação entre objetos

Possibilitam o refinamento do diagrama de classes

UML - Diagramas de Interação

(Diagrama de Sequência)

Page 9: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

Características que o diferencia do diagrama

de comunicação:

linha de vida do objeto

linha tracejada vertical que representa a existência de

um objeto em um período de tempo

foco de controle (caixas de ativação)

é um retângulo alto e estreito que mostra o período

durante o qual um objeto está desempenhando uma

ação

UML - Diagramas de Interação

(Diagrama de Sequência)

Page 10: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

UML - Diagrama de Sequência

Objetos e papéis

As interações acontecem, em geral, entre

objetos (ou outras instâncias)

Page 11: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

Papel das classes

(objetos)

descreve a forma como

um objeto vai se

comportar dentro de um

contexto

UML - Diagramas de Interação

(Diagrama de Sequência)

Page 12: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

UML - Diagramas de Interação

(Diagramas de Sequência)

Caixas de ativação

representam o mo-

mento no qual um objeto

precisa ter completado

uma tarefa

Page 13: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

UML – Diagrama de Sequência

Mensagens Mensagem

especificação de uma comunicação entre objetos, onde são

passadas informações, com a esperança de que alguma

atividade ocorra

Na maioria das vezes, uma mensagem resulta na execução

de uma operação

Tipos principais de mensagens Chamada (Call)

Retorno (Return)

Envio (Send)

Criação (Create)

Destruição (Destroy)

Page 14: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

UML - Diagramas de Interação

(Diagramas de Sequência) Mensagens

são a comunicação

entre objetos, represen-

tadas por setas.

O objeto somente recebe a

mensagem se estiver em um

determinado estado

retorno de msg

(opcional)

Page 15: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

UML - Diagramas de Interação

(Diagramas de Sequência)

Linhas de vida

representam a presença de

um objeto no decorrer do

tempo

Page 16: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

UML - Diagramas de Interação

(Diagramas de Sequência)

Objetos podem ser

destruídos (terminados)

usando-se uma seta

rotulada “<<destroy>>” que

aponta para um X

Page 17: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

UML - Diagramas de Interação

(Diagramas de Sequência)

Repetição ou loop

representada por um

retângulo

a condição para a

existência do loop é

colocada no canto inferior

esquerdo

Page 18: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

UML - Diagramas de Interação

(Diagramas de Sequência)

Mensagens “self” ou

“this”

mensagem enviada de um

objeto para ele mesmo

Page 19: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

UML - Diagramas de Interação

(Diagramas de Sequência)

Mensagens condicionais

Contém uma cláusula

condicional em colchetes.

A mensagem será enviada

somente se a clausula tiver

o valor true (verdadeiro)

Page 20: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

UML - Diagrama de Sequência: Exemplo 1

Jose : Chamador

EmpresaTelefônica: Central

1: retira fone do gancho

2: tom de discar

3: discagem do número chamado

4: tom de controle 5: toque de chamada

6: retira fone do gancho

7: conversação 8: emite conversação

11: repõe fone no gancho 12: tom de ocupado

13: repõe fone no gancho

a

b

{b - a < 1 seg.}

c

d

{d - c < 1 seg.}

Antonio : Chamado

9: conversação 10: emite conversação

[enquanto houver conversação]

Page 21: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

UML - Diagrama de Sequência: Exemplo 2

Page 22: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

• Características que o diferencia do diagrama de

sequência: • indica como um objeto está vinculado a outro

•indica a ordem temporal de uma mensagem (número

de sequência)

UML – Diagramas de Interação

(Diagrama de Comunicação)

Praticamente tudo o que pode ser mostrado em um Diagrama de Sequência também pode ser mostrado em um Diagrama de Comunicação. Assim, a partir de um

pode-se transformar no outro

Page 23: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

UML - Diagramas de Interação

(Diagramas de Comunicação)

Papel da classe

descreve como a classe se

comporta

Page 24: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

UML - Diagramas de Interação

(Diagramas de Comunicação)

Mensagens são nume-

radas pela ordem de

execução

porque não há uma forma

explícita de denotar o

tempo

Page 25: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

EmpresaTelefônica : Central

1: retira fone do gancho

2: tom de discar

3: discagem do número chamado

4: tom de controle

5: toque de chamada

6: retira fone do gancho

7: * [enquanto conversa] conversação

8: emite conversação

11: repõe fone no gancho

12: tom de ocupado

13: repõe fone no gancho

UML - Diagrama de Comunicação

Exemplo

Jose:Chamador Antonio:Chamado

10: * [enquanto conversa] emite conversação

9: * [enquanto conversa] conversação

Page 26: Diagramas de Interação da UML - …fernandommota.github.io/academy/disciplines/2015/analise_projeto... · aponta para um X . UML - Diagramas de Interação ... UML – Diagramas

Considerações Finais

Tipo Pontos Fortes Pontos fracos Sequência - Mostra com clareza a

sequência ou ordem

temporal das mensagens

-Deve ser estendido para a

direita quando são

acrescidos novos

elementos;

- consome espaço na

horizontal

Comunicação -Economia de espaço –

flexibilidade de adicionar

novos elementos em duas

dimensões

- Melhor para ilustrar

ramificações complexas de

controle, iterações e

comportamento concorrente

- É difícil ver a sequência de

mensagens