Elaine Gama Marques Gabrielle Freitas Manhães CEFET Campos [email protected]...
Transcript of Elaine Gama Marques Gabrielle Freitas Manhães CEFET Campos [email protected]...
![Page 2: Elaine Gama Marques Gabrielle Freitas Manhães CEFET Campos elainegmarques@superig.com.br gabifrm@yahoo.com.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc0f8497959413d8b6092/html5/thumbnails/2.jpg)
SUMÁRIO
INTRODUÇÃO .........................................3 OBJETIVO ................................................6 NOTAÇÕES .............................................9 DINÂMICA DE OBJETOS E LIGAÇÕES ........11 EXEMPLOS ..............................................12
2
![Page 3: Elaine Gama Marques Gabrielle Freitas Manhães CEFET Campos elainegmarques@superig.com.br gabifrm@yahoo.com.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc0f8497959413d8b6092/html5/thumbnails/3.jpg)
INTRODUÇÃO: Diagrama de Colaboração e Diagrama
de Seqüência são diagramas que podem ser usados para mostrar interações (mensagens) entre objetos;
Esses dois tipos são chamados diagramas de interação.
Os diagramas de interação ajudam muito a construir o sistema, sendo que uma boa parte do tempo deve ser dedicado à sua construção.
3
![Page 4: Elaine Gama Marques Gabrielle Freitas Manhães CEFET Campos elainegmarques@superig.com.br gabifrm@yahoo.com.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc0f8497959413d8b6092/html5/thumbnails/4.jpg)
Dá ênfase aos objetos que participam de uma interação (enviar e receber mensagens).
Mostra a interação sem a dimensão de tempo, mas inclui as ligações entre os objetos.
Diagramas de colaboração são usados para modelar cenários; cada cenário descreve uma possível seqüência de eventos e ações.
Para casos de uso complexos são feitos vários diagramas de colaboração; cada diagrama de colaboração é simples e fácil de entender.
4
![Page 5: Elaine Gama Marques Gabrielle Freitas Manhães CEFET Campos elainegmarques@superig.com.br gabifrm@yahoo.com.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc0f8497959413d8b6092/html5/thumbnails/5.jpg)
A interação começa a partir de um ator. Ligações entre os objetos são mostradas e a
direção da navegação pode ser indicada com as pontas de flecha.
Mensagens são exibidas junto das ligações com uma seta direcionada.
Mensagens são numerada para mostrar a seqüência.
5
![Page 6: Elaine Gama Marques Gabrielle Freitas Manhães CEFET Campos elainegmarques@superig.com.br gabifrm@yahoo.com.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc0f8497959413d8b6092/html5/thumbnails/6.jpg)
DIAGRAMA DE COLABORAÇÃO
DIAGRAMA DE SEQUÊNCIA
Tem o objetivo de dar ênfase à estrutura organizacional dos
objetos que enviam e recebem mensagens, ele também é mais
adequado quando se deseja expressar mais
detalhes da colaboração entre
objetos.
Dá ênfase à ordem temporal das
mensagens, porém, é mais simples de usar
quando se deseja mostrar apenas as
seqüências de interações.
6
![Page 7: Elaine Gama Marques Gabrielle Freitas Manhães CEFET Campos elainegmarques@superig.com.br gabifrm@yahoo.com.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc0f8497959413d8b6092/html5/thumbnails/7.jpg)
• No diagrama de colaboração existe um caminho que indica como o objeto está vinculado a outro. Nele também existe um número de seqüência para indicar a ordem temporal de uma mensagem:1:validar()2:criar()
.
.
.7
![Page 8: Elaine Gama Marques Gabrielle Freitas Manhães CEFET Campos elainegmarques@superig.com.br gabifrm@yahoo.com.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc0f8497959413d8b6092/html5/thumbnails/8.jpg)
8
O Diagrama de Colaboração mostra os objetos das classes que participam da interação, mostrando os vínculos entre os mesmos, descrevendo as mensagens que os objetos recebem e enviam.
O diagrama de colaboração são isomórficos.
![Page 9: Elaine Gama Marques Gabrielle Freitas Manhães CEFET Campos elainegmarques@superig.com.br gabifrm@yahoo.com.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc0f8497959413d8b6092/html5/thumbnails/9.jpg)
Objeto passivo - objeto que contém dados, mas não inicia atividade de controle; pode enviar mensagens enquanto processa um pedido recebido◦ Notação: rebordo normal
Objeto activo - objeto que possui um processo ou fio de controle (thread) e pode iniciar actividade de controle◦ Notação: rebordo espesso◦ Podem-se indicar estereótipos «process» e « thread»
Ator - objeto externo que normalmente inicia uma interação◦ Notação: ícone de pessoa
Objeto composto - objeto que agrega outros objetos (componentes) por relação de composição◦ Notação: objetos componentes e ligações entre
componentes dentro do objeto composto
9
![Page 10: Elaine Gama Marques Gabrielle Freitas Manhães CEFET Campos elainegmarques@superig.com.br gabifrm@yahoo.com.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc0f8497959413d8b6092/html5/thumbnails/10.jpg)
Retângulo ( ) – representa um objeto.◦ Instância de uma classe
Linhas ( ) – representam as ligações de um objeto para outro.◦ Instâncias de associações entre as classes
Setas ( ) – representam as mensagens enviadas de um objeto para outro.
Números de seqüência ( 1: ) – indicam a ordem de transmissão das mensagens, onde cada mensagem tem um número de seqüência.
10
![Page 11: Elaine Gama Marques Gabrielle Freitas Manhães CEFET Campos elainegmarques@superig.com.br gabifrm@yahoo.com.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc0f8497959413d8b6092/html5/thumbnails/11.jpg)
Como todas as mensagens têm de passar por ligações, para além das ligações que representam instâncias de associações, pode ser necessário indicar ligações mais dinâmicas
Assim, em qualquer extremo de uma ligação, pode-se indicar o tipo de ligação (do ponto de vista do objeto no outro extremo) através de um estereótipo:◦ «association» - instância de associação (tipo por omissão)◦ «parameter» - parâmetro de operação do objeto que faz a
Chamada◦ «local» - variável local de operação do objeto que faz a
chamada◦ «global» - variável global (usada pelo objeto no outro extremo
da ligação)◦ «self» - auto-ligação (para enviar mensagens para o próprio)
11
![Page 12: Elaine Gama Marques Gabrielle Freitas Manhães CEFET Campos elainegmarques@superig.com.br gabifrm@yahoo.com.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc0f8497959413d8b6092/html5/thumbnails/12.jpg)
Objetos e ligações podem ser criados e/ou destruídos durante a execução duma interação◦ Notação: junto de um objeto ou ligação indicar
{new} - criado durante a interação {destroyed} - destruído durante a interação {transient} - criado e destruído durante a interação
Um objeto pode mudar de estado (valores de atributos e ligações) durante a execução em uma interação◦ Notação: replicar o objeto, ligando as réplicas com mensagem
«become»◦ Exemplo:
12
p: Pedido
estado=“Pendente”
1:tratar() p: Pedido
estado=“Satisfeito”
1.1: «become»
![Page 13: Elaine Gama Marques Gabrielle Freitas Manhães CEFET Campos elainegmarques@superig.com.br gabifrm@yahoo.com.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc0f8497959413d8b6092/html5/thumbnails/13.jpg)
13
![Page 14: Elaine Gama Marques Gabrielle Freitas Manhães CEFET Campos elainegmarques@superig.com.br gabifrm@yahoo.com.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc0f8497959413d8b6092/html5/thumbnails/14.jpg)
A seguir é mostrado o diagrama de colaboração, para o caso de uso Processar Pedido da G@E LTDA, onde pode-se acompanhar o caminho de interação e as mensagens que são trocadas.
14
![Page 15: Elaine Gama Marques Gabrielle Freitas Manhães CEFET Campos elainegmarques@superig.com.br gabifrm@yahoo.com.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc0f8497959413d8b6092/html5/thumbnails/15.jpg)
15
![Page 16: Elaine Gama Marques Gabrielle Freitas Manhães CEFET Campos elainegmarques@superig.com.br gabifrm@yahoo.com.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc0f8497959413d8b6092/html5/thumbnails/16.jpg)
16
![Page 17: Elaine Gama Marques Gabrielle Freitas Manhães CEFET Campos elainegmarques@superig.com.br gabifrm@yahoo.com.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc0f8497959413d8b6092/html5/thumbnails/17.jpg)
17