admin管理员组文章数量:1794759
UML
序列图 (Sequence Diagram) 是按时间顺序描述了 对象 间的交互 模式 ;它利用对象的“生命线”和它们之间传递的 消息 来显示对象如何参与交互。序列图(Sequence Diagram)是一个模型,用于描述对象组如何随着时间在某些行为方面进行协作。序列图捕获单一用例的行为,同时显示在特定用例的时间框架中的对象以及这些对象之间传递的消息。序列图并不显示对象之间的关系。
序列图是一种强调消息的时序交互图,它由活动者(Actor)、对象(Object)、消息(Message)、生命线(Lifeline)和控制焦点(Focus of control)组成。在UML中对象表示为一个矩形,其中对象名称标有下划线;消息在序列图中由有标记的箭头表示;生命线由虚线表示。控制焦点由薄薄的矩形表示。
序列图将交互关系表示为一个二维图,纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色的活动用生命线表示。当对象存在时,生命线用一条纵向虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。
序列图以图的形式详细描述了业务角色和业务主角之间的交互,以及如何在执行业务用例时访问业务实体。序列图简要描述了参与的业务角色的工作,从激活的角度描述了如何操作业务实体,以及它们如何通过发送消息实现通信。
部分个人登记处业务用例的序列图。
也可以使用协作图介绍序列图中表示的信息(请参见指南:业务对象模型中的协作图)。© 1987 - 2001 Rational Software Corporation。版权所有。
序列图具有的用途
· 当不同的类之间存在多个简短的方法时,描述控制流的整体序列
· 显示并发进程和激活
· 显示在协作图中难以描述的时间序列
· 显示涉及类交互而与对象无关的一般形式
如何创建序列图
本部分包含以下内容:
· 生成序列图 · 完善生成的序列图生成序列图
1. 如果需要,请启动 IDE。 2. 在“项目”窗口中,展开 "UMLTutorialProject" >“模型”节点。 3. 右键单击 "CollaborationDiagram" 节点,然后从上下文菜单中选择“通过选定的元素创建图”。将打开“新建向导”窗口,并显示“创建新图”页面。
您可以从上下文菜单列出的两类可用的交互图中选择一种 类型:协作图和序列图。这些图主要强调对象之间的交互关系。 |
IDE 将执行以下操作: o 在 CollaborationDiagram 节点下创建 SequenceDiagram 节点 o 在图编辑器中显示新图,该图是由生命线元素以及来自协作图的消息构成的 o 打开“建模组件面板”,显示在创建序列图过程中使用的图标。
该图应当与下面的图类似。
完善生成的序列图
事务中的对象被绘制成点状竖线,其名称显示在顶部。由于在创建序列图时无法预先定义生命线元素的顺序,因此您需要在此时重新排序这些元素。 1. 选择标记为 User 的生命线,将其移至图的左侧。 2. 重新排序其余的生命线元素,使其均匀地分布于图编辑器中。按以下顺序从左到右依次放置生命线: o User o ATM o Consortium o Branch现在,该图应当与下面的图类似。
添加自调用消息元素 |
IDE 将在此生命线上放置一个自调用消息元素。 4. 单击鼠标右键以取消选择“自调用消息”图标。 5. 在自调用消息元素中,单击位于下面的消息箭头。
消息的属性将显示在“属性”窗口中。 6. 在“属性”窗口的“名称”字段中,键入 validateCashOnHandOperation,然后按 Enter 键。 7. 右键单击自调用消息元素中上面的消息箭头,然后从上下文菜单中选择“操作”。下图指示了放置光标的位置。请注意顶部箭头上方的双竖线。
8. 从操作列表中选择 "public boolean getIsOperating"。
您会看到对该消息的上部进行了标记,如下图所示。
使用调用消息元素 |
图上将出现一个消息和一个返回消息。
如果不希望返回消息出现在图上,请右键单击图编辑器的空白区域。从上下文菜单中取消选择“显示所有返回消息”。 |
IDE 将在图上标记该消息,然后将消息作为操作添加到类图的 ATM 类中。在“项目”窗口中,展开 ATM 类节点,确认操作列表与下面的图类似。
使用自动扩展消息选项 |
打开上下文菜单。 2. 选择“将宽度设置为消息宽度”。
两个元素名称之间的跟踪中将会出现一个指示器栏,如下图所示。
3. 重复上述步骤,设置 ATM 和 Consortium 元素之间以及 Consortium 和 Branch 元素之间的消息宽度选项。 返回页首
使用创建消息符号 |
请一定要单击在线上,否则将不能正确绘制链接。 |
这样便会在图上放置一个消息和一条生命线,如图所示。
5. 单击鼠标右键以取消选择该图标。 6. 选择新的生命线。
“属性”窗口将显示此生命线元素的属性。 7. 在“属性”窗口中标记为“表示类元”的行上,单击向下箭头。
将会出现一个下拉列表。 8. 从下拉列表中选择 "CashierStation",然后按 Enter 键。 9. 单击图编辑器,查看这个带有标签的生命线元素。
您可以适当放宽此新生命线元素,直至看到其完整的名称 CashierStation 为止。 |
添加异步链接 |
该操作将向此消息添加操作,如下图所示。
使用组合片段元素 |
切记在单击时不要选中任何生命线元素。您的组合片段应当如下图所示。
3. 单击鼠标右键以取消选择该图标。 4. 右键单击组合片段元素中的 "assert" 标签,然后选择“交互运算符”> "loop"。
loop 交互运算符指定组合片段表示一个循环。每次重复循环时,就会计算触发表达式的结果。触发表达式可以包括特定次数的循环迭代。 |
IDE 会在目标组合片段元素中显示一个表达式框。 6. 双击单词 expression,使表达式处于可编辑状态,如下图所示。
7. 键入 x < 10,然后按 Enter 键。 8. 单击图编辑器。
这个表达式将被接受并显示在框中。该图应当与下面的图类似。
保存图 |
这将关闭菜单并保存序列图。
退出 IDE 时,系统会提示您是否要保存该图。 |
小结 |
本文标签: UML
版权声明:本文标题:UML 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1692495643a139213.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论