análise e desenvolvimento de sistemas diagramas de interação profa. maria salete marcon gomes vaz
TRANSCRIPT
![Page 1: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/19.jpg)
Casos de Uso
![Page 20: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/24.jpg)
Resposta
![Page 25: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/27.jpg)
Resposta
![Page 28: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/30.jpg)
Resposta
![Page 31: Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc0ff497959413d8bc0c2/html5/thumbnails/31.jpg)
Próximo Assunto:
Diagramas de Seqüência