顺序图

合集下载

《顺序图举例》课件

《顺序图举例》课件
3 顺序图的优缺点
优点包括能清晰描绘系统交互流程,缺点包括不适用于描述并发和复杂逻辑。
角色/对象
顺序图中的角色或对象代表系统中的实体,可以是人、物、或其他系统。
消息/信号
消息或信号是对象之间相互交互的信息,用于描述它们之间的通信过程。
生命周期
生命周期表示对象在交互过程中的活动状态,可用于展示对象的创建、销毁和状态变化。
顺序图的绘制步骤
1
定义消息/信号
2
定义对象之间的消息或信号,并确
例子
餐厅点餐系统
使用顺序图展示餐厅点餐系统的用户和后厨之 间的交互流程。
旅游网站预订流程演示
使用顺序图展示旅游网站的用户预订流程和系 统的后台处理过程。
总结
1 顺序图的重要性
顺序图是理解和描述对象间交互行为顺序的重要工具,对系统设计和测试具有重要作用。
2 绘制顺序图的方法
通过识别角色、定义消息和绘制生命周期的方式来绘制顺序图。
系统测试过程
顺序图可以用于描述系 统测试过程中不同组件 之间的交互行为,帮助 测试人员进行测试计划。
绘制顺序图的注意事项
1 界面布局
合理的界面布局可以使顺序图更易读和理解,注意元素的对齐和分组。
2 消息/信号命名
消息或信号的命名要具备准确性和清晰度,避免歧义和误解。
3 生命周期定义
生命周期的定义要准确反映对象的状态变化,确保图示的准确性。
《顺序图举例》PPT课件
这份PPT课件将带你深入了解顺序图,从基本定义到应用场景,让你轻松掌握 顺序图的绘制技巧。
什么是顺序图
顺序图是一种用于展示对象之间交互行为顺序的图表。它描述了对象之间的 消息传递和生命周期。
顺序图可以帮助们更好地理解系统内部的交互过程,从而进行系统设计和 测试。

知识点学习(顺序图和协作图 )

知识点学习(顺序图和协作图 )

7.2 通信图
•图10从订单生成订货单的通信图。
2 通信图
• 1.通信图的作用
• 通信图常用来描述业务或软件系统中,每个对象在交互发生时承担的 角色,即强调了交互发生时,每个对象承担的职责。 • 使用协作图可以显示对象相互协作时充当的角色。如果需要强调时间 和序列,最好选择顺序图建模;如果需要强调上下文相关,最好选择 协作图建模。 • 协作图用于显示对象之间如何进行交互,以实现特定用例或用例中特 定部分的行为。设计员使用协作图和顺序图确定并阐明对象的角色, 这些对象执行用例的特定事件流。这些图提供的信息主要用来确定类 的职责和接口。 • 2.通信图的组成元素
1 顺序图
对象
控制焦点 消息
•图2 顺序图
生命线
1 顺序图
• 2.对象:
• 顺序图中对象的符号和对象图中对象所用的符号一样。将对象置于顺 序图的顶部意味着在交互开始的时候对象就已经存在了,如果对象的 位置不在顶部,那么表示对象是在交互的过程中被创建的。 • 3.生命线 • 生命线是一条垂直的虚线,表示顺序图中的对象在一段时间内的存在。 每个对象的底部中心的位置都带有生命线。生命线是一个时间线,所 用的时间取决于交互持续的时间。 • 4.控制焦点 • 在对象的生命线上,包含一个矩形,表示对象处于激活状态,处于激 活状态的对象正在执行某个任务。对象在完成自己的工作后,被去激 活,对象就处于空闲状态。
1.1: findStudent(name) 1.2: findCourse(course) <<self>> 1: register(name,course) :Registrar :RegistrationManager [(!s)&c]1:studentNotFound [s&(!c)]1:courseNotFound [(!s)&(!c)]1:allNotFound [s&c]1:OK :StudentList

