Aula8 diagrama sequencia

1,891 views
1,619 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,891
On SlideShare
0
From Embeds
0
Number of Embeds
38
Actions
Shares
0
Downloads
86
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Aula8 diagrama sequencia

  1. 1. Engenharia de Software Aula 8 – Diagrama de Sequência Profa. Dra. Judith Pavón Universidade Salvador – UNIFACS 2012
  2. 2. Objetivo da aulaO objetivo desta aula é apresentar osconceitos de diagrama de sequência. 2
  3. 3. Primeira parte. Conceitos básicos Exemplos Segunda parte.  Arquitetura em 3 camadas 3
  4. 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. 4
  5. 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. 5
  6. 6. 6
  7. 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. 7
  8. 8. Tipos de Diagrama deInteraçã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. 8
  9. 9. Diagrama de Seqüência objeto mensagem linha de vidaativação
  10. 10. Tipos de Diagrama deInteração  Diagrama de Comunicação  Enfatiza o relacionamento estrutural entre objetos, sem se preocupar com o tempo determinado para cada interação. 10
  11. 11. Diagrama de Comunicação
  12. 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. 12
  13. 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 para prosseguir com o seu processamento 13
  14. 14. o Um Diagrama de Seqüência tem por base dois eixos fundamentais: Objetos Dispostos em qualquer ordem. Tempo Representado de cima para Exemplo: baixo 14
  15. 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. 15
  16. 16. Exemplo: Objetos :obj-A :obj-B :obj-C Tempo As linhas pontilhadas expressam a linha do tempo de vida de cada objeto 16
  17. 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 17
  18. 18. Exemplo :obj-A :obj-B Msg1() Msg2() Criar() :obj-C Msg4() Excluir() A mensagem de criação de um objeto é dirigida ao objeto e não à linha da vida 18
  19. 19. Exemplo :obj-A :obj-B :obj-C Msg1() Msg2() Msg3() Msg4() Excluir() Duas linhas cruzadas em forma De “X” indica a exclusão do objeto da memória. (destruição) 19
  20. 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 20
  21. 21. Exemplo A ativação é o momento em que o objeto começa a trabalhar. :obj-A :obj-B :obj-C Ativação A altura do retângulo expressa uma dimensão de tempo que o objeto permanece ativo executando um método ou operação. 21
  22. 22. Exemplo Durante seu tempo de vida um objeto pode alternar do estado ativo para inativo ou vice-versa. :obj-A :obj-B :obj-C Período Ativo Período Inativo Período Ativo 22
  23. 23. Exemplo cursoCCO:curso disc1:Disciplinacoord. [Se disciplina.temPreReq] ObterGrade obterPreRerquisito(disc1) *[Para cada disciplina] obterInfDisc(cursoX) auto-chamada ou chamada recursiva Grade() Chamada recursiva O objeto envia mensagem para si próprio. (Um método chama outro método do próprio objeto) 23
  24. 24. 24
  25. 25. Objetivo O objetivo desta segunda parte é mostrarum exemplo de diagrama de sequência dentro docontexto de arquitetura em três camadas. 25
  26. 26. Diagrama de Seqüência  A seguir é apresentado um caso de uso relativo a compra de um produto e sua respectiva nota fiscal. <<form>> <<control>> <<entity>> <<entity>> <<entity>>vendedor :interface :controle :produto :NotaFiscal :Detalhe_NF Confirmar Compra 1.Verificar dados de entrada() 2:ObterDados( ) 3:selecionar dados de prod ( ) 4:dados 5:GerarNotaFiscal ( ) 6:*[paracadaite m] gravarDados( ) 7: 9: 8: 10: Representa uma composição no Legenda dos símbolos utilizados : D_Classe O Todo é resp. por enviar Representa um objeto persistente mensagens para a parte pois fazem parte de uma unidade. Representa um objeto de interface Obs: A classe Cliente deveria fazer parte deste diagrama, da mesma forma que Representa um objeto de controle produto faz. 26
  27. 27. Diagrama deSeqüência 27
  28. 28. Dúvidas 28

×