28
Engenharia de Software Aula 8 – Diagrama de Sequência Profa. Dra. Judith Pavón Universidade Salvador – UNIFACS 2012

Aula8 diagrama sequencia

Embed Size (px)

Citation preview

Page 1: Aula8 diagrama sequencia

Engenharia de Software

Aula 8 – Diagrama de SequênciaProfa. Dra. Judith Pavón

Universidade Salvador – UNIFACS2012

Page 2: Aula8 diagrama sequencia

Objetivo da aula

2

O objetivo desta aula é apresentar os conceitos de diagrama de sequência.

Page 3: Aula8 diagrama sequencia

3

Primeira parte.

Conceitos básicos

Exemplos

Segunda parte.

Arquitetura em 3 camadas

Page 4: Aula8 diagrama sequencia

4

Definição Interação: Ação que se exerce

mutuamente entre dois ou mais elementos, ou duas ou mais pessoas; ação recíproca.

Iteração: Ato de iterar; repetição.

Page 5: Aula8 diagrama sequencia

5

Diagrama de Interação Interação corresponde a um conjunto de

mensagens trocadas entre objetos, com o objetivo de alcançar um determinado propósito, respeitando-se o contexto do sistema. O diagrama também apresenta a interação do usuário com os objetos de fronteira.

Um diagrama de Interação mostra as interações por meio de uma visão dinâmica do sistema.

Page 6: Aula8 diagrama sequencia

6

Page 7: Aula8 diagrama sequencia

7

Diagrama de Interação Um diagrama de Interação pode

representar: Um sistema Subsistema Operação Classe Cenário de um caso de uso.

Diagrama de Interação é formado, basicamente, por objetos, relacionamentos e mensagens.

Page 8: Aula8 diagrama sequencia

8

Tipos de Diagrama de Interação Um diagrama de Interação pode

ser representado de duas formas:

Diagrama de seqüência Enfatiza a seqüência de mensagens

dentro de uma linha de tempo.

Page 9: Aula8 diagrama sequencia

objeto

ativação

mensagem

linha de vida

Diagrama de Seqüência

Page 10: Aula8 diagrama sequencia

10

Diagrama de Comunicação

Enfatiza o relacionamento estrutural entre objetos, sem se preocupar com o tempo determinado para cada interação.

Tipos de Diagrama de Interação

Page 11: Aula8 diagrama sequencia

Diagrama de Comunicação

Page 12: Aula8 diagrama sequencia

12

Diagrama de seqüência

A representação gráfica de um diagrama de seqüência é baseada em duas dimensões.

A primeira dimensão é vertical e representa as mensagens trocadas no decorrer de um tempo de vida (eixo Y).

A segunda dimensão é horizontal e representa os objetos participantes das interações (eixo X).

As mensagens correspondem a chamadas de serviços dos objetos, ou seja, a chamadas de suas operações.

Page 13: Aula8 diagrama sequencia

13

Diagrama de seqüência - Mensagens

Uma mensagem é uma comunicação entre objetos (emissor e receptor) na expectativa de provocar uma resposta (ação ou atividade).

Uma mensagem é representada por uma seta horizontal, do emissor para o receptor, com o nome e possíveis argumentos.

Tipos de mensagens

Síncrona – o emissor espera a resposta do objeto receptor

Retorno de mensagem síncrona

Assíncrona – o emissor não espera a resposta paraprosseguir com o seu processamento

Page 14: Aula8 diagrama sequencia

14

Um Diagrama de Seqüência tem por basedois eixos fundamentais:

Tempo

Objetos

Dispostos em qualquer ordem.

Representadode cima para

baixoExemplo:

Exemplo

Page 15: Aula8 diagrama sequencia

15

Objetos e linhas de vida Cada objeto participante é representado

por uma caixa, cujo interior possui o nome do objeto instanciado.

Associado a este objeto existe uma linha pontilhada, conhecida como linha de vida do objeto.