UML九种建模图--顺序图

UML九种建模图--顺序图

UML九种建模图--顺序图概述顺序图是⼀种交互图(interaction diagram).交互图展现了⼀种交互,它由⼀组对象或参与者以及它们之间可能发送的消息构成。

交互图专注于系统的动态视图。

顺序图是强调消息的时间次序的交互图。

组成顺序图主要有4个标记符:对象、⽣命线、消息和激活。

对象三种表⽰⽅法1.包括对象名和类名,2、只有类名3.只有对象名⽣命线⽣命线⽤于描述对象的存在周期,对象下⽅的虚线就是该对象的⽣命线。

激活控制焦点是指活动者或对象处于执⾏状态的时间段消息消息⽤于描述对象间交互的⽅式及内容。

消息分为四种:同步消息、异步消息、返回消息、⾃关联消息1.同步消息:⼀个对象向另⼀个对象发出同步消息后,将处于阻塞状态,⼀直等到另⼀个对象的回应表⽰⽅式:2.异步消息:⼀个对象向另⼀个对象发出异步消息后,这个对象可以进⾏其他的操作,不需要等到另⼀个对象的响应表⽰⽅式:3.返回消息:同步消息的返回消息表⽰⽅式:4.⾃关联消息:⽤来描述对象内部函数的互相调⽤表⽰⽅式:还有顺序图中对于流程控制的模块:复合⽚段复合⽚段有多种,在此主要介绍⼀下⼏种:条件判断、可选、循环、同步1.条件判断:⽤于描述代码中if…else…这种结构标记为“alt”例如:2.可选:是⼀种特殊的“条件判断”,它只是⼀个if,没有else if或else 可选的标记为:opt3.循环:是指代码中的for、while之类的语句块循环的标记为:loop例如:下图中[m,n]是指⾄少执⾏m次,最多执⾏n次4.同步:⽤于描述多线程的情况同步的标记是:par画顺序图的步骤:1. 确定交互的范围2. 确定参与交互的活动者与对象3. 确定活动者、对象的⽣存周期4. 确定交互中产⽣的消息5. 细化消息的内容。

顺序图

顺序图

阻止消息 消息的发送者传递消息给接 收者,如果接收者无法立即接收, 则发送者放弃该消息。
Rational Rose画顺序图
打开rose软件,选择新建Sequence Diagram
Rational Rose画顺序图
Rational Rose画顺序图
Selection Tool:光标返回 箭头,选择工具
选项(Opt)
• 包含一个可能发生或不发生的序列
循环(Loop)
• 片段重复一定次数。 可以在临界中 指示片段重复的条件。
并行(Par)
组合片段
谢建模序列图的下一步是从左到右布置在该工作流程中所有的参与 者和对象,同时也包含要添加消息的对象生命线。
Rational Rose画顺序图
在对象之间添加消息
Rational Rose画顺序图
在对象之间添加消息,选择消息种类
Rational Rose画顺序图
常用消息的类型
自关联消息
用来描述对象内部函数的互相调
用。
超时消息
超时消息是同步消息中的一种特 殊情况,源消息对象发出消息后将等 待响应一段时间,在限定时间内还没 有响应时,源消息对象将取消阻塞状 态而执行后续操作。
常用消息的类型
异步消息 消息的发送者将消息发送给 消息的接受者后,不用等待回应 的消息,即可开始另一个活动。
Text Box:创建文本框
Note:创建注释 Object:序列图中的对象
Anchor Note to Item:将注释连接到序列图 中的相关模型元素 Object Message:两个对象之间的普通消 息,消息在单个控制线程中运行
Message to Self:对象的自身 消息 Return Message:返回消息 Destruction Marker:销毁对象标记 Procedure Call:两个对象之间的过程调用 Asynchronous Message:两个对象之 间的异步消息,也就是说客户发出

第13讲 UML详细设计-顺序图

