`

序列图

阅读更多

 

   序列图 (Sequence Diagram ) 是按时间顺序描述了对象 间的交互模式 ;它利用对象的“生命线”和它们之间传递的消息 来显示对象如何参与交互。

      序列图(Sequence Diagram) 是一个模型,用于描述对象组如何随着时间在某些行为方面进行协作。序列图捕获单一用例 的行为,同时显示在特定用例的时间框架 中的对象以及这些对象之间传递的消息。序列图并不显示对象之间的关系。

      序列图是一种强调消息的时序交互图,它由活动者(Actor)、对象(Object )、消息(Message)、生命线(Lifeline)和控制焦点(Focus of control)组成。在UML 中对象表示为一个矩形,其中对象名称标有下划线;消息在序列图中由有标记的箭头表示;生命线由虚线表示。控制焦点由薄薄的矩形表示。

      序列图将交互关系表示为一个二维图,纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的 元角色。类元角色的活动用生命线表示。当对象存在时,生命线用一条纵向虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。

      序列图以图的形式详细描述了业务角色业务主角 之间的交互,以及如何在执行业务用例 时访问业务实体 。序列图简要描述了参与的业务角色的工作,从激活的角度描述了如何操作业务实体,以及它们如何通过发送消息实现通信。

部分个人登记处业务用例的序列图。

      也可以使用协作图 介绍序列图中表示的信息(请参见指南:业务对象模型 中的协作图)。 © 1987 - 2001 Rational  Software Corporation。版权所有。

序列图具有的用途

      ·  当不同的类之间存在多个简短的方法时,描述控制流的整体序列 
      ·  显示并发进程和激活 
      ·  显示在协作图中难以描述的时间序列 
      ·  显示涉及类交互而与对象无关的一般形式

如何创建序列图  
 

本部分包含以下内容:

·                      生成序列图
·                      完善生成的序列图

生成序列图

1.                 如果需要,请启动 IDE
2.                 在“项目”窗口中,展开 "UMLTutorialProject " >“模型 ”节点。
3.                 右键单击 "CollaborationDiagram " 节点,然后从上下文菜单中选择“通过选定的元素创建图”。

将打开“新建向导”窗口,并显示“创建新图”页面。

 

 
您可以从上下文菜单列出的两类可用的交互图中选择一种类型 :协作图和序列图。这些图主要强调对象之间的交互关系。

 

4.                 在“图类型”列表中,选择“序列图”。
5.                 在“图名称”字段中,键入 SequenceDiagram
6.                 保留“名称空间”字段中的缺省设置,并单击“确定”。
IDE 将执行以下操作:
o                                在 CollaborationDiagram  节点下创建 SequenceDiagram  节点
o                                在图编辑器中显示新图,该图是由生命线元素以及来自协作图的消息构成的
o                                打开“建模组件 面板”,显示在创建序列图过程中使用的图标。


该图应当与下面的图类似。
 

完善生成的序列图

事务中的对象被绘制成点状竖线,其名称显示在顶部。由于在创建序列图时无法预先定义生命线元素的顺序,因此您需要在此时重新排序这些元素。
1.                 选择标记为 User 的生命线,将其移至图的左侧。
2.                 重新排序其余的生命线元素,使其均匀地分布于图编辑器中。按以下顺序从左到右依次放置生命线:
o                                User
o                                ATM
o                                Consortium
o                                Branch
 
 


现在,该图应当与下面的图类似。

 

 

添加自调用消息元素

 

 

 

 

自调用消息图元素表示调用对象时使用的消息。本图中表示的内部操作是对 ATM 对象中现有现金的验证。
1.                  您可能需要延长生命线元素,以方便消息元素的放置。要延长生命线,请按照下列步骤操作:
a. 选择 User 生命线元素。
b. 单击底部中心的蓝色方框,然后向下拖动方框以延长生命线。
c. 重复步骤 a 和 b,延长其他的生命线,直至该图与下面的图类似。
 
 
 
2.                 从“建模组件面板”的“基本”类别,选择“自调用消息”图标 。
3.                 单击延长的 ATM 生命线元素的下半部分。

IDE 将在此生命线上放置一个自调用消息元素。
4.                 单击鼠标右键以取消选择“自调用消息”图标。
5.                 在自调用消息元素中,单击位于下面的消息箭头。

消息的属性将显示在“属性”窗口中。
6.                 在“属性”窗口的“名称”字段中,键入 validateCashOnHandOperation ,然后按 Enter 键。
7.                 右键单击自调用消息元素中上面的消息箭头,然后从上下文菜单中选择“操作”。下图指示了放置光标的位置。请注意顶部箭头上方的双竖线。
 
 


8.                 从操作列表中选择 "public boolean getIsOperating "。

您会看到对该消息的上部进行了标记,如下图所示。

 

 


 

 

使用调用消息元素

 

 

 

 

由于 validateCashOnHand  操作是 ATM 类的一部分,因此需要在生命线上放置一个消息流来调用该操作。
1.                 从“建模组件面板”的“基本”类别,选择“同步消息”图标 。
2.                 单击现有蓝条下的 User 生命线元素。
3.                 在您第一次单击位置的右侧再次直接单击 ATM 生命线元素。

图上将出现一个消息和一个返回消息。

 

 
如果不希望返回消息出现在图上,请右键单击图编辑器的空白区域。从上下文菜单中取消选择“显示所有返回消息”。

 

4.                   
5.                 右键单击刚刚创建的消息,从上下文菜单中选择“操作”>“添加操作”。
 
 
 
 键入 validateCashOnHand ,然后按 Enter 键。

IDE 将在图上标记该消息,然后将消息作为操作添加到类图 的 ATM 类中。在“项目”窗口中,展开 ATM 类节点,确认操作列表与下面的图类似。


 

使用自动扩展消息选项

 

 

 

 

为了便于设计过程的顺利进行,IDE 有一个自动扩展消息的选项。如果将自动扩展设置为选中状态,则在图上放置新消息时,其占用的空间便会扩展为消息的宽度。
1.                 要设置自动扩展选项,请在 User 和 ATM 元素名称之间的跟踪中单击鼠标右键。

打开上下文菜单。
2.                 选择“将宽度设置为消息宽度”。

两个元素名称之间的跟踪中将会出现一个指示器栏,如下图所示。
 
 


3.                 重复上述步骤,设置 ATM 和 Consortium 元素之间以及 Consortium 和 Branch 元素之间的消息宽度选项。
返回页首

 

使用创建消息符号

 

 

 

 

 

“创建消息”符号可以创建生命线元素或实例。
1.                 从“建模组件面板”的“基本”类别,选择“创建消息”图标 。
2.                 单击 Branch 生命线的下半部分。

 

 
请一定要单击在线上,否则将不能正确绘制链接。

 

3.                 绘制链接,直至 Branch 生命线的右侧,然后再次单击。

这样便会在图上放置一个消息和一条生命线,如图所示。
 
 

5.                 单击鼠标右键以取消选择该图标。
6.                 选择新的生命线。

“属性”窗口将显示此生命线元素的属性。
7.                 在“属性”窗口中标记为“表示类元”的行上,单击向下箭头。

将会出现一个下拉列表。
8.                 从下拉列表中选择 "CashierStation",然后按 Enter 键。
9.                  单击图编辑器,查看这个带有标签的生命线元素。

 

 
您可以适当放宽此新生命线元素,直至看到其完整的名称 CashierStation 为止。

 

10.              该图应当与下面的图类似。
 
 
 

 

添加异步链接

 

 

 

 

 

异步消息元素表示不阻止调用对象的消息。此类消息能够创建新对象、创建新线程 并与现有线程进行通讯。
1.                 从“建模组件面板”的“基本”类别,选择“异步消息”图标 。
2.                 单击 Branch 生命线元素,然后单击 CashierStation 生命线元素,在 Branch 和 CashierStation 生命线之间绘制一条链接。
3.                 单击鼠标右键以取消选择该图标。
4.                 右键单击新链接,然后从上下文菜单中选择“操作”> "public int getStationID "。

该操作将向此消息添加操作,如下图所示。

  

 

使用组合片段元素

 

组合片段允许在序列图上直接表示逻辑组件,如备选项、选项、异常、并行合并、循环、求反、临界区域和断言等。组合片段提供了一种方法,通过指定条件或子进程的应用区域,该方法可以为任何生命线的任何部分定义特殊条件和子进程。
1.                 从“建模面板”的“控制”类别,选择“组合片段”图标 。
2.                 要绘制组合片段元素以封装消息 public void validateCashOnHand ,请单击表示该消息的蓝色虚线矩形的外部,然后拉伸矩形,以围住该消息。

切记在单击时不要选中任何生命线元素。您的组合片段应当如下图所示。
 
 


3.                 单击鼠标右键以取消选择该图标。
 
 
4.                 右键单击组合片段元素中的 "assert " 标签,然后选择“交互运算符”> "loop"。

 

 
loop 交互运算符指定组合片段表示一个循环。每次重复循环时,就会计算触发表达式的结果。触发表达式可以包括特定次数的循环迭代。

 

5.                 右键单击标记为 "loop " 的组合片段,然后从上下文菜单中选择“交互操作数”>“编辑交互约束”。

IDE 会在目标组合片段元素中显示一个表达式框。
6.                 双击单词 expression,使表达式处于可编辑状态,如下图所示。
 
 


7.                 键入 x < 10 ,然后按 Enter 键。
8.                 单击图编辑器。

这个表达式将被接受并显示在框中。该图应当与下面的图类似。
 
 

 

保存图

 

当您完成了序列图后,便可保存该图。
1.                 在图编辑器中,右键单击 "SequenceDiagram " 标签。
2.                 从上下文菜单中选择“保存文档”。

这将关闭菜单并保存序列图。

 

 
退出 IDE 时,系统会提示您是否要保存该图。

 

返回页首

 

小结
 

 

在本教程中,您了解了如何使用现有的类图和协作图来创建序列图。具体学习了如何执行下列任务:
·                     从现有的协作图生成序列图
·                     使用“建模组件面板”中的图标将消息添加到图
·                     将链接添加到图
·                     添加组合片段元素
·                     保存图

 
分享到:
评论

相关推荐

    序列图合成工具

    序列图合成工具是一种高效的设计辅助软件,主要用于绘制和组合序列图。序列图是UML(统一建模语言)中的一种图形表示法,用于描述系统中对象间的交互过程,特别是时间顺序和消息传递。在软件设计、系统分析和项目...

    序列图合成器

    《序列图合成器:制作小游戏的关键工具》 在游戏开发领域,序列图(Sprite Sheet)是一种常见的优化资源加载和渲染效率的技术。序列图是将多张小图片整合到一张大图上的过程,它能减少游戏运行时的内存占用,提高...

    cgjoy-闪电序列图.rar

    在CG(计算机图形学)领域,闪电序列图是一种常见的特效元素,用于模拟逼真的闪电效果。"cgjoy-闪电序列图.rar"这个压缩包显然包含了用于创建闪电动画的一系列图像,可能是一个帧序列,每张图片代表动画中的一个时间...

    UML 序列图 UML 序列图

    "UML 序列图" UML 序列图是一种重要的建模工具,主要用于描述对象之间的交互行为。序列图能够展示对象之间的交互顺序,帮助开发者和业务人员更好地理解系统的行为。 序列图的主要用途之一,是把用例表达的需求,...

    UML序列图详解(UML序列图加于解释)

    UML 序列图详解 UML 序列图是一种常用的建模工具,用于描述对象之间的交互和顺序。它能够帮助开发者和业务人员更好地理解和交流系统的行为。 在 UML 序列图中,框架元件扮演着重要的角色,它可以作为图形化边界,...

    GhostCatTools序列图片合成拆分工具

    用户可以方便地选取精灵图中的某一个或多个图片序列,将其拆分成独立的图片文件,以便进行编辑或单独使用。 在标签“特效”方面,GhostCatTools的序列图片合成能力对于制作游戏内的粒子效果、动画特效等有着显著的...

    UML 网上购物序列图

    ### UML网上购物序列图详解 #### 一、实验背景及目的 本次实验旨在通过具体的网上购物场景,深入探讨和实践UML中的序列图和协作图。通过绘制这些图表,可以更好地理解系统的交互过程,以及不同类之间的关系,进而...

    火焰燃烧序列图

    火焰燃烧序列图是一种用于模拟和理解火的动态过程的可视化工具。在计算机图形学和物理模拟领域,这种序列图常被用来创建逼真的火动画,例如在电影、游戏或者科学可视化应用中。火焰燃烧序列图通常由一系列连续的图像...

    uml学习总结-类图、序列图

    ### UML学习总结—类图、序列图 #### UML简介 UML(Unified Modeling Language,统一建模语言)是一种标准化的图形表示方法,用于软件密集型系统的可视化、描述、构造以及文档化工作。UML提供了多种图表工具,能够...

    简单选课系统uml用例图、协作图、序列图

    本篇文章将深入探讨如何运用UML的用例图、协作图和序列图来构建一个简单的选课系统,旨在为初学者提供实用的参考。 一、用例图(Use Case Diagram) 用例图是UML中的重要组成部分,它展示了系统的主要参与者...

    ui播放序列图_序列图_unity_源码

    在Unity游戏开发中,UI(用户界面)的动画序列图是一种常见的设计元素,用于实现动态效果,如按钮点击、加载进度、角色状态变化等。序列图通常由一系列静态图像组成,按照特定顺序播放来形成连续的动画效果。本文将...

    UML网购系统序列图和协作图

    在UML(统一建模语言)中,序列图和协作图是两种重要的行为图,用于描述对象间的交互和协作。这两种图在系统设计和分析中起到关键作用,特别是在复杂的IT系统如网购系统中,它们有助于理解和梳理不同角色之间的动态...

    网上选课系统数据流图、E-R图、序列图汇总

    本文将详细解析该系统中的数据流图、E-R图及序列图,帮助读者深入理解系统设计与运作机制。 ### 数据流图 数据流图(Data Flow Diagram,简称DFD)是一种图形化工具,用于描绘信息在系统中的流动情况。网上选课...

    unity 相机截图+序列图导出插件

    总的来说,这个“Unity 相机截图+序列图导出插件”提高了Unity开发者的效率,使得截图和序列图的创建变得更加灵活和便捷。无论是用于游戏开发的内部工作流程,还是对外的展示和交流,都是一个非常实用的工具。

    序列图导出工具.rar

    《序列图导出工具在3D到2D转换中的应用详解》 在3D游戏开发过程中,有时我们需要将3D场景或角色转化为2D图像序列,例如制作动画、游戏过场或者实现某些特殊视觉效果。这通常涉及到序列图的生成与导出。"序列图导出...

    各种UML图:用例图、类图、序列图、状态图、活动图、组件图和部署图.zip

    `交互图之顺序图2.gif`和`交互图之顺序图.gif`可能是序列图的例子,强调了消息的顺序和同步控制。 4. **协作图 (Collaboration Diagram)**: 协作图与序列图类似,但更强调对象间的关系,如连接对象和角色。`交互...

    序列图转swf,flash动画制作

    序列图转SWF是一种在IT行业中常见的技术,主要用于将一系列静态的人物动作序列图组合成动态的SWF(ShockWave Flash)动画。Flash动画是互联网早期非常流行的一种多媒体内容形式,常用于网页设计、游戏开发以及教学...

    一种Flash加载大量序列图的方法

    本文将深入探讨“一种Flash加载大量序列图的方法”,主要关注如何有效地在AS3(ActionScript 3)环境下实现这一技术。 序列图,也称为帧序列,是由一系列连续的静态图像组成,它们按照特定顺序播放,以创建类似动画...

Global site tag (gtag.js) - Google Analytics