
上QQ阅读APP看书,第一时间看更新
2.3.2 交互元素
交互元素中,对象是交互的主体,消息的来源和去向都是对象。有时对象还可用于表示消息的内容。对象通常出现在活动图、状态图、顺序图和写作图等模型当中。
对象的图形表示包括对象名、类名及其所有属性值。对象名可以省略,没有对象名的对象称为匿名对象。对象的符号表示与类的图形表示类似,不同的是对象中没有方法,对象中必须含有属性值,且对象名带有下划线。
图2-6给出了一个具体对象的图形表示的例子。

图2-6 对象的图形表示
UML中,另一个较为常见的交互元素是状态,状态可以定义成某个对象所处的当前状况或所满足的某个条件。每个状态的内部通常由一组相关的动作组成,对于每个状态,还需要定义触发动作的事件、事件参数和执行这些动作的条件。
UML中状态迁移、自迁移、控制流和对象流的符号表示如图2-7所示。

图2-7 UML中的迁移、控制流和对象流的符号表示
a)状态迁移 b)自迁移 c)控制流 d)对象流
最后,UML中的交互元素还应该包括状态迁移、控制流、对象流和对象之间传递的消息。对象之间交换的消息又可以分为简单消息、同步消息、异步消息和返回消息等多种类型。
对于状态迁移、活动迁移和消息等模型元素,UML使用了同样的图形符号表示。而对于不同类型的消息,UML则使用了不同的符号表示。图2-8给出了UML交互图中的消息的符号表示。

图2-8 消息的符号表示