第13讲 UML详细设计-顺序图
对象名匿名对象匿名对象对象的左右排列位置对象的左右排列位置对象的左右顺序并不重要但是为了图面的清晰整洁起见通常应遵循以下两个原则对象的左右顺序并不重要但是为了图面的清晰整洁起见通常应遵循以下两个原则11把交互频繁的对象尽可能地靠拢把交互频繁的对象尽可能地靠拢22把初始化整个交互活动的对象有时是一个参与者放置在最左边把初始化整个交互活动的对象有时是一个参与者放置在最左边生命线生命线表示对象存在的时间对象下面一条虚线表示
时序图中,消息的阅读顺序是严格自上而下的
消息的类型:
在UML中,总共有4种类型的消息,如下图所示。 到目前为止只看到了一种消息,即简单消息(flat message)。
(1). 同步消 息 同步消息(synchronous message)代表一个操作调用的控制流。 同步消息的发送者把控制传递给消息的接收者,然后暂停活动,等 待消息接收者的应答,收到应答后才继续自己的操作。
以使用顺序图进一步阐明和实现。
顺序图刻画了用例具体实现的流程,比活动图更能 够表示细节,因此适用于详细设计。
顺序图与用例图和类图的关系
UML
-5-
三、顺序图的标记符 顺序图有两个主要的标记符:活动对象和这些活动对象之间 的通信消息。活动对象可以是任何在系统中扮演角色的对象,不 管它是对象实例还是参与者,如下图所示。
练习:建模在图书馆网上借书和续借书的顺 序图 包括:登陆、个人借阅信息界面、续借(图 书是否过期,是否续借过)
3.分支和从属流 有两种方式来修改顺序图的控制流:使用分支和使用从属 流。控制流的改变是由于不同的条件导致控制流走向不同的道 路。 分支是指从同一点发出的多个消息并指向不同的对象,根据 条件是否互斥,可以有条件和并行两种结构。
注意消息的开始位置是相同的,分支消息的结束“高度”也是相 等的。这说明在下一步中,其中之一将会执行,如下图所示。

顺序图和协作图

顺序图和协作图

问题: 阻止消息和超时消息属于同步消息还是异步消息?
6.2.6 消息
• 格式
– [前缀][守卫条件][顺序表达式][返回值:=]消息名([参数列表])
• 例:
– – – – – – 2: display () 1.3.1: p:=find() [x<0] 4: invert(x, color) 3.1 *[x = 1..10] : update() a3,b4/c2: copy(a,b) 1.1a, 1.1b/1.2: continue()
6.2.2 参与者或对象
• 参与者和对象按照从左到右的顺序排列 • 一般最多两个参与者,他们分列两端。启动这个用例的活 动者往往排在最左边;接收消息的活动者则排在最右端; • 对象从左到右按照重要性排列或按照消息先后顺序排列。
6.2.2 参与者或对象
• 对象的命名方式有三种:
– 包括对象名和类名 – 类名(匿名对象) – 对象名(不关心类)
• 间隔区中,有操作符(描述帧中的图的类型的表 达式)和图所描绘的交互的名字。
• •
最外层是框架元件或叫间隔区: 对于顺序图,操作符是 sd (sequence diagram), BuySoda是图的名字
• 帧化的概念很有用,有多种应用方法,不同的应 用帧化类型(间隔区操作符)对应不同。
交互片段(interaction fragment)
6.2.1 顺序图的组成
• 参与者(actor)或者 对象(object)
• 生命线(lifeline)
• ----坐标轴纵向的虚线表示对象在序列中的执 行情况(即发送和接收的消息,对象的活动) 这条虚线称为对象的“生命线”。
• 激活期/ 控制焦点
• 消息(message)

5.实验5---顺序图和协作图

5.实验5---顺序图和协作图

实验5顺序图和协作图一.顺序图1.实验内容图1-1顺序图2.实验步骤2.1定义类在LogiC VieW视图下创建4个类,它们是:客户、ATM端口、钱币记录仪、分类器,如图1-2所示。

