Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Diagrama sequencia, Notas de estudo de Análise de Sistemas de Engenharia

Objetivos e Principais Características do Diagrama de Sequencia

Tipologia: Notas de estudo

2011

Compartilhado em 13/07/2011

alexsandro-campos-7
alexsandro-campos-7 🇧🇷

5

(1)

4 documentos

1 / 14

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
1
Diagramas de Seqüência
Interações
Comportamento que
Envolve conjunto de mensagens trocadas entre objetos dentro
de um determinado contexto
Objetiva atingir resultado específico
Acontecem em função da troca de mensagens entre objetos
Usadas para a modelagem dos aspectos dinâmicos de um
sistema
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe

Pré-visualização parcial do texto

Baixe Diagrama sequencia e outras Notas de estudo em PDF para Análise de Sistemas de Engenharia, somente na Docsity!

Diagramas de Seqüência

Interações

  • Comportamento que
    • Envolve conjunto de mensagens trocadas entre objetos dentro de um determinado contexto
    • Objetiva atingir resultado específico
  • Acontecem em função da troca de mensagens entre objetos
  • Usadas para a modelagem dos aspectos dinâmicos de um

sistema

Comunicação entre Objetos

  • Mensagem
    • Recepção de mensagem por um objeto
      • Considerado instância de evento
    • Decorrência da passagem de uma mensagem
      • Repercute ação representada por um comando executável
      • Comando Executável: abstração de procedimento computacional

Mensagem = Ident. Objeto Ident. Operação Parâmetros

mensagem o:Ob1 :Ob

Diagramas de Interação

  • Deseja-se representar o comportamento de vários

objetos

  • Dentro de um único caso de uso
  • A partir das mensagens que são passadas entre eles
  • Objetivo
  • Definir um contexto de caso de uso
  • Estabelecer os objetos que interagem e seus relacionamentos
  • Termo genérico que se aplica a dois tipos de diagramas que

enfatizam interações entre objetos

  • Diagrama de Seqüência
  • Diagrama de Colaboração

Elementos dos Diagramas de Seqüência:

  • Linhas verticais representando o tempo de vida de um objeto (lifeline);
  • Estas linhas verticais são preenchidas por barras verticais que indicam exatamente quando um objeto passou a existir. Quando um objeto desaparece, existe um "X" na parte inferior da barra;
  • Linhas horizontais ou diagonais representando mensagens trocadas entre objetos. Estas linhas são acompanhadas de um rótulo que contém o nome da mensagem e, opcionalmente, os parâmetros da mesma. Observe que também podem existir mensagens enviadas para o mesmo objeto, representando uma iteração;
  • Uma condição é representada por uma mensagem cujo rótulo é envolvido por colchetes;
  • Mensagens de retorno são representadas por linhas horizontais tracejadas. Este tipo de mensagem não é freqüentemente representada nos diagramas, muitas vezes porque sua utilização leva a um grande número de setas no diagrama, atrapalhando o entendimento do mesmo. Este tipo de mensagem só deve ser mostrada quando for fundamental para a clareza do diagrama.

7

Diagrama de seqüência

Tempo (top-down) ObjetoA

ObjetoB

[se novo] <>

mensagem

mensagem (auto delegação)

valor de retorno

<>

(caixa de)ativação

condição de guarda mensagem síncrona

objeto

símbolo de destruição

linha de vida

Diagrama de Colaboração

9

Um diagrama de colaboração mostra de maneira semelhante ao diagrama de sequencia, a colaboração dinâmica entre os objetos. Normalmente pode-se escolher entre utilizar o diagrama de colaboração ou o diagrama de sequência.

No diagrama de colaboração, além de mostrar a troca de mensagens entre os objetos, percebe-se também os objetos com os seus relacionamentos. A interação de mensagens é mostrada em ambos os diagramas. Se a ênfase do diagrama for o decorrer do tempo, é melhor escolher o diagrama de sequência, mas se a ênfase for o contexto do sistema, é melhor dar prioridade ao diagrama de colaboração.

O diagrama de colaboração é desenhado como um diagrama de objeto, onde os diversos objetos são mostrados juntamente com seus relacionamentos. As setas de mensagens são desenhadas entre os objetos para mostrar o fluxo de mensagens entre eles. As mensagens são nomeadas, que entre outras coisas mostram a ordem em que as mensagens são enviadas. Também podem mostrar condições, interações, valores de resposta, e etc. O diagrama de colaboração também pode conter objetos ativos, que executam paralelamente com outros.

Diagrama de Colaboração

josejosejosejose Floricultor

centralcentral^ centralcentral CentralFloricultura

