首页 > 软件专区 > Visio >

UML时序图(Squence diagram)的设计介绍

来源:互联网 2021-06-06 16:42:17 162

一、概念2Pm办公区 - 实用经验教程分享!

UML时序图,也叫顺序图,是一种详细表示对象之间以及对象与参与者实例之间交互的图,它由一组协作的对象(或参与者实例)以及它们之间可发送的消息组成,它强调消息之间的顺序。2Pm办公区 - 实用经验教程分享!

它详细而直观地表现了一组相互协作的对象在执行一个(或少量几个)用例时的行为依赖关系,以及操作和消息的时序关系。2Pm办公区 - 实用经验教程分享!

类图是反映类、对象、接口等事物之间的依赖、继承、实现关系等,主要是静态关系,对对象之间的消息(交互情况)表达不够详细;;而顺序图既详细又直观的表达了消息传递,一张时序图能表示跟该行为相关的少数几个对象之间的交互。2Pm办公区 - 实用经验教程分享!

 2Pm办公区 - 实用经验教程分享!

二、时序图的结构2Pm办公区 - 实用经验教程分享!

序列图(Sequence Diagram)是由对象(Object)、生命线(Lifeline)、激活(Activation)、消息(Messages)、分支与从属流、组合片段(Combined Fragment)等元素构成的。2Pm办公区 - 实用经验教程分享!

1、对象(Object)2Pm办公区 - 实用经验教程分享!

对象就是指类的实例。我认为在序列图中对象有三种状态:激活、运行(存在)和销毁。2Pm办公区 - 实用经验教程分享!

UML时序图(Squence diagram)的设计介绍2Pm办公区 - 实用经验教程分享!

2、生命线2Pm办公区 - 实用经验教程分享!

生命线(Lifeline)是一条垂直的虚线,用来表示序列图中的对象在一段时间内的存在。2Pm办公区 - 实用经验教程分享!

UML时序图(Squence diagram)的设计介绍2Pm办公区 - 实用经验教程分享!

3、激活2Pm办公区 - 实用经验教程分享!

序列图可以描述对象的激活(Activation),激活是对象操作的执行,它表示一个对象直接或通过从属操作完成操作的过程。在UML图中通过一个窄长的矩形来表示,矩形的高度表示对象存在的过程。2Pm办公区 - 实用经验教程分享!

UML时序图(Squence diagram)的设计介绍2Pm办公区 - 实用经验教程分享!

 2Pm办公区 - 实用经验教程分享!

4、消息2Pm办公区 - 实用经验教程分享!

消息(Messages)是对象间的一种通信机制。由发送对象向另一个或其他几个接收对象发送信号,或由一个对象(发送者或调用者)调用另一个对象(接收者)的操作。2Pm办公区 - 实用经验教程分享!

StarUML中,位置如下图:2Pm办公区 - 实用经验教程分享!

UML时序图(Squence diagram)的设计介绍2Pm办公区 - 实用经验教程分享!

  同步消息=调用消息(Synchronous Message)2Pm办公区 - 实用经验教程分享!

  消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。2Pm办公区 - 实用经验教程分享!

UML时序图(Squence diagram)的设计介绍2Pm办公区 - 实用经验教程分享!

  异步消息(Asynchronous Message)2Pm办公区 - 实用经验教程分享!

  消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。2Pm办公区 - 实用经验教程分享!

  UML时序图(Squence diagram)的设计介绍2Pm办公区 - 实用经验教程分享!

 2Pm办公区 - 实用经验教程分享!

自关联消息2Pm办公区 - 实用经验教程分享!

  表示方法的自身调用以及一个对象内的一个方法调用另外一个方法。如下图所示2Pm办公区 - 实用经验教程分享!

UML时序图(Squence diagram)的设计介绍2Pm办公区 - 实用经验教程分享!

 2Pm办公区 - 实用经验教程分享!

5、执行者2Pm办公区 - 实用经验教程分享!