图1-2创建类2.2创建顺序图右击LogiC View,选择New→Sequence Diagram,系统自动增加了一个项目:NewDiagram0我们在此处输入:顺序图,如图1-3所示。

图1-3创建顺序图2.3往顺序图中添加对象在i刘览器窗口中,双击“顺序图”文本,系统就在模型图窗口打开“顺序图”,如图1-4所示。

图1-4打开顺序图分别将浏览器窗口中的4个类(客户、ATM端口、钱币记录仪、分类器)拖入顺序图。

当把类拖入顺序图中时,系统自动创建匿名对象。

如图1・5所示。

图1-5对象拖入顺序图给匿名对象命名步骤如下:右击匿名对象客户”图标,选择OPen SPeCifICatiOn,打开对象的规范窗口,输入姓名:邓小贫。

如图1-6所示。

图1-6给匿名对象取名点击“OK”按钮,完成对象命名。

2.4 给对象添加消息添加消息的步骤:1)在工具箱中单击ObjeCl Message 按钮,2)在“邓小贫”对象的生命线上按下鼠标左键(不要松手),拖动鼠标到对象”:ATM端口”后,松开鼠标,就建立了一条消息。

如图1-7所示。

×ι÷lMHl ►!►Mog/For H«lp , pr«ss Fl∣D∙fftult Ltt<u∙g∙: Analysis图1-7添加消息3)右击消息,打开快捷菜单,选择OPenSPeCifiCatiOn ,打开消息的规范窗口,并输 入消息名:请求接收钱币,如图,1-8所示。

图1-7消息命名@ Rational Rose - 20182236+季自成+⅛⅛4.mdl‰侬File Edit View Format Browse Report ToOk Add-Ins Window Help口空。

顺序图

顺序图

顺序图1.概述顺序图(Sequence Diagram)是交互图的一种,它按照交互发生的时间顺序,利用对象的“生命线”和消息描述对象之间的交互。

通常用来描述一个用例的行为,完成对系统的动态行为建模。

顺序图主要目的是定义事件序列,产生一些希望的输出,其重点不是消息本身,而是消息产生的顺序。

一个典型的顺序图如图1所示,图1. 顺序图2.基本元素顺序图的基本元素有生命线、消息、活动者、对象、组合片断。

2.1 生命线(Lifeline)一条生命线代表着顺序图中的一个参与者,表示建模的角色或对象实例。

在UML中,生命线画作一个方格,一条虚线从上而下,通过底部边界的中心,生命线对象的名字放置在方格里,如图2所示,图2. 生命线(1)通常,顺序图属于某个用例时,顺序图中会包含有参与者的生命线。

边界类、控制类、实体类都可以拥有生命线,如图3所示,图3. 生命线(2)2.2消息(Messages)消息是对象之间的一种通信,它可以传递信息并期望相关的动作被执行。

顺序图的第一个消息总是从顶端开始,并且一般位于图的左边。

然后继发的消息加入图中,稍微比前面的消息低些。

在UML中,一个对象传递一个消息给另一个对象,画一条线指向接收对象,包括一个实心箭头(表示同步调用操作)或一个棍形箭头(表示一个异步信号)。

消息或方法名字放置在带箭头的线上面。

如图4所示,第一个消息是一个同步消息,隐式返回。

第二个消息表示异步,第三个消息即是异步消息的返回的消息。

图4. 消息生命线上的瘦矩形表示消息执行发生或一个控制焦点的激活,表明对象在某一时间点开始执行活动。

在图4中,有三个执行发生。

调用本身的消息可用于表示一个操作的递归调用,或者同一对象中一个方法对另一个方法的调用,如图5所示,图5. 调用自身消息2.3约束(Constraints)当为对象的交互建模时,有时候,必须满足一个条件,消息才会传递给对象。

