Linha 19: Linha 19:
*Já para Tonsig, o diagrama de colaboração “É um modo alternativo para representar a troca de mensagens entre um conjunto de objetos, mostrando a interação organizada em torno dos objetos e suas ligações uns com os outros, sem a preocupação de expressar a vida útil das mensagens no tempo. O diagrama de colaboração não mostra a dimensão do tempo, por isso as sequências de mensagens e linhas concorrentes devem ser determinadas usando-se a sequência de números.”
*Já para Tonsig, o diagrama de colaboração “É um modo alternativo para representar a troca de mensagens entre um conjunto de objetos, mostrando a interação organizada em torno dos objetos e suas ligações uns com os outros, sem a preocupação de expressar a vida útil das mensagens no tempo. O diagrama de colaboração não mostra a dimensão do tempo, por isso as sequências de mensagens e linhas concorrentes devem ser determinadas usando-se a sequência de números.”


[[Arquivo:Exemplo.jpg]] == Diagrama de colaboração e diagrama de sequência ==
== Diagrama de colaboração e diagrama de sequência ==


*Até aqui, o diagrama de comunicação tem grande semelhança com o diagrama de sequências. Isto porque ambos são semanticamente equivalentes. Ou seja, eles nos passam as mesmas informações. Podemos facilmente transformar um no outro. No entanto, isto não quer dizer que eles são idênticos. Existem duas principais diferenças entre estes diagramas.  
*Até aqui, o diagrama de comunicação tem grande semelhança com o diagrama de sequências. Isto porque ambos são semanticamente equivalentes. Ou seja, eles nos passam as mesmas informações. Podemos facilmente transformar um no outro. No entanto, isto não quer dizer que eles são idênticos. Existem duas principais diferenças entre estes diagramas.  
Linha 26: Linha 26:
**A segunda diferença entre este e aquele é o número da sequência. Enquanto no último estamos interessados apenas na duração, mas sem saber a ordem temporal, no diagrama de comunicação é expressa exatamente esta ordem.Para isto, faz-se o uso de números como prefixos de cada mensagem. Estes números seguem a ordem dos números naturais, sendo 1 para a primeira mensagem, 2 para a segunda e assim por diante. Poder-se-ia perguntar se este método não limita as mensagens. Podemos contornar este problema apenas fazendo uso da numeração decimal de Dewey e, dessa forma, formar mensagens aninhadas. Deste modo, 1.1 é a primeira mensagem aninhada na primeira mensagem, 1.2 a segunda aninhada na primeira, etc.
**A segunda diferença entre este e aquele é o número da sequência. Enquanto no último estamos interessados apenas na duração, mas sem saber a ordem temporal, no diagrama de comunicação é expressa exatamente esta ordem.Para isto, faz-se o uso de números como prefixos de cada mensagem. Estes números seguem a ordem dos números naturais, sendo 1 para a primeira mensagem, 2 para a segunda e assim por diante. Poder-se-ia perguntar se este método não limita as mensagens. Podemos contornar este problema apenas fazendo uso da numeração decimal de Dewey e, dessa forma, formar mensagens aninhadas. Deste modo, 1.1 é a primeira mensagem aninhada na primeira mensagem, 1.2 a segunda aninhada na primeira, etc.
**Apesar de serem estas as duas diferenças técnicas entre os dois diagramas, ainda existe o fator estético. O diagrama de comunicação possui uma melhor organização, o que facilita bastante sua leitura.
**Apesar de serem estas as duas diferenças técnicas entre os dois diagramas, ainda existe o fator estético. O diagrama de comunicação possui uma melhor organização, o que facilita bastante sua leitura.
[[Arquivo:diagrama de sequencia.jpg]]


== Elementos Básicos ==
== Elementos Básicos ==

Edição das 04h36min de 7 de agosto de 2013

Diagrama de Colaboração

Diagrama de interação

  • Os diagramas de sequência e de colaboração fazem parte de um conjunto maior chamado diagrama de interação, na qual são mostrados objetos e as possíveis relações entre eles, como mensagens, por exemplo. O diagrama de colaboração possui, portanto, também estas características.

Diagrama de colaboração(ou comunicação)

  • O diagrama de colaboração, também chamado de diagrama de comunicação a partir da versão 2.0 da UML, é um modo de se representar graficamente os vínculos entre objetos.
  • Características:
    • Define a estrutura de como os objetos estão vinculados (similar ao diagrama de classes)
    • Indica quais mensagens são trocadas entre objetos (similar ao diagrama de sequência)
    • Não se preocupa com a temporalidade

