顺序图

合集下载

《顺序图举例》课件

《顺序图举例》课件
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. 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
相关文档
最新文档