约束在各个不同的UML图中,用于控制流。

什么是顺序图有哪些组成

什么是顺序图有哪些组成

1、什么是顺序图?有哪些组成。

答:顺序图是强调消息时间顺序的交互图。

它是描述系统中类和类之间的交互,将这些交互建模成消息交互,也就是说,顺序图描述了类相互协作的完成预期行为的动态过程。

顺序图由类角色、生命线、激活期和消息组成。

2、什么是协作图?有哪些组成。

答:协作图作为另一种交互图而言,强调的是参加交互的对象的组织。

协作图只对相互间有交互作用的对象间的对象和这些对象间的关系建模,而忽略了其他没有交互的对象和关联。

协作图由类角色、关联角色和消息流组成。

3、借书流程
答:还没有借书时,系统处于空闲状态(idle)。

当用户准备借书时,输入书目编号查询(finding)书目,如果查询失败,则返回空闲状态(idle);如果查询成功则调取书籍信息并开始进入借书状态,如果结束成功(success)则返回到结束状态;如果书籍已被借出,则进入预约状态(reservation),随后返回到结束状态;如果要取消预约则进入取消预约状态(remove reservation),如果取消预约失败,则进入失败状态(failure)并返回到结束状态;如果取消预约成功则返回到借书状态(lending)。

4、还书流程
答:还没有归还借书时,系统处于空闲状态(idle)。

当用户还书时,管理员先输入图书编号查询进入查询状态(finding),如果查询成功,则调出借书信息,并开始还书(reversion),结果归还成功(success)或归还失败(failure),最后结束。

交互模型-顺序图

交互模型-顺序图
图 3: 用于一个实体名为freshman的生命线的Studentห้องสมุดไป่ตู้的一个例子
1.顺序图
消息
为了可读性,序列图的第一个消息总是从顶端开始,并且一般位于图的 左边。然后继发的消息加入图中,稍微比前面的消息低些。 为了显示一个对象(例如,生命线)传递一个消息给另外一个对象,你 画一条线指向接收对象,包括一个实心箭头(如果是一个同步调用操作 )或一个棍形箭头(如果是一个异步讯号)。消息/方法名字放置在带 箭头的线上面。正在被传递给接收对象的消息,表示接收对象的类实现 的一个操作/方法。
1.顺序图
生命线
当画一个序列图的时候,放置生命线符号元件,横跨图的顶部
。生命线表示序列中,建模的角色或对象实例。 生命线画作一
个方格,一条虚线从上而下,通过底部边界的中心(图 3)。生
命线名字放置在方格里。
UML 的生命线命名标准按照如下
格式:
图 3: 用于一个实体名为freshman的生命线的Student类的一个例子
交互模型-顺序图
交互模型-顺序图
知识图谱
Agenda
• 交互与交互图 • 如何阅读交互图 • 如何绘制交互图 • 交互图应用说明 • 定时图 • 本章小结
Agenda
• 交互与交互图 • 如何阅读交互图 • 如何绘制交互图 • 交互图应用说明 • 定时图 • 本章小结
交互的概念
• 一次交互就是指在特定语境中,为了实现某一个目标,
1.顺序图
消息
图 4: 一个在对象之间传递消息的实例 返回消息是可选择的;一个返回消息画作一个带开放箭头的虚线,向后指 向来源的生命线,在这条虚线上面,你放置操作的返回值。
1.顺序图
消息
当序列图建模时,有时候,一个对象将会需要传递一个消息给 它本身。一个对象何时称它本身?一个纯化论者会争辩一个对 象应该永不传递一个消息给它本身。然而,为传递一个消息给 它本身的对象建模,在一些情境中可能是有用的。举例来说, 图 5 是图 4 的一个改良版本。 图 5 版本显示调用它的 determineAvailableReports 方法的系统对象。通过表示系统传递 消息“determineAvailableReports”给它本身,模型把注意力集中 到过程的事实上,而不是系统对象。

