Sequence Diagram
序列图(Sequence Diagram)是按时间顺序描述了对象间的交互模式;它利用对象的“生命线”和它们之间传递的消息来显示对象如何参与交互。
序列图(Sequence Diagram)是一个模型,用于描述对象组如何随着时间在某些行为方面进行协作。序列图捕获单一用例的行为,同时显示在特定用例的时间框架中的对象以及这些对象之间传递的消息。序列图并不显示对象之间的关系。
序列图是一种强调消息的时序交互图,它由活动者(Actor)、对象(Object)、消息(Message)、生命线(Lifeline)和控制焦点(Focus of control)组成。在UML中对象表示为一个矩形,其中对象名称标有下划线;消息在序列图中由有标记的箭头表示;生命线由虚线表示。控制焦点由薄薄的矩形表示。
序列图将交互关系表示为一个二维图,纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色的活动用生命线表示。当对象存在时,生命线用一条纵向虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。
序列图以图的形式详细描述了业务角色和业务主角之间的交互,以及如何在执行业务用例时访问业务实体。序列图简要描述了参与的业务角色的工作,从激活的角度描述了如何操作业务实体,以及它们如何通过发送消息实现通信。
部分个人登记处业务用例的序列图。
也可以使用协作图介绍序列图中表示的信息(请参见指南:业务对象模型中的协作图)。© 1987 - 2001 Rational Software Corporation。版权所有。
序列图具有的用途
· 当不同的类之间存在多个简短的方法时,描述控制流的整体序列
· 显示并发进程和激活
· 显示在协作图中难以描述的时间序列
· 显示涉及类交互而与对象无关的一般形式
如何创建序列图
本部分包含以下内容:
生成序列图
将打开“新建向导”窗口,并显示“创建新图”页面。
|
您可以从上下文菜单列出的两类可用的交互图中选择一种
类型:协作图和序列图。这些图主要强调对象之间的交互关系。
|
IDE 将执行以下操作:
该图应当与下面的图类似。
完善生成的序列图
现在,该图应当与下面的图类似。
添加自调用消息元素 |
IDE 将在此生命线上放置一个自调用消息元素。
消息的属性将显示在“属性”窗口中。
您会看到对该消息的上部进行了标记,如下图所示。
|
使用调用消息元素 |
图上将出现一个消息和一个返回消息。
|
如果不希望返回消息出现在图上,请右键单击图编辑器的空白区域。从上下文菜单中取消选择“显示所有返回消息”。
|
IDE 将在图上标记该消息,然后将消息作为操作添加到 类图的 ATM 类中。在“项目”窗口中,展开 ATM 类节点,确认操作列表与下面的图类似。
使用自动扩展消息选项 |
打开上下文菜单。
两个元素名称之间的跟踪中将会出现一个指示器栏,如下图所示。
使用创建消息符号 |
|
|
请一定要单击在线上,否则将不能正确绘制链接。
|
这样便会在图上放置一个消息和一条生命线,如图所示。
“属性”窗口将显示此生命线元素的属性。
将会出现一个下拉列表。
|
您可以适当放宽此新生命线元素,直至看到其完整的名称 CashierStation 为止。
|
添加异步链接 |
|
|
该操作将向此消息添加操作,如下图所示。
使用组合片段元素 |
切记在单击时不要选中任何生命线元素。您的组合片段应当如下图所示。
|
loop 交互运算符指定组合片段表示一个循环。每次重复循环时,就会计算触发表达式的结果。触发表达式可以包括特定次数的循环迭代。
|
IDE 会在目标组合片段元素中显示一个表达式框。
这个表达式将被接受并显示在框中。该图应当与下面的图类似。
保存图 |
这将关闭菜单并保存序列图。
|
退出 IDE 时,系统会提示您是否要保存该图。
|
小结
|
|