Uma mensagem especifica um emissor e receptor e define o tipo de comunicação que ocorre entre linhas de vida. Por exemplo, uma comunicação pode chamar uma operação usando uma mensagem de chamada síncrona ou assíncrona, emitir um sinal usando um sinal assíncrono e criar ou eliminar um participante.
Você pode usar os cinco tipos de mensagens listadas na seguinte tabela para mostrar a comunicação entre linhas de vida em uma interação.
| Mensagem | Descrição |
|---|---|
| Mensagem de Criação | Uma mensagem de criação representa a criação de uma instância em uma interação. A mensagem de criação é representada pela palavra-chave «create». A linha de vida de destino começa no ponto da mensagem de criação. Por exemplo, um cenário financeiro, um gerente de banco pode começar uma verificação de crédito em um cliente enviando uma mensagem de criação para o servidor. |
| Mensagem de Destruição | Uma mensagem de destruição representa a destruição de uma instância em uma interação. A mensagem de destruição é representada pela palavra-chave «destroy». A linha de vida de destino termina no ponto da mensagem de destruição e é denotada por um X. Por exemplo, um gerente de banco, depois de iniciar uma verificação de crédito, pode fechar ou eliminar o aplicativo de programa para um cliente. |
| Mensagem de Chamada Síncrona | Chamadas síncronas, que estão associadas com uma operação, possuem uma mensagem de envio e recebimento. Uma mensagem é enviada da linha de vida de origem para a linha de vida de destino. A linha de vida de origem é bloqueada de outras operações até receber uma resposta da linha de vida de destino. Por exemplo, em um cenário financeiro, um funcionário do banco pode enviar um pedido de crédito para o gerente do banco para aprovação e deve aguardar por uma resposta antes de entregar ao cliente. |
| Mensagem de Chamada Assíncrona | Chamadas assíncronas, que estão associadas com uma operação, geralmente têm apenas uma mensagem de envio, mas também podem ter uma mensagem de resposta. Em contraste, para uma mensagem síncrona, a linha de vida de origem não é bloqueada do recebimento ou envio de outras mensagens. Você também pode mover os pontos de envio e recebimento individualmente para atrasar o tempo entre os eventos de envio e recebimento. Você pode optar por fazer isso se uma resposta não for sensível ao tempo ou pedido. Por exemplo, um cliente pode candidatar-se ao crédito, mas pode receber informações bancárias por telefone ou solicitar dinheiro de um ATM, enquanto aguarda até saber sobre a aplicação de crédito. |
| Mensagem de Sinal Assíncrona | Mensagens de sinal assíncronas estão associadas a um sinal. Um sinal difere de uma mensagem que não há operação associada com o sinal. Um sinal pode representar uma condição de interrupção ou erro. Para especificar um sinal, você cria uma mensagem de chamada assíncrona e altera o tipo na visualização de propriedades da mensagem. Por exemplo, a agência de crédito pode enviar uma mensagem de sinal de erro para o gerente do banco informando uma falha ao conectar-se ao bureau de crédito. |
Uma mensagem auto-direcionada é uma mensagem enviada da linha de vida de origem para ela mesma. Uma mensagem auto-direcionada pode ser uma chamada recursiva ou uma chamada para outra operação ou sinal que pertence ao mesmo objeto.
Representação de MensagemA 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 seguinte tabela mostra os gráficos que representam mensagens nos diagramas de seqüência.
| Tipo | Gráfico | Descrição | Representação |
|---|---|---|---|
| Assíncrona | 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. | |
| Síncrona | 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 a origem envia uma mensagem e aguarda por uma mensagem de retorno do destino antes que a origem possa continuar. | |
| Retorno Síncrono | |
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. |
Uma mensagem representa uma chamada de operação ou o envio e o recebimento de um sinal. Quando a mensagem representa uma operação, o nome da operação identifica a mensagem. Os argumentos da mensagem são transmitidos para a origem do destino. A mensagem de retorno contém os argumentos da chamada de operação resultante. Quando uma mensagem representa um sinal, os argumentos da mensagem são o próprio sinal. Se a mensagem for uma chamada síncrona, uma mensagem de retorno ocorrerá a partir da linha de vida chamada para a linha de vida que chama, antes que a linha de vida que chama possa prosseguir.
Identificação de MensagemVocê pode identificar as mensagens, utilizando um nome ou uma assinatura de operação. Um nome identifica somente o nome da mensagem que não está associado com uma operação. Quando uma operação está associada a uma mensagem, o nome da operação substitui o nome. Uma assinatura de operação é exibida para identificar o nome da operação. Você pode usar assinaturas em diagramas durante a fase de design para fornecer detalhes para os desenvolvedores que codificam o design.
Como a seguinte figura ilustra, mensagens são exibidas como uma linha com uma seta apontando na direção na qual a mensagem é enviada; ou seja, do fim da mensagem de envio para o fim da mensagem de recebimento. O seguinte exemplo mostra como as mensagens são exibidas em um diagrama de seqüência que representa um cenário financeiro no qual um cliente do banco candidata-se a um empréstimo. Um cliente fornece os documentos para o empréstimo para o funcionário do banco. O funcionário do banco envia os documentos para processamento pelo gerente do banco e aguarda o término do processo. O gerente do banco inicia a verificação de crédito, insere os dados e aguarda pelo envio de resultados pela agência de crédito. O gerente do banco recebe uma resposta e envia uma mensagem para o funcionário do banco que toma a decisão. O funcionário do banco envia uma mensagem para o cliente sobre a aprovação do empréstimo. O gerente do banco fecha o programa da agência de crédito e o cliente completa a transação.