顺序图(SequenceDiagram)

顺序图(SequenceDiagram)

顺序图(SequenceDiagram)
顺序图(Sequence Diagram):
是⼀种强调对象间消息传递次序的交互图,⼜称为时序图或序列图。

描述了在⼀个⽤例或操作的执⾏过程中对象如何通过消息相互交互,说明了消息如何在对象之间被发送和接收以及发送的顺序。

组成:
交互⽚段(Interaction Fragment):
⼀个复杂的顺序图可以划分为⼏个⼩块,每⼀个⼩块称为⼀个交互⽚段,由⼀个⼤⽅框包围。

常⽤的操作符包括:
1) alt:多条路径,条件为真时执⾏。

2) opt:任选,仅当条件为真时执⾏。

3) par:并⾏,每⼀⽚段都并发执⾏。

4) loop:循环,⽚段可多次执⾏。

消息:
1)调⽤消息(Call Message): 在顺序图中有的消息对应于激活,表⽰它将会激活⼀个对象。

2)发送消息(Send Message): 如果消息没有对应激活框,表⽰它不是⼀个调⽤消息,不会引发其他对象的活动。

3)⾃⾝消息(Self Call Message): 如果对象的⼀个⽅法调⽤了⾃⼰的另⼀个⽅法时,消息是由对象发送给⾃⾝。

4)创建/销毁消息(Create/Destroy Message): 创建消息⽤于使⽤new关键字创建另⼀个对象,⽽销毁消息⽤于调⽤对象的销毁⽅法将⼀个对象从内存中销毁。

在下⼀节我们讨论⼀下状态图。

交互图-顺序图

交互图-顺序图
第一个是源对象发送两条消息和收到两条回复。
第二个是目标对象收到一条同步消息并返回一条回复。
第三个是目标对象收到一条异步消息并返回一条回复。
迷路消息和拾取消息
迷路消息是那些发送了却没有到达指定接收者, 或者到达的接收者不再当前图中。
拾取消息是收到来自那些未知的发送者,或者来 自没有显示在当前图的发送者的消息。 它们都表明是去往或来自一个终点元素。

门是连接片段内消息和片段外消息的连接点。 在 EA中,门显示为片段框架上的小正方形。作用为 顺序图与页面外的连接器。 用来表示进来的消息 源,或者出去消息的终点。
内部通信
内部消息表现为一个操作的递 归调用,或一个方法调用属于 同一个对象的其他方法。显示 为生命线上执行事件的嵌套控 制焦点。
复合片段
顺序图不适合表达复杂的过程逻辑。在一种情况下,有许多机制允许把一定程度的过程逻辑加入到图中, 并把它们放到复合片段的标题下。复合片段是一个或多个处理顺序被包含在一个框架中,并在指定名称的 环境下执行。 片段可以是: 选择性片段 (显示 “alt”) 为 if…then…else 结构建模。 选项片段 (显示 “opt”) 为 "switch"(开关) 结构建模。 中断片段对被处理事件的可选择顺序建模,而不是该图的其他部分。 并行片段(显示 “par”) 为并发处理建模。 弱顺序片段 (显示 “seq”) 包含了一组消息,这组消息必须在后继片段开始之前被处理。但不会把片段 内消息的先后顺序强加到不共享同一条生命线的消息上。 严格顺序片段 (显示 “strict”) 包含了一系列需要按照给定顺序处理的消息。 非片段 (显示 “neg”) 包含了一系列不可用的消息。 关键片段 具有关键部分。 忽略片段 声明一个没有意义的消息,如果它出现在当前上下文中。 考虑片段与忽略片段相反,不包含在考虑片段内的消息都应该被忽略。 断言片段 (显示 “assert”)标明任何没有显示为声明操作数的顺序都是无效的。 循环片段 包含一系列被重复的消息。

顺序图

顺序图

顺序图:显示对象之间交互的图,对象时按时间顺序排列的。