Podem aparecer atores que normalmente iniciam as interações entre os objetos.

Page 16: Aula8 diagrama sequencia

16

:obj-A :obj-B :obj-C

Tempo

Objetos

As linhas pontilhadas expressama linha do tempo de vida de cada objeto

Exemplo:

Page 17: Aula8 diagrama sequencia

17

Criação e destruição de objetos

A criação de objetos é representada por mensagem dirigida à própria caixa que representa o objeto (ao invés de ser dirigida à linha de vida). Pode apresentar o estereótipo <<create>>

Destruição de objeto é representada por um “X” no fim da linha de vida do objeto. pode apresentar o estereótipo <<destroy>> o objeto pode auto destruir-se pode ocorrer na recepção de mensagem ou

no retorno de chamada

Page 18: Aula8 diagrama sequencia

18

:obj-A :obj-B

:obj-C

Msg1()Msg2()

Criar()

Msg4()

Excluir()

A mensagem de criação de um objetoé dirigida ao objeto e não à linha da vida

Exemplo

Page 19: Aula8 diagrama sequencia

19

:obj-A :obj-B :obj-C

Msg1()Msg2()

Msg3()

Msg4()

Excluir()

Duas linhas cruzadas em formaDe “X” indica a exclusão do objeto da memória.

(destruição)

Exemplo

Page 20: Aula8 diagrama sequencia

20

Barra de ativação

Uma barra de ativação mostra o período de tempo durante o qual um objeto está executando uma ação.

O retorno de chamada é implícito no fim da barra de ativação.

Chamadas recursivas provocam barras empilhadas

Page 21: Aula8 diagrama sequencia

21

:obj-A :obj-B :obj-C

Ativação

A ativação é o momento em queo objeto começa a trabalhar.

A altura do retângulo expressa umadimensão de tempo que o objeto permanece ativo

executando um método ou operação.

Exemplo

Page 22: Aula8 diagrama sequencia

22

:obj-A :obj-B :obj-C

Período Ativo

Durante seu tempo de vida um objetopode alternar do estado ativo para inativo

ou vice-versa.

Período Ativo

Período Inativo

Exemplo

Page 23: Aula8 diagrama sequencia

23

Exemplo

[Se disciplina.temPreReq]obterPreRerquisito(disc1)

auto-chamada ouchamada recursiva.

Chamada recursivaO objeto envia mensagem para si próprio.

(Um método chama outro método do próprio objeto)

cursoCCO:curso disc1:Disciplina

ObterGrade*[Para cada disciplina]

obterInfDisc(cursoX)

Grade()

coord.

Page 24: Aula8 diagrama sequencia

24

Page 25: Aula8 diagrama sequencia

25

ObjetivoO objetivo desta segunda parte é

mostrar um exemplo de diagrama de sequência dentro do contexto de arquitetura em três camadas.

Page 26: Aula8 diagrama sequencia

26

Diagrama de Seqüência

A seguir é apresentado um caso de uso relativo a compra de um produto e sua respectiva nota

fiscal.

Obs: A classe Cliente deveria fazer parte deste diagrama, da mesma forma que produto faz.

3:selecionar dados de prod ( )

<<form>>

:interface

<<control>>

:controle

<<entity>>

:produto

<<entity>>

:NotaFiscal

<<entity>>

:Detalhe_NF

Confirmar Compra 1.Verificar dados de entrada()

2:ObterDados( )

5:GerarNotaFiscal ( )

6:*[paracadaitem] gravarDados( )

4:dados

7:8:9:10:

vendedor

Representa uma composição no D_ClasseO Todo é resp. por enviar mensagens para a parte pois fazem parte de uma unidade.

Legenda dos símbolos utilizados:

Representa um objeto persistente

Representa um objeto de interface

Representa um objeto de controle

Page 27: Aula8 diagrama sequencia

27

Diagrama de Seqüência

Page 28: Aula8 diagrama sequencia

Dúvidas

28