UML – Aula I Diagramas de Caso de Uso, Classes ... de Sequência •Um diagrama de seqüência...

23
UML Aula I Diagramas de Sequência e Colaboração Ricardo Argenton Ramos Engenharia de Software II 2017.1 29/06/2017

Transcript of UML – Aula I Diagramas de Caso de Uso, Classes ... de Sequência •Um diagrama de seqüência...

Page 1: UML – Aula I Diagramas de Caso de Uso, Classes ... de Sequência •Um diagrama de seqüência ilustra uma interação segundo uma visão temporal. •Um diagrama de seqüência

UML – Aula I

Diagramas de Sequência e

Colaboração

Ricardo Argenton Ramos

Engenharia de Software II

2017.1

29/06/2017

Page 2: UML – Aula I Diagramas de Caso de Uso, Classes ... de Sequência •Um diagrama de seqüência ilustra uma interação segundo uma visão temporal. •Um diagrama de seqüência

Diagramas de Sequência

• Um diagrama de seqüência ilustra uma interação segundo uma visão temporal.

• Um diagrama de seqüência é representado através de duas dimensões:– a dimensão horizontal, que representa o conjunto de

objetos intervenientes; e

– a dimensão vertical que representa o tempo.

• A apresentação destas dimensões pode ser invertida, se for conveniente. Não existe qualquer significado na ordenação horizontal dos objetos intervenientes, ou seja, na sua disposição relativa.

Page 3: UML – Aula I Diagramas de Caso de Uso, Classes ... de Sequência •Um diagrama de seqüência ilustra uma interação segundo uma visão temporal. •Um diagrama de seqüência

Diagramas de Sequência

• Modelagem do comportamento do sistema

– descrição do que um sistema faz sem

explicar como ele faz.

• Enfatizam a ordenação das

mensagens trocadas entre os objetos e

atores.

• É construído a partir de um caso de

uso.

Page 4: UML – Aula I Diagramas de Caso de Uso, Classes ... de Sequência •Um diagrama de seqüência ilustra uma interação segundo uma visão temporal. •Um diagrama de seqüência

Exemplo de um diagrama de

seqüência

Page 5: UML – Aula I Diagramas de Caso de Uso, Classes ... de Sequência •Um diagrama de seqüência ilustra uma interação segundo uma visão temporal. •Um diagrama de seqüência

Outro Exemplo – Partindo do

diagrama de Casos de Uso

Page 6: UML – Aula I Diagramas de Caso de Uso, Classes ... de Sequência •Um diagrama de seqüência ilustra uma interação segundo uma visão temporal. •Um diagrama de seqüência

Outro Exemplo – Partindo do

diagrama de Casos de Uso

Page 7: UML – Aula I Diagramas de Caso de Uso, Classes ... de Sequência •Um diagrama de seqüência ilustra uma interação segundo uma visão temporal. •Um diagrama de seqüência

Vamos fazer um diagrama de seqüência

de uma chamada Telefônica

José: Chamador Pedro: Chamado

Empresa Telefônica - Central

1. Retira o Telefone do gancho

Page 8: UML – Aula I Diagramas de Caso de Uso, Classes ... de Sequência •Um diagrama de seqüência ilustra uma interação segundo uma visão temporal. •Um diagrama de seqüência

Vamos fazer um diagrama de seqüência

de uma chamada Telefônica

José: Chamador Pedro: Chamado

Empresa Telefônica - Central

1. Retira o Telefone do gancho

2. Tom de discagem

3. Discagem do número

4. Tom de controle5. Toque de chamada

6. Retira fone do gancho

7. Conversação 8. Conversação

9. Repõe o Telefone do gancho 10. Tom de ocupado

. . .

Page 9: UML – Aula I Diagramas de Caso de Uso, Classes ... de Sequência •Um diagrama de seqüência ilustra uma interação segundo uma visão temporal. •Um diagrama de seqüência

Diagramas de Colaboração

• Um diagrama de colaboração ilustra uma

interação organizada espacialmente.

• De forma distinta dos diagramas de seqüência,

um diagrama de colaboração mostra as

relações entre objetos que desempenham

diferentes papéis. Por outro lado, um diagrama

de colaboração não mostra o tempo como uma

dimensão separada, pelo que a seqüência de

interações e de atividades concorrentes é

representada usando-se números seqüenciais.

Page 10: UML – Aula I Diagramas de Caso de Uso, Classes ... de Sequência •Um diagrama de seqüência ilustra uma interação segundo uma visão temporal. •Um diagrama de seqüência

Diagramas de Colaboração

• A ordem de uma interação é descrita através de

uma seqüência de números, normalmente com

início em 1.

• Num fluxo de controle procedimental, os

números de comunicação de uma subseqüência

são representados de acordo com o respectivo

nível de inclusão. Para uma seqüência de

interações não procedimental, i.e., entre objetos

concorrentes, todos os números de uma

seqüência encontram-se ao mesmo nível.

Page 11: UML – Aula I Diagramas de Caso de Uso, Classes ... de Sequência •Um diagrama de seqüência ilustra uma interação segundo uma visão temporal. •Um diagrama de seqüência

Exemplo – Diagramas de

Colaboração

Diagrama de colaboração na forma de diagrama de instâncias.

Page 12: UML – Aula I Diagramas de Caso de Uso, Classes ... de Sequência •Um diagrama de seqüência ilustra uma interação segundo uma visão temporal. •Um diagrama de seqüência