一般把参与者对象放在图的两侧,主参与者放在最左边,次要参与者放在右边
调用(precedure call)消息:发送者把控制传递给消息的接受者,然后停止活动等待消息接收者放弃或返回控制
异步(asynchronous)消息:发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接收者返回消息或控制
返回(return)消息:表示从过程调用返回
阻止(Balking)消息:发送消息者发送消息给接收者,要是消息接收者无法立即接收消息泽发送者放弃这消息
超时(TimeOut)消息:发送消息者发送消息给接收者并按照指定时间等待。

如果接收者无法
再指定时间类接收消息,则发送者放弃这个消息
顺序图表示对象之间的交互
登陆顺序图:
User:创建的实例
添加用户的顺序图:
打开添加用户的界面,在界面上选择一个组(可以通过一个下拉选择框来选择),然后向后台提交,后台系统保存用户的信息
并同时建立用户和组之间的关联。

顺序图功能

顺序图功能

顺序图功能
顺序图是用来描述系统中的事件交互和参与者之间的交互过程,它展示了事件的序列性、参与者的交互、消息的传递和响应等。

顺序图的功能主要有以下几个方面:
1. 交互过程的可视化:顺序图通过图形化的方式展示了系统中参与者之间的交互过程,使得人们可以直观地了解事件是如何发生,并且可以清楚地看到交互的顺序和关系。

2. 事件和消息的交互描述:顺序图通过表示事件和消息的箭头以及箭头上的标识符,清楚地展示了交互过程中消息的传递和响应,使得人们可以准确地描述和理解事件之间的关系。

3. 可视化系统的结构和行为:顺序图可以用来描述系统的结构和行为,可以展示参与者之间的相互作用、系统的工作流程和具体的处理过程等,非常方便理解和沟通系统的设计和实现。

4. 用例场景的描述和验证:顺序图可以用来描述和验证用例场景,可以清晰地展示用例的流程和参与者之间的交互,从而帮助人们更好地了解用例的功能和特点,并进行需求的分析和确认。

5. 系统的动态行为模拟和测试:顺序图可以用来模拟和测试系统的动态行为,可以根据顺序图中的交互逻辑和时间顺序,来模拟和实现系统的具体行为和响应,从而验证系统的正确性和性能。

6. 分析和优化系统的性能和效率:顺序图可以用来分析系统的性能和效率,可以清晰地展示系统中交互的过程和消息的传递,从而帮助人们发现系统的瓶颈、优化系统的性能、提高系统的效率等。

