aula8 diagrama sequencia

Post on 19-Jun-2015

1.306 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Engenharia de Software

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

Universidade Salvador – UNIFACS2012

Objetivo da aula

2

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

3

Primeira parte.

Conceitos básicos

Exemplos

Segunda parte.

Arquitetura em 3 camadas

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.

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.

6

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.

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.

objeto

ativação

mensagem

linha de vida

Diagrama de Seqüência

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

Diagrama de Comunicação

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.

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

14

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

Tempo

Objetos

Dispostos em qualquer ordem.

Representadode cima para

baixoExemplo:

Exemplo

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.

16

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

Tempo

Objetos

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

Exemplo:

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

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

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

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

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

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

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.

24

25

ObjetivoO objetivo desta segunda parte é

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

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

27

Diagrama de Seqüência

Dúvidas

28

top related