Uma mensagem é um elemento do diagrama de seqüência UML (Linguagem de Modelagem Unificada) que define um tipo específico de comunicação entre instâncias em uma interação. Uma mensagem transporta informações de uma instância, que é representada por uma linha de vida, para uma outra instância em uma interação.
Uma mensagem especifica o emissor e o receptor e define o tipo de comunicação que ocorre entre as linhas de vida. Por exemplo, uma comunicação pode chamar uma operação utilizando synchCall ou asynchCall, lançar um sinal utilizando asynchSignal e criar ou destruir um participante.
Conforme ilustrado na figura a seguir, uma mensagem é exibida em um quadro de interação como uma linha com uma seta que aponta na direção em que a mensagem é enviada; ou seja, da extremidade da mensagem de envio para a extremidade da mensagem de recebimento.
A mensagem que a linha de vida de origem envia para a linha de origem de destino representa uma operação ou um sinal que a linha de vida implementa. É possível nomear e ordenar mensagens. A aparência da linha ou da cabeça de seta reflete as propriedades da mensagem. A tabela a seguir ilustra os gráficos que representam mensagens em diagramas de seqüência.
Gráfico | Descrição | Representação |
---|---|---|
![]() |
Uma linha com uma cabeça de seta sólida que aponta em direção à linha de vida receptora | Este gráfico representa uma operação de chamada síncrona na qual o sistema aguarda a conclusão do fluxo de controle antes de continuar com o fluxo externo. |
![]() |
Uma linha com uma ponta de seta aberta | Este gráfico representa um sinal assíncrono ou uma chamada assíncrona em que o objeto de origem envia a mensagem e continua imediatamente com a próxima etapa. |
![]() |
Uma linha tracejada com uma cabeça de seta sólida que aponta em direção à linha de vida originadora | Este gráfico representa uma mensagem de retorno de uma chamada para um procedimento. Quando você cria uma mensagem síncrona, uma mensagem de retorno é criada por padrão. Esse padrão pode ser alterado na janela Preferências. |
Você pode identificar as mensagens, utilizando um nome ou uma assinatura de operação.
Tipo | Exemplo | Descrição |
---|---|---|
Nome | \Obter a Senha\ | Um nome identifica apenas o nome da mensagem. Uma convenção coloca o nome entre barras invertidas (\\) para indicar que o nome da mensagem não está associado a uma operação. Quando uma operação está associada a uma mensagem, o nome da operação substitui o nome. |
Assinatura | getPassword | Quando uma operação é designada a uma mensagem, é possível exibir a assinatura da operação para identificar o nome da operação. Geralmente, as assinaturas são utilizadas em diagramas durante a fase de design porque fornecem os detalhes que os desenvolvedores precisam quando codificam o design. |
Uma mensagem assíncrona é o único tipo de mensagem em que você pode mover individualmente seu ponto de envio e ponto de recebimento. Você pode mover os pontos de uma mensagem assíncrona entre linhas de vida para manipular o retardo de tempo entre o evento de envio e o evento de recebimento; o resultado é chamado de mensagem desviada.
Como a figura a seguir ilustra, uma mensagem desviada é exibida como uma linha com uma seta aberta que possui múltiplas interações que ocorrem entre as linhas de vida de envio e recebimento.
O evento de envio não é bloqueado e as interações podem ocorrer entre o ponto na linha de vida de envio e o ponto na linha de vida de recebimento.