总之,顺序图是一种非常有用和强大的工具,可以用来描述和展示系统中的交互过程和消息传递,可以帮助人们更好地理解和分析系统的结构和行为,从而支持系统的设计、实现、模拟、测试和优化等工作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.4 顺序图:一般顺序图
• 实例顺序图(instance sequence diagram):只 把一个场景用顺序图描述出来 • 一般顺序图(generic sequence diagram):绘 制顺序图时考虑到用例所有场景。
:Customer
:Front
:Register
:Dispenser
checkAvailability(selection) displyPrompt("Sold Out") returnCash(cash) update(cash,price) receiveChange(cash,price) releaseSoda(selection) [selection avaliable]receiveSoda(selection)
• 顺序图中对象的符号和对象图中对象所用的符号一样。
• 将对象置于时序图的顶部意味着在交互开始的时候对象就已 经存在了,如果对象的位置不在顶部,那么表示对象是在交 互的过程中被创建的。
生命线(lifeline):一条垂直的虚线,表示时序图 中的对象在一段时间内的存在。每个对象的底部 中心的位置都带有生命线。生命线是一个时间线, 从时序图的顶部一直延伸到底部,所用的时间取 决于交互持续的时间。
车主
钥匙
小车
getButtonPress(b) processKeyMessage(b) [b="lock] lock()
BlinkLights Beep
1.3 饮料销售机 (1)类图
1.3 饮料销售机 (2)最理想场景的顺序图
:Customer
:Front
:Register
:Dispenser
1.1 什么是顺序图
• 顺序图(sequence diagram)描述了对象之间传送消息的时间 顺序,用来表示用例中的行为顺序。
• 顺序图由采用通常方式表示的对象组成:对象用矩形框表示, 其中是带下划线的对象名;消息用带箭头的实线表示;时间 用垂直虚线表示。
对象 消息 时间
1.1.1 对象(Object)
:name
1.1.2 消息(Message)
• 消息定义的是对象之间某种形式的通信,它可以激发某个操 作、唤起信号或导致目标对象的创建或撤销。
• 消息是两个对象之间的单路通信,从发送方到接收方的控制 信息流。 • 消息可以用于在对象间传递参数。 • 消息可以是信号,也可以是调用。 • 在UML中,消息使用箭头来表示,箭头的类型表示了消息的 类型。
1.5 在消息序列中创建对象实例
• 创建对象的两种表示方法:
• 如果要撤销一个对象,只要在其生命线终止点放置一 个“X”符号即可,该点通常是对删除或取消消息的回 应。 • 一个对象可以销毁自己,也可接收一条销毁自己的指 令
1ห้องสมุดไป่ตู้6 小结
• UML顺序图在对象交互的表示中加入了时间维。在顺序图, 对象位于图的顶部,从上到下表示时间的流逝。每个对象都 有一个垂直向下的生命线。 • 消息用连接对象生命线之间的带箭头连线代表。消息在垂直 方向上的位置表示了该消息在交互序列中发生的时间。对象 生命线上的窄矩形代表一次激活,也就是对象的某个操作的 一次执行。一个对象通过执行操作来响应它所接收到的消息。 • 用例图可以只说明用例的一个实例,或者它可以是一般的, 用来表示一个的所有场景。 • 当序列中包括了创建对象的序列时,被创建的新对象也采用 通常的矩形表示法,只是它在垂直方向上的位置代表了它被 创建的时刻。
accept(cash,selection) getCustomerInput(cash,selection) [cash>price]checkForChange(cash,price) [no change]returnCash(cash)
displayPrompt("Use Correct Change")
<<signal>> BlinkLights
<<signal>> Beep
1.2 汽车和车钥匙 (2)顺序图
:CarOwner getButtonPress(b) processKeyMessage(b) [b="lock"] lock() [b="lock"] BlinkLights [b="lock"] Beep :CarKey :Car
accept(cash,selection) getCustomerInput(cash,selection) checkAvailability(selection) Available updateReserve(cash,price) askforSend(selection) receiveSoda(selection)
第一章 顺序图
Date:2015-03-23
第一章 顺序图 内容
• 什么是顺序图?
• 如何应用顺序图? • 如何对对象间的交互建模。
• 如何使用UML中新添加的有关顺序图的内容
• 顺序图在UML大图中应该处于什么位置。
引入
• 状态图是对单个对象的“放大”。它说明了对象所经历的状态 变化。 • UML可以让你放大视野,显示出一个对象如何与其他对象交互。 在这个“放大”了的视野中,要包括重要的一维:时间。 • 顺序图的关键思想是对象之间的交互是按照特定的顺序发生的, 这些按特定顺序发生的交互序列从开始到结束需要一定的时间。 当建立一个系统时,必须要指明这种交互序列,顺序图就是用 来完成这项工作的UML组件。
1.1.3 时间
• 顺序图中垂直方向代表时间维,时间流逝 的方向为自顶向下。靠近顶部的消息发生 的时间要比靠近底部的消息早。 • 顺序图将交互关系表示为一个二维图。其 中,纵轴是时间轴,时间沿竖线向下延伸; 横轴代表了在协作中各独立的对象。
1.2 汽车和车钥匙 (1)类图
ButtonPad
WirelessCo nnection
相关文档
最新文档