消息是一个统一建模语言(UML)时序图元素,它定义交互中的实例之间的特定通信类型。消息将信息从一个实例(用生命线表示实例)传递到交互中的另一个实例。
消息指定了发送者和接受者,并定义了生命线之间出现的通信的类型。例如,通信可使用 synchCall 或 asynchCall 来调用操作,使用 asynchSignal 来发出信号,以及创建或销毁参与者。
如下图所示,消息在交互框中显示为一条带有箭头的线。箭头指向发送消息的方向;也就是,从发送消息端到接收消息端。
源生命线发送到目标生命线的消息表示目标生命线实现的操作或信号。可命名和排序消息。线或箭头的外观反应了消息的特性。下表说明了时序图中表示消息的图形。
图形 | 描述 | 表示 |
---|---|---|
![]() |
一条线,带有指向接收生命线的实心箭头 | 此图形表示同步调用操作,在此操作中,系统等待控制流完成,然后继续外部流。 |
![]() |
一条线,带有开放式箭头 | 此图形表示异步信号或异步调用,在此过程中,源对象发送消息后立即继续下一步骤。 |
![]() |
一条虚线,带有指向发送生命线的实心箭头 | 此图形表示过程调用的返回消息。当创建同步消息时,缺省情况下会创建返回消息。可在首选项窗口中更改该缺省设置。 |
可使用名称或操作特征符来标识消息。
类型 | 示例 | 描述 |
---|---|---|
名称 | \Get the Password\ | 名称仅标识了消息的名称。规定将名称放在斜杠(\\)之间来指示消息名称不是与操作关联。当有操作与消息关联时,操作名会替换该名称。 |
特征符 | getPassword | 当对消息指定了操作时,可显示操作特征符来标识操作的名称。在设计阶段通常在图中使用特征符,因为特征符提供了开发者编写设计的代码时所需要的详细信息。 |
异步消息是唯一一个可在其中单个地移动发送点或接收点的消息类型。可以在生命线之间移动异步消息的端点来控制发送事件和接收事件之间的时间延迟;其结果被称为偏差的消息。
如下图所示,偏差的消息显示为带有开放式箭头的线。它有发生在发送生命线和接收生命线之间的多个交互。
没有阻塞发送事件,并且在发送生命线上的端点和接收生命线上的端点之间可出现交互。