joao:Dentistajoao:Dentistajoao:Dentistajoao:Dentista

floricultorPetropolisfloricultorPetropolisfloricultorPetropolisfloricultorPetropolis Floricultor

1.1: atendeCidade("Petropolis"):boolean

1.3: aceitaEncomenda("Rosas","Rua X,9"):boolean

1: enviarFlores("Rosas","Maria","Petropolis","Rua x, 9"):boolean

1.2:[se nao na cid...] getFloricultorNaCidade("Petropolis"):Floricultor

Objetos

Linhas de Vida

  • Dimensão vertical do diagrama
  • Apresentam o tempo de vida dos objetos
  • Pode apresentar a ativação ou a desativação dos objetos
    • Indicam que os objetos estão executando algo
      • Foco de controle
    • Caixas de ativação podem ser empilhadas
      • Indica chamada de método do próprio objeto
      • Objeto jose no slide anterior
  • Podem representar a criação e a destruição de objetos

pedidopedido pedidopedido

vendedorvendedorvendedorvendedor

estoqueestoqueestoqueestoque

2.2: reservarItem

3.1: confirmarPedido

2.1: verificarDisponibilidade

4:

3: confirmarPedido

2:[] //adicionarItem

1:

Linhas de Vida

Linhas de vida new()

(Caixas de) Ativação

kill()

Criação

Destruição

Mensagens

  • Objetos interagem através da troca de mensagens
    • Setas sólidas que vão do objeto solicitante para o solicitado
      • Para o próprio objeto: auto-delegação
    • Rotulados com os nomes dos estímulos mais os argumentos (ou valores dos argumentos) do estímulo
  • Sintaxe
    • onde
      • return é o nome do valor de retorno
      • message é o nome da mensagem
      • parameter é o nome de um parâmetro da mensagem
      • parameterType é o nome do tipo desse parâmetro
      • returnType é o tipo do valor de retorno

return := message(parameter:parameterType):returnType

Mensagens

mensagens

Auto-delegação

josejose josejose Floricultor

centralcentralcentralcentral CentralFloricultura

joao:Dentistajoao:Dentistajoao:Dentistajoao:Dentista

floricultorPetropolisfloricultorPetropolis floricultorPetropolisfloricultorPetropolis Floricultor

1.1: atendeCidade("Petropolis"):boolean

1.3: aceitaEncomenda("Rosas","Rua X,9"):boolean

1: enviarFlores("Rosas","Maria","Petropolis","Rua x, 9"):boolean

1.2:[se nao na cid...] getFloricultorNaCidade("Petropolis"):Floricultor

Mensagens – Condições de Guarda

  • Mensagens podem apresentar condições de guarda
    • condições em que a mensagem é enviada
    • [condição de guarda]

:Aluno :Sistema (^) :Impressora

login()

sistemaOk

matricula()

turmaCheia

[sem vaga]

matriculado

imprimirRelatório()

[com vaga]

Matrícula

Mensagens - Iteração

  • Uma mensagem pode ser enviada repetidas vezes
      • mensagem(...)

pedidopedido pedidopedido

vendedorvendedorvendedorvendedor

estoqueestoque^ estoqueestoque

2.2: reservarItem

3.1: confirmarPedido

2.1: verificarDisponibilidade

4:

3: confirmarPedido

2:[] //adicionarItem

1:

  • adicionarItem

pedido

vendedor

Foco de Controle

  • Período de tempo que o objeto executa uma ação
  • Relação de controle entre ativação e o responsável pela sua

invocação

Blog - Casos de uso

blogSystem

Criar Comentario

Ler Conteudo

Remover Conteudo Remover Nota

Remover Comentario

Criar Blog

Ler Comentario

Ler Nota

Criar Nota

Usuario

Dono do blog

<> <>

<>

Blog - Diagrama de Classes

Blog - Diagrama de Seqüência: Criar blog

: UsuarioBlog: UsuarioBlog : GUIBlog: GUIBlog^ : ControladorBlog: ControladorBlog^ : Blog: Blog

1: criarBlog(titulo, usuario)

2: criarBlog(t it ulo, usuario)

3: new Blog(titulo, usuario, dataCriacao)

Blog - Diagrama de Seqüência: Criar Nota

: UsuarioBlog: UsuarioBlog : GUIBlog: GUIBlog : ControladorBlog: ControladorBlog : Blog: Blog (^) : Nota: Nota

1: criarNota(usuario, idBlog, comentario)

2: criarNot a(usuario, idBlog, comentario)

3: consultarBlog(idBlog)

4: getDono()

5: [se dono == usuario] new Nota(comentario, usuario)