表示这个对象是由谁来操作的.如下图,都是由员工来操作的。2Pm办公区 - 实用经验教程分享!

UML时序图(Squence diagram)的设计介绍2Pm办公区 - 实用经验教程分享!

6、约束2Pm办公区 - 实用经验教程分享!

约束的符号很简单;格式是: [Boolean Test]2Pm办公区 - 实用经验教程分享!

UML时序图(Squence diagram)的设计介绍2Pm办公区 - 实用经验教程分享!

我的StarUML版本上,对于约束或条件,只有迭代器,返回值等几个选项,如下图:2Pm办公区 - 实用经验教程分享!

UML时序图(Squence diagram)的设计介绍2Pm办公区 - 实用经验教程分享!

 2Pm办公区 - 实用经验教程分享!

7、组合片段2Pm办公区 - 实用经验教程分享!

组合片段 用来解决交互执行的条件及方式。 它允许在序列图中直接表示逻辑组件,用于通过指定条件或子进程的应用区域,为任何生命线的任何部分定义特殊条件和子进程。2Pm办公区 - 实用经验教程分享!

在StarUML的左侧工具栏中,符号如下:2Pm办公区 - 实用经验教程分享!

UML时序图(Squence diagram)的设计介绍2Pm办公区 - 实用经验教程分享!

选择某一种组合片段的位置,在右侧的属性栏中:2Pm办公区 - 实用经验教程分享!

UML时序图(Squence diagram)的设计介绍2Pm办公区 - 实用经验教程分享!

常用的组合片段有:2Pm办公区 - 实用经验教程分享!

a.       抉择(Alt)2Pm办公区 - 实用经验教程分享!

抉择用来指明在两个或更多的消息序列之间的互斥的选择,相当于经典的if..else..。2Pm办公区 - 实用经验教程分享!

抉择在任何场合下只发生一个序列。 可以在每个片段中设置一个临界来指示该片段可以运行的条件。 else 的临界指示其他任何临界都不为 True 时应运行的片段。 如果所有临界都为 False 并且没有 else,则不执行任何片段。2Pm办公区 - 实用经验教程分享!

 UML时序图(Squence diagram)的设计介绍2Pm办公区 - 实用经验教程分享!

 2Pm办公区 - 实用经验教程分享!

 2Pm办公区 - 实用经验教程分享!

b.       循环(Loop)2Pm办公区 - 实用经验教程分享!

片段重复一定次数。 可以在临界中指示片段重复的条件。2Pm办公区 - 实用经验教程分享!

UML时序图(Squence diagram)的设计介绍2Pm办公区 - 实用经验教程分享!

 2Pm办公区 - 实用经验教程分享!

c.       并行(Par)2Pm办公区 - 实用经验教程分享!

 2Pm办公区 - 实用经验教程分享!

 UML时序图(Squence diagram)的设计介绍2Pm办公区 - 实用经验教程分享!

下表列出了常用的组合片段:2Pm办公区 - 实用经验教程分享!

片段类型2Pm办公区 - 实用经验教程分享!

名称2Pm办公区 - 实用经验教程分享!

说明2Pm办公区 - 实用经验教程分享!

Opt2Pm办公区 - 实用经验教程分享!

选项2Pm办公区 - 实用经验教程分享!

包含一个可能发生或可能不发生的序列。 可以在临界中指定序列发生的条件。2Pm办公区 - 实用经验教程分享!

Alt2Pm办公区 - 实用经验教程分享!

抉择2Pm办公区 - 实用经验教程分享!

包含一个片段列表,这些片段包含备选消息序列。 在任何场合下只发生一个序列。2Pm办公区 - 实用经验教程分享!

可以在每个片段中设置一个临界来指示该片段可以运行的条件。 else 的临界指示其他任何临界都不为 True 时应运行的片段。 如果所有临界都为 False 并且没有 else,则不执行任何片段。2Pm办公区 - 实用经验教程分享!

Loop2Pm办公区 - 实用经验教程分享!

