Elaine Gama Marques Gabrielle Freitas Manhães CEFET Campos [email protected]...
Transcript of Elaine Gama Marques Gabrielle Freitas Manhães CEFET Campos [email protected]...
SUMÁRIO
INTRODUÇÃO .........................................3 OBJETIVO ................................................6 NOTAÇÕES .............................................9 DINÂMICA DE OBJETOS E LIGAÇÕES ........11 EXEMPLOS ..............................................12
2
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
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
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
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
• 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
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.
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
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
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
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»
13
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
15
16
17