在 IBM Bluemix 云平台上开发并部署您的下一个应用。 序列图用于为使用方案的逻辑建模。使用方案恰如其名称所揭示的那样--描述使用系统的潜在方法。使用方案的逻辑可以是用例的一部分,可能是备选过程。它也可以是整个用例过程,例如由基本行动过程描述的逻辑,或者部分基本行动过程再加上一个或多个替代方案描述的逻辑。使用方案的逻辑也可以是几个用例中包含的逻辑。例如,一个学生在大学入学后,立即参加了三个研习班。序列图以可视方式为系统中逻辑的流程建模,能够让您记载和验证逻辑,这通常用于分析和设计目的。 图 1是 “参加研习班”用例的基本行动过程的模型。您可能想要现在打开该图,并在阅读本文时参考它。 分类器 因为既可以向对象发送消息,又可以向类发送消息(对象通过调用操作来响应消息,而类则通过调用静态操作来响应消息),所以有必要将它们都包括在序列图中。另外,因为参与者在使用方案中发起操作并占据主动地位,因此也要将他们包括在序列图中。对象的标签具有标准UML 格式 "name: ClassName",其中的 "name"是可选的。(在图中没有给出名称的对象称为匿名对象。)类标签的格式为"ClassName",而参与者名的格式为 "Actor Name" -- 这些也都是 UML标准。 例如在图 1 中,"Student"(“学生”)参与者的名称为 "AStudent",它的标签为原型 <<actor>>。表示 "UI32 SeminarSelection Screen"(“UI32 研习班选择屏幕”)的主要 UI元素的实例是名称为 ":SeminarSelector"、原型为 <<UI>>的匿名对象。因为向 "Student" 类发送静态消息 "isEligible(name,studentNumber)",所以在图中标名了该类(名称为 "Student"的框)。我们稍后再详细说明。 在图中,因为 "Student"的实例在几个地方都用作消息中的参数,所以为它提供了名称"theStudent"。与之相反,"StudentsFees"类的实例不需要在图中的其它任何地方引用,因此可以是匿名的。 生命线 为消息建模 图 1 还表明 "Student" 参与者通过标签为 "name"(“姓名”)和"student number"(“学号”)的消息向 ":SecurityLogon"对象提供信息。(这些实际上并不是消息;它们实际上是用户交互。)返回值可以使用带有表明是返回值标签的虚线箭头表示。例如,标出了从"Student" 类返回的,作为调用消息结果的返回值"theStudent",而没有标出向 "seminar" 发送消息"isEligibleToEnroll(theStudent)"的结果的返回值。我的风格是,当返回内容很明显时不标出返回值,这样就不会把序列图搞乱。(您可以发现,序列图可以很快变得相当复杂。) 消息实现用例步骤的逻辑,图的左侧概括了这些步骤。请注意,由于步骤的描述往往太过冗长,以至于无法恰当地放在一张图上,因此并没有对用例步骤使用确切的措辞。关键是,步骤号要与用例中的步骤号对应起来,使图的读者能够清楚地了解步骤的大体思想。 下面列出的是图 1 所显示的 UML序列图“参加研习班”用例的基本行动过程。 “参加研习班”用例
基本行动过程:
备选过程 A:学生没有资格参加研习班
备选过程 B:学生不具备前提条件
备选过程 C:学生决定不参加现有的研习班
|
|