循环2Pm办公区 - 实用经验教程分享!

片段重复一定次数。 可以在临界中指示片段重复的条件。2Pm办公区 - 实用经验教程分享!

Loop 组合片段具有“Min”和“Max”属性,它们指示片段可以重复的最小和最大次数。 默认值是无限制。2Pm办公区 - 实用经验教程分享!

Break2Pm办公区 - 实用经验教程分享!

中断2Pm办公区 - 实用经验教程分享!

如果执行此片段,则放弃序列的其余部分。 可以使用临界来指示发生中断的条件。2Pm办公区 - 实用经验教程分享!

Par2Pm办公区 - 实用经验教程分享!

并行2Pm办公区 - 实用经验教程分享!

并行处理。 片段中的事件可以交错。2Pm办公区 - 实用经验教程分享!

Critical2Pm办公区 - 实用经验教程分享!

关键2Pm办公区 - 实用经验教程分享!

用在 Par 或 Seq 片段中。 指示此片段中的消息不得与其他消息交错。2Pm办公区 - 实用经验教程分享!

Seq2Pm办公区 - 实用经验教程分享!

弱顺序2Pm办公区 - 实用经验教程分享!

有两个或更多操作数片段。 涉及同一生命线的消息必须以片段的顺序发生。 如果消息涉及的生命线不同,来自不同片段的消息可能会并行交错。2Pm办公区 - 实用经验教程分享!

Strict2Pm办公区 - 实用经验教程分享!

强顺序2Pm办公区 - 实用经验教程分享!

有两个或更多操作数片段。 这些片段必须按给定顺序发生。2Pm办公区 - 实用经验教程分享!

2Pm办公区 - 实用经验教程分享!

 2Pm办公区 - 实用经验教程分享!

有关如何解释序列的片段2Pm办公区 - 实用经验教程分享!

默认情况下,序列图表明可能发生的一系列消息。 在运行的系统中,可能会出现您未选择显示在关系图上的其他消息。2Pm办公区 - 实用经验教程分享!

以下片段类型可用于更改此释义:2Pm办公区 - 实用经验教程分享!

片段类型2Pm办公区 - 实用经验教程分享!

名称2Pm办公区 - 实用经验教程分享!

说明2Pm办公区 - 实用经验教程分享!

Consider2Pm办公区 - 实用经验教程分享!

考虑2Pm办公区 - 实用经验教程分享!

指定此片段描述的消息列表。 其他消息可发生在运行的系统中,但对此描述来说意义不大。2Pm办公区 - 实用经验教程分享!

在“Messages”属性中键入该列表。2Pm办公区 - 实用经验教程分享!

Ignore2Pm办公区 - 实用经验教程分享!

忽略2Pm办公区 - 实用经验教程分享!

此片段未描述的消息列表。 这些消息可发生在运行的系统中,但对此描述来说意义不大。2Pm办公区 - 实用经验教程分享!

在“Messages”属性中键入该列表。2Pm办公区 - 实用经验教程分享!

Assert2Pm办公区 - 实用经验教程分享!

断言2Pm办公区 - 实用经验教程分享!

操作数片段指定唯一有效的序列。 通常用在 Consider 或 Ignore 片段中。2Pm办公区 - 实用经验教程分享!

Neg2Pm办公区 - 实用经验教程分享!

否定2Pm办公区 - 实用经验教程分享!

此片段中显示的序列不得发生。 通常用在 Consider 或 Ignore 片段中。2Pm办公区 - 实用经验教程分享!

2Pm办公区 - 实用经验教程分享!

 2Pm办公区 - 实用经验教程分享!

 2Pm办公区 - 实用经验教程分享!

下面是一个完整的例子:(中间的用法,可能不太正确,请当做示意图凑合着看)2Pm办公区 - 实用经验教程分享!

UML时序图(Squence diagram)的设计介绍2Pm办公区 - 实用经验教程分享!


标签: UML时序diagram设计

办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码