análise e desenvolvimento de sistemas diagramas de interação profa. maria salete marcon gomes vaz

31
Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Upload: internet

Post on 17-Apr-2015

105 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Análise e Desenvolvimento de

Sistemas

Diagramas de Interação

Profa. Maria Salete Marcon Gomes Vaz

Page 2: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Situando

✔ Orientação a Objetos✔ UML

✔ Casos de Uso✔ Levantamento de Classes➔ Diagramas de Interação

Page 3: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Diagramas de Interação

Apresentam visões detalhadas dos Casos de Uso

Dividem-se em Diagramas de Seqüência Diagramas de Colaboração

Page 4: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Diagramas de Seqüência

Objetivo Descrever as comunicações necessárias entre

objetos para a realizacão dos processos em um sistema computacional

Mostra interação organizada em forma de seqüência

Define relacionamentos necessários entre as classes

Page 5: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Utilização

Constrói-se um diagrama de seqüência para cada caso de uso – diagrama de seqüência principal.

Opcionalmente constrói-se diagramas de seqüência para cenários Cenário: Forma de ocorrência de um caso de

uso. Ex: Cenários de inclusão, alteração e exclusão

para o caso de uso Cadastrar Cliente. Cenários de Erro.

Page 6: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Notação

Objetos

Ativação

Linha de TempoMensagens

Page 7: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Questão

O diagrama de seqüência apresenta-se mais próximo do “mundo real” ou da implementação do software?

Page 8: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Resposta

Continuum“Mundo Real” Software

Diagr

ama

de C

asos

de

Uso

Dia

gram

a de

Cla

sses

Dia

gram

as d

e In

tera

ção

Anális

e de

Req

uisit

osM

odel

o Ent

idad

e-R

elac

iona

men

to

Page 9: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Significado das Mensagens

Chamada de função ou procedimento Ocorrência de evento

Evento Origem Destino

Clique do Mouse Mouse Algum objeto

Movimento do mouse Mouse Algum objeto

Dados no buffer do teclado Teclado Algum objeto

Dados no buffer da serial Porta serial Algum objeto

Interrupção Hardware Algum objeto

Projeção de dados no monitor Algum objeto Monitor

Bip do autofalante Algum objeto Autofalante

Page 10: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Tipos de Mensagens

Mensagem Síncrona

Mensagem Assíncrona

Page 11: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Questão

Com relação a sincronia, como são classificadas a chamada de função e a ocorrência de evento?

Page 12: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Sintaxe das Mensagens

A sintaxe geral para mensagens em diagramas de seqüência é: *[Condição] Seqüência : Retorno :=

NomeMsg(Argumentos)

Page 13: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Condição

Para que a mensagem seja enviada é necessário que a condição seja satisfeita.

Pode ser descrita por um operador relacional envolvendo atributos, variáveis ou constantes

Exemplo: [x < 10] GravaDados() [res = OK] GravaDados()

Page 14: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Repetições

A inclusão de um asterisco (*) antes de uma condição permite especificar repetições.

A condição representa uma expressão lógica de controle de repetição.

Exemplo: * [x < 10] calcular(x)

Page 15: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Seqüência

Pode-se incluir junto às mensagens uma numeração para indicar explicitamente a ordenação de ocorrência das mensagens.

O uso da numeração é útil para: O diagrama de colaboração Caso de concorrência

Exemplo: 1: calcular(x)

Page 16: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Retorno

Muitas funções permitem produzir um valor que é retornado ao objeto que fez sua chamada.

O objeto chamador deve indicar uma variável (atributo do objeto ou uma variável local) para receber o valor de retorno.

Exemplo: Res := registrar(codigo)

Page 17: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

NomeMsg

É o identificador da mensagem ou função que está sendo chamada.

Quando se tratar de chamada de função é necessário que a função seja declarada como uma das funções membro do objeto de destino da mensagem.

Page 18: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Argumentos

São valores (constantes ou variáveis) enviados junto com a mensagem.

No caso de chamada de função os argumentos devem coincidir com os parâmetros definidos para a função na classe do objeto destino.

Page 19: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Casos de Uso

Page 20: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Exemplo Diagrama de Seq.Caso de Uso Cadastrar Cliente

:Usuário

«Fronteira»: TUsuario

«Entidade»: TCliente

: Banco de Dados«Controle»

: TCadastrarCliente«Fronteira»

: TBancodeDados

TelaCliente

Cliente

SetCliente(Cliente)

Cliente inserido

MostraTelaCliente()

MostraTelaClienteInserido()

GravarCliente()

Cliente := GetCliente()

Cliente

Cliente inserido

Page 21: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Cenário de erro O diagrama a seguir representa uma seqüência alternativa

para o cenário de erro de violação de chave ao gravar no banco de dados.

Page 22: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Diagrama de SeqüênciaListar Débitos por Cliente:

Administrador«Fronteira»

: TAdministrador«Controle»

: TListarDebitos«Fronteira»

: TBancodeDados

: Banco de dados«Fronteira»

: TImpressora

:Impressora

«Entidade»: TListaDebitos

Cliente := SelecionaCliente()

SelecionaCliente

Cliente

ListarDebitos(Cliente)

Cliente

Pedido[*not f im]

AdicionaPedido(Pedido)[*not f im]

ImprimirListaDebitos()

Pedido := RecuperaPedido()[*not f im]

Pedido[*not f im]

Page 23: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Questão

Fazer o diagrama de seqüência alternativo ao Listar Débitos por Cliente para o caso do cliente não possuir débitos.

Page 24: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Resposta

Page 25: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Diagrama de SeqüênciaEncerrar Pedido

:Usuário

«Fronteira»: TUsuario

«Controle»: TEncerrarPedido

«Entidade»: TPedido

«Fronteira»: TBancodeDados

: Banco de dados«Fronteira»

: TImpressora

:Impressora

EncerraPedido()

CalculaValorPedido()

GravaPedido()

Pedido := GetPedido()

Pedido

Pedido Gravado

ImprimePedido()

Pedido := GetPedido()

Pedido

Pedido impressoMostraValorPedido()

Valor := GetValor()

Valor Pedido

Page 26: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Questão

Fazer o diagrama de seqüência alternativo ao Encerrar Pedido para o caso do pedido não possuir produtos (total igual a zero).

Page 27: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Resposta

Page 28: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Diagrama de SeqüênciaRegistrar Item

:Usuário

«Fronteira»: TUsuario

«Controle»: TRegItem

«Entidade»: TPedido

«Entidade»: TItemPedido

«Fronteira»: TBancodeDados

: Banco de Dados«Entidade»: TProduto

MostraTelaItem()

TelaItem

Produto, Quantidade

SetProduto(Produto)

SetItemPedido(Produto,Quantidade)

AdicionaItem(ItemPedido)

GravaItemPedido()

Pedido := GetPedido()

Item := GetItemPedido()Pedido, ItemPedido

Item registrado

Page 29: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Questão

Faça o diagrama de seqüência para o caso de uso Cadastrar Fornecedor

Page 30: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Resposta

Page 31: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz

Próximo Assunto:

Diagramas de Seqüência