- 论坛徽章:
- 0
|
一个UML中的序列图
分类器
横贯该图顶部的那些框表示的是分类器或它们的实例 -- 通常是用例、对象、类或参与者(往往用长方形表示,但它们也可以是符号)。
因为既可以向对象发送消息,又可以向类发送消息(对象通过调用操作来响应消息,而类则通过调用静态操作来响应消息),所以有必要将它们都包括在序列图中。另外,因为参与者在使用方案中发起操作并占据主动地位,因此也要将他们包括在序列图中。对象的标签具有标准 UML 格式 "name: ClassName",其中的 "name" 是可选的。(在图中没有给出名称的对象称为匿名对象。)类标签的格式为 "ClassName",而参与者名的格式为 "Actor Name" -- 这些也都是 UML 标准。
例如在图 1 中,"Student"(“学生”)参与者的名称为 "A Student",它的标签为原型 <<actor>;>;。表示 "UI32 Seminar Selection Screen"(“UI32 研习班选择屏幕”)的主要 UI 元素的实例是名称为 ":SeminarSelector"、原型为 <<UI>;>; 的匿名对象。因为向 "Student" 类发送静态消息 "isEligible(name, studentNumber)",所以在图中标名了该类(名称为 "Student" 的框)。我们稍后再详细说明。
在图中,因为 "Student" 的实例在几个地方都用作消息中的参数,所以为它提供了名称 "theStudent"。与之相反,"StudentsFees" 类的实例不需要在图中的其它任何地方引用,因此可以是匿名的。
生命线
从各个框垂下来的虚线称为对象生命线,表示在对方案建模期间对象的生命跨度。生命线上的细长框是方法调用框,表明正在由目标对象/类执行处理,以完成消息。方法调用框底部的 X 是一种 UML 约定,表明对象已从内存中除去,这通常是接收到原型为 <<destroy>;>; 的消息的结果。 |
|