Diagrama de Colaboração (ou Diagrama de Comunicação) Diagrama de Colaboração • São extensões dos diagramas de objetos • Exprimem não só o contexto de um grupo de objetos (objetos e relacionamentos) mas também interações entre estes objetos (envio de mensagens, com objetos que colaboram entre si). Diagrama de Colaboração • Os objetos estão distribuídos em duas dimensões – Vantagem: normalmente permite construir desenhos mais legíveis comparativamente aos diagramas de seqüência. • O tempo não é representado explicitamente, mensagens devem ser numeradas • Pode-se incluir o ator para representar o desencadeamento de uma interação. Geralmente as mensagens do ator não são numeradas (são as primeiras) Elementos Básicos • • • • • • Atores Objetos, multiobjetos e classes Mensagens Ligações entre objetos Criação e destruição de objetos Iterações Direção de envio de mensagem é indicada por uma seta próxima ao rótulo da mensagem. Notação Notação: mensagens Notação: valores de retorno Notação: mensagens condicionais Notação: mensagens condicionais Notação: sequenciamento de mensagens Notação: iterações Notação: iterações Notação Notação: restrições :A :B {new} :C :D {transient} {destroyed} Notação: restrições (destruição e criação de instâncias) • Alguns objetos podem sobreviver à execução do caso de uso (se conectando a outro objetos); outros podem nascer e morrer durante essa execução. • A UML define etiquetas (tags) para criação e destruição de objetos (ou de ligações entre objetos) no diagrama de comunicação. – {new}: objetos ou ligações criados durante a interação. – {destroyed}: objetos ou ligações destruídos durante a interação. – {transient}: objetos ou ligações destruídos e criados durante a interação. Notação: sincronização • A sincronização é representada por uma sequência de envio terminada pelo caracter “/” . • Todas as mensagens referenciadas nesta sequência devem ter sido enviadas para validar o envio da mensagem corrente. Notação: sincronização :A 1.1, 1.2/ mensagem() :B Notação: objetos ativos :Processador de texto 1: ler :Scanner 2: escrever :Impressora Exemplos Exemplos Exemplos Exemplos Exemplos Diagrama de Colaboração e Outros Modelos Referências • • • • • • • Boock, G. and Rumbaugh, J. The Unified Modeling Language User Guide . Addison-Wesley, 1999 Arlow, J. and Neustadt, I. UML 2 and the Unified Process: Practical ObjectOriented Analysis and Design, 2nd Edition, The Addison-Wesley Object Technology Series, 2005. Rumbaugh, J.; Jacobson, I. and Booch , G. The Unified Modeling Language Reference Manual, 2nd Edition, The Addison-Wesley Object Technology Series, 2004. Boock, G.; Rumbaugh, J. and Jacobson, I; Unified Modeling Language User Guide, 2nd Edition, The Addison-Wesley Object Technology Series, 2005. Jacobson, I; Boock, G. and Rumbaugh, J., Unified Software Development Process, Addison-Wesley, Janeiro 1999. Larman, C. Applying UML and Patterns: An Introduction to ObjectOriented Analysis and Design Prentice-Hall, New Jersey - USA, 1997 Bezerra, E. Princípios de Análise e Projeto com a UML, ed. CampusElsevier. 2003.