Diagramas de Colaboração – tipos

de representação• Um diagrama de colaboração pode ser

representado por duas formas: – nível de especificação (o diagrama ilustra os papéis

que as classes e associações desempenham, bem como as suas mensagens), ou

– nível de instância (o diagrama ilustra objetos, ligações e estímulos).

• A primeira forma apresenta os papéis e estrutura definida na colaboração subjacente, enquanto que a segunda ilustra uma instância que deve ser conforme com os papéis de uma colaboração.

Page 13: UML – Aula I Diagramas de Caso de Uso, Classes ... de Sequência •Um diagrama de seqüência ilustra uma interação segundo uma visão temporal. •Um diagrama de seqüência

Exemplo 1: Diagramas de Colaboração

Pessoa com distintos Papéis.

• “Num contexto acadêmico, uma pessoa pode desempenhar dois papéis distintos. Por um lado, uma pessoa, como professor, pode ser o regente ou coordenador de (zero ou mais) disciplinas e pode ser responsável pela supervisão de (zero ou mais) estudantes. Por outro lado, uma pessoa como estudante tem necessariamente um tutor (o professor que o supervisiona), e inscreve-se em (zero ou mais) disciplinas”.

• Mostra-se neste exemplo as relações entre diagramas de classes, de colaboração de nível específico, e de colaboração de nível de instâncias.

Page 14: UML – Aula I Diagramas de Caso de Uso, Classes ... de Sequência •Um diagrama de seqüência ilustra uma interação segundo uma visão temporal. •Um diagrama de seqüência

Exemplo 1: Diagramas de Classes.

Page 15: UML – Aula I Diagramas de Caso de Uso, Classes ... de Sequência •Um diagrama de seqüência ilustra uma interação segundo uma visão temporal. •Um diagrama de seqüência

Exemplo 1: Diagramas de Colaboração

Pessoa com distintos Papéis.

Diagrama de colaboração no nível de especificação

Page 16: UML – Aula I Diagramas de Caso de Uso, Classes ... de Sequência •Um diagrama de seqüência ilustra uma interação segundo uma visão temporal. •Um diagrama de seqüência

Exemplo 1: Diagramas de Colaboração

Pessoa com distintos Papéis.

Diagrama de colaboração no nível de Instâncias

Page 17: UML – Aula I Diagramas de Caso de Uso, Classes ... de Sequência •Um diagrama de seqüência ilustra uma interação segundo uma visão temporal. •Um diagrama de seqüência

Exemplo da Máquina de Bebidas

Considere para o efeito que a máquina é composta, entre outros, por três objetos principais:– Interface: o painel de interface com o usuário;

– Registradora: a caixa registradora, que guarda o dinheiro;

– Dispensa: a caixa/armário que guarda as diferentes bebidas.

Considere ainda que o cenário a representar é composto pela seguinte seqüência de ações:– O cliente insere o dinheiro na ranhura no painel de interface da

máquina;

– O cliente seleciona o tipo de bebida;

– O dinheiro “vai até” a caixa registradora, esta atualiza a sua reserva de dinheiro;

– A interface pede a bebida à dispensa;

– A dispensa envia a bebida selecionada para o painel de interface;

– A interface devolve a bebida ao cliente;

Page 18: UML – Aula I Diagramas de Caso de Uso, Classes ... de Sequência •Um diagrama de seqüência ilustra uma interação segundo uma visão temporal. •Um diagrama de seqüência

Exemplo da Máquina de Bebidas:

Diagrama de Sequência: Comprar Bebidas

Page 19: UML – Aula I Diagramas de Caso de Uso, Classes ... de Sequência •Um diagrama de seqüência ilustra uma interação segundo uma visão temporal. •Um diagrama de seqüência

Exemplo da Máquina de Bebidas:

Diagrama de Colaboração: Comprar Bebidas

Page 20: UML – Aula I Diagramas de Caso de Uso, Classes ... de Sequência •Um diagrama de seqüência ilustra uma interação segundo uma visão temporal. •Um diagrama de seqüência

Voltando ao Exemplo de uma

ligação telefônica

José: ChamadorPedro: Chamado

Empresa Telefônica - Central

1. Retira o Telefone do gancho

Page 21: UML – Aula I Diagramas de Caso de Uso, Classes ... de Sequência •Um diagrama de seqüência ilustra uma interação segundo uma visão temporal. •Um diagrama de seqüência

Voltando ao Exemplo de uma

ligação telefônica

José: ChamadorPedro: Chamado

Empresa Telefônica - Central

1. Retira o Telefone do gancho

2. Tom de discagem

3. Discagem do número

4. Tom de controle

7. Conversação

9. Repõe o Telefone do gancho

5. Toque de chamada

6. Retira fone do gancho

8. Conversação

10. Tom de ocupado

11. Repõe fone no gancho

Page 22: UML – Aula I Diagramas de Caso de Uso, Classes ... de Sequência •Um diagrama de seqüência ilustra uma interação segundo uma visão temporal. •Um diagrama de seqüência

Exercício

• Faça um diagrama de sequencia e de

colaboração a partir do caso de uso

abaixo:

Page 23: UML – Aula I Diagramas de Caso de Uso, Classes ... de Sequência •Um diagrama de seqüência ilustra uma interação segundo uma visão temporal. •Um diagrama de seqüência

Reunião com os grupos para

definir o escopo do projeto