Algumas definições

  • Para Booch, Rumbaugh e Jacobson, o diagrama de colaboração “é um diagrama de interação que dá ênfase à organização estrutural dos objetos que enviam e recebem mensagens. Graficamente, um diagrama de colaboração é uma coleção de vértices e arcos.”
  • Já para Tonsig, o diagrama de colaboração “É um modo alternativo para representar a troca de mensagens entre um conjunto de objetos, mostrando a interação organizada em torno dos objetos e suas ligações uns com os outros, sem a preocupação de expressar a vida útil das mensagens no tempo. O diagrama de colaboração não mostra a dimensão do tempo, por isso as sequências de mensagens e linhas concorrentes devem ser determinadas usando-se a sequência de números.”
== Diagrama de colaboração e diagrama de sequência ==
  • Até aqui, o diagrama de comunicação tem grande semelhança com o diagrama de sequências. Isto porque ambos são semanticamente equivalentes. Ou seja, eles nos passam as mesmas informações. Podemos facilmente transformar um no outro. No entanto, isto não quer dizer que eles são idênticos. Existem duas principais diferenças entre estes diagramas.
    • A primeira é que podemos determinar um caminho entre os objetos usando este no diagrama de comunicação. Assim, sabemos o vinculo entre os objetos apenas olhando este diagrama, o que não ocorre com o diagrama de sequência.
    • A segunda diferença entre este e aquele é o número da sequência. Enquanto no último estamos interessados apenas na duração, mas sem saber a ordem temporal, no diagrama de comunicação é expressa exatamente esta ordem.Para isto, faz-se o uso de números como prefixos de cada mensagem. Estes números seguem a ordem dos números naturais, sendo 1 para a primeira mensagem, 2 para a segunda e assim por diante. Poder-se-ia perguntar se este método não limita as mensagens. Podemos contornar este problema apenas fazendo uso da numeração decimal de Dewey e, dessa forma, formar mensagens aninhadas. Deste modo, 1.1 é a primeira mensagem aninhada na primeira mensagem, 1.2 a segunda aninhada na primeira, etc.
    • Apesar de serem estas as duas diferenças técnicas entre os dois diagramas, ainda existe o fator estético. O diagrama de comunicação possui uma melhor organização, o que facilita bastante sua leitura.

Elementos Básicos


  • Objetos: Semelhante a representação do Diagrama de Sequência (Observação: Não há linha da vida nem ativação)
  • Vínculos: são ligações existentes entre os objetos envolvidos no processo. É representado por uma linha unindo dois objetos e pode servir para:
    • Envio de mensagens
    • Recebimento de mensagens
  • Mensagens: É uma comunicação entre objetos, um emissor que veicula a informação na expectativa de provocar uma resposta.
    • No caso específico do diagrama de colaboração cada mensagem tem um número de sequência
      • A mensagem de nível mais elevado tem número 1
      • Mensagens de mesmo nível (enviadas durante a mesma chamada) têm o mesmo prefixo decimal, mas sufixos de 1,2,...,N de acordo com a altura em que ocorrem
  • Atores: Mesmos do Diagrama de Sequência
    • Um ator envia e recebe mensagens através de vínculos
    • Um ator possui vínculos com outros objetos ou outros atores
  • Condições: Indica que uma mensagem só será enviada quando uma determinada condição for satisfeita. A condição vem entre colchetes antes da mensagem
  • Auto- chamadas: Ocorre quando objeto dispara uma mensagem para si mesmo. Indica que o objeto tem que fazer aquela tarefa para completar o serviço solicitado.


Notações


  • Um retângulo representa um objeto

-instância de uma classe

  • As linhas de um objeto para outro representam ligações

-instâncias de associações entre as classes

  • As setas representam mensagens

-enviadas de um objeto para outro

  • Os números de sequência indicam a ordem de transmissão das mensagens


Projetos


  • Em relação aos projetos apresentados pela turma, qual deles entende que pode ser representado por um Diagrama de Colaboração?
  • Desenhe o Diagrama para este grupo


Referências


  • BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML Guia do Usuário. 2. ed. Rio de Janeiro: Campus, 2000.
  • TONSIG, Sérgio Luiz. Engenharia de Software: Análise e Projeto de Sistemas. 2. ed. Rio de Janeiro: Ciência Moderna, 2008.