Diagrama de Colaboraçã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 o que ocorre entre os 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


Diagramas 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.


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.”


Elementos Básicos


  • Descrever


Notações


  • Um retângulo representa um objeto

-instância de uma classe

  • As linha 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.