顺序图

合集下载

顺序图

顺序图

维图。 横轴代表了在协作
中各独立的对象。 纵轴是时间轴,时 沿时间方向按时间 递增顺序列出各个
间沿竖线向下延伸。
对象所发出和接收
的消息。
6
主要内容
1 2 3 4 5
顺序图的基本概念 顺序图的组成元素 顺序图的交互框架 顺序图的建模步骤
顺序图的案例介绍
7
顺序图的组成元素
顺 序 图 的 组 成
8
对象
顺序图中对象的符号和对象图中对象所用的符号一样。 对象的命名方式:
UML : Course
: Course
UML
对象名和类名
类名(匿名对象)
对象名(不关心类)
9
创建和销毁对象

在顺序图中,创建对象操作的执行使用消息的箭头表示,箭 头指向被创建对象的框。 如果要撤销一个对象,只要在其生命线终止点放置一个“X” 符号即可。
3: balance
opt ref
4: debit(amountNumber,amount)
balance>amount
Debit Account(accountnumber,amount)
5: cash 6: cash
20
顺序图的交互框架
:
项目管理员
项目管理窗口 :用户接口
:项目
:
活动
:任务
清除项目
4
基本概念

顺序图作为一种描述在给定语境中消息是如何在对象间传递 的图形化方式。顺序图的用途分为以下三个方面:

确认和丰富一个使用语境的逻辑表达。系统的使用语境就是系 统潜在的使用方式的描述。一个使用语境的逻辑可能是用例的 一部分,或是一条控制流。 细化用例的表达。顺序图把用例表达的需求,转化为进一步、 更加正式层次的精细表达。用例常常细化为一个或者更多的顺 序图。 有效地描述如何分配各个类的职责以及各类相应职责的原因。

顺序图功能

顺序图功能

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

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

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

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

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

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

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

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

《顺序图举例》课件

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

第六章.顺序图和协作图

第六章.顺序图和协作图

6.3 顺序图中的消息 返回消息:表示从过程调用返回 如果是过程消息返回, 返回消息:表示从过程调用返回. 如果是过程消息返回 则不用 画出; 如果是非过程消息, 则必须画出. 画出 如果是非过程消息 则必须画出
返回消息
6.3 顺序图中的消息 阻止消息:消息的发送者传递消息给接收者 阻止消息:消息的发送者传递消息给接收者, 如果接收者无法 立即接收, 则发送者放弃该消息. 立即接收 则发送者放弃该消息 超时消息:消息的发送者发出消息给接收者并按指定时间等待 超时消息:消息的发送者发出消息给接收者并按指定时间等待, 若接收者无法在指定时间内接收, 则发送者放弃该消息. 若接收者无法在指定时间内接收 则发送者放弃该消息

6.2 顺序图
• 创建对象的两种表示方法: 创建对象的两种表示方法:
6.2 顺序图
• 如果要撤销一个对象,只要在其生命线终止点放置一 如果要撤销一个对象,
符号即可, 个“X”符号即可,该点通常是对删除或取消消息的回 符号即可 应。
6.3 顺序图中的消息
• 调用消息 procedure call • 异步消息 asynchronous • 返回消息 return • 阻止消息 balking • 超时消息 time-out
• 顺序图的样式和元素 • 消息:对象之间传输的信息 消息:
消息
6.2 顺序图
• 顺序图的样式和元素 • 对象的创建和撤消 • 如果对象位于时序图的顶部,说明在交互开始之前 如果对象位于时序图的顶部,
该对象已经存在了。 该对象已经存在了。如果对象是在交互的过程中创建 那么它应当位于图的中间部分。 的,那么它应当位于图的中间部分。 对象在创建消息发生之后才能存在, 对象在创建消息发生之后才能存在,对象的生命线 也是在创建消息之后才存在的。 也是在创建消息之后才存在的。

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

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

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. 细化消息的内容。

第6章 顺序图和协作图

第6章 顺序图和协作图

6.4 顺序图理解
计算机 打印文件 [打印机忙] [打印机空闲] 打印服务器 打印机 打印队列
条件[打印机忙]和[打印机空闲]是两个互斥的条件, 打印服务器根据条件来确定消息发给对象“打印 机”还是对象“打印队列”。两个消息都是从同 一点出发的,这表示两个分支在同一时间点上只 能执行一个分支。
6.4 顺序图理解 6.4.2 从属流 从属流与条件分支不 同,从属流允许某一 个对象根据不同的条 件改变执行不同的操 作,即可以创建对象 的另一个生命线分支。
如果为了强调需要对多个对象重复发送某个消息, 可以在顺序图中添加循环标识符号,顺序图中表 示循环执行的消息有三种方式。
第一种,在需要循环重复执行的消息前添加符号 “*”,并在其后的中括号中写明具体的条件。
计算机 打印服务器 打印队列
校验打印文件
*[for each file] [check()=true]
6.2 顺序图元素
顺序图描述了对象以及对象之间传递的消息,强 调对象之间的交互是按照时间的先后顺序发生的, 这些特定顺序发生的交互序列从开始到结束需要 一定的时间。在顺序图中主要包括了以下四种元 素: • • • • 对象 生命线 激活 消息
6.2 顺序图元素 6.2.1 对象
类定义了对象可执行的各种行为,但在面向对象 系统中,行为的执行者是对象,而不是类,因此 在顺序图中通常描述的是对象层次而不是类层次。 面向对象分析中最基本的单位是对象,它代表现 实世界中一个一个地具体事物。 在顺序图中使用一个方框表示 一个对象,对象的名字下面有 一个下划线,一个学生对象 “张三”如图所示。
张三
6.2 顺序图元素
在顺序图中也可以使用用例图中的参与者图符 。 如果一个对象在顺序图的第一个操作之前就已经 存在,那么该对象的图符就应该画在顺序图的顶 部。 如果一个对象是在顺序图的交互过程中,由其他 对象创建的,那么该对象就不应该出现在顺序图 的顶端,而应该出现在创建该对象消息的末端 。

顺序图

顺序图

阻止消息 消息的发送者传递消息给接 收者,如果接收者无法立即接收, 则发送者放弃该消息。
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:两个对象之 间的异步消息,也就是说客户发出
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一个消息实例的接收可看作一个事件的实例 发送消息引发的动作:执行可执行语句——导致
状态改变
RegisterControl getCourseOfferings(forSemes... CourseCatalogSystem
交互图(interaction diagram)
交互图是一种详细表示对象之间以及对象与系统外部的参 与者(actor)之间动态联系的图形文档。
【问题:】请你利用UML的动态视图中的顺序图对在ATM 取款最理想的场景进行建模
Object
sequence图和collaboration图描述的是对象之间 的消息发送关系,而不是类之间的关系。
在顺序图中并不包括系统中的所有类的对象。也有 可能某些对象属于同一个类。
交互图中的对象的常见命名方式:
显示对象名和类名 只显示类名
只显示对象名
Message
消息的类型:在UML 1.4以上版本的规范说明中消息分 同步消息,异步消息,返回消息三种。
下依次画出随后的各个消息; 5. 如果需要表示消息的嵌套,或/和表示消息发生时的时间点,
则采用FOC; 6. 如果需要说明时间约束,则在消息旁边加上约束说明; 7. 如果需要,可以为每个消息附上前置条件和后置条件。
图书管理系统——借书顺序图
练习1:还书顺序图
练习2:解释下面的顺序图
:顾客
:前端
水平轴上的对象间的相互顺序并不重要。
顺序图不表示对象间的关联(associations)关系。
建立顺序图的步骤
1. 确定交互过程的上下文(context); 2. 识别参与交互过程的对象; 3. 为每个对象设置生命线,即确定哪些对象存在于整个交互过
程中,哪些对象在交互过程中被创建和撤销; 4. 从引发这个交互过程的初始消息开始,在生命线之间从顶到
:记录仪
:分配器
接收顾客现钞和选择
获得顾客输入
[没有零钱]返还现金
[现钞>价格]找零
显示提示信息
《transaction over》[没有 零钱]
[售完]返还现金
检查库存
显示提示信息 《transaction over》[售完]
更新现钞储存
[现钞>价格]接收找零
发送饮料
接收饮料 《transaction over》
交互图是用来描述对象之间的动态协作关系以及协作过程 中的行为次序,它常常用来描述一个用例的行为,显示该 用例中所涉及的对象和这些对象之间的消息传递情况。
交互图的两种形式
交互图有两种形式:
顺序图(sequence diagram) 协作图(collaboration diagram)
顺序图:强调消息的时间顺序的交互图。图形 上是一张表,对象沿X轴排列,消息沿Y轴按时 间顺序排列。
其它消息类型:如阻止(balking)消息,超时(time-out)消息等为 UML核心的扩充。
同步消息
异步消息
返回消息
顺序图的特点
顺序图是一个二维图形。在顺序图中水平方向为 对象维,沿水平方向排列参与交互的对象;竖向 方向为时间维,沿垂直向下方向按时间递增顺序 列出各对象所发出和接收的消息。
可视化建模与UML
东软信息学院 计算机系
主要内容
描述系统的动态建模以及如何在一个模型中捕获 它。 介绍交互图的两种形式
顺序图 (sequence diagram) 协作图(collaboration diagram)
比较顺序图和协作图的异同点
Example1
Example2
对象需要交互
对象相互链接的地方就有交互 具有对象协作的系统、子系统语境中
如Web商务系统,客户对象、服务器对象间交互
操作实现语境中
操作的参数、局部变量、全局对象相互交互完成操作的实 现算法
类语境中
通过交互显示类的属性是如何相互协作的
对象通过消息交互
Messages,传递信息的对象之间所进行的通 信,消息带有对将要发生的活动的期望
显示提示信息 《transaction over》[售完]
更新现钞储存
[现钞>价格]接收找零
发送饮料
接收饮料 《transaction over》
练习
用户在ATM(自动取款机)提取1000元人民币的最理想 场景(卡内有余额5000,密码1234)如下描述
开始用户(张三)将银行卡插入到读卡器,读卡器读卡号, 打开张三的账目对象,并初始化屏幕,屏幕提示输入PIN (密码),张三输入密码(1234),然后系统验证密码 与帐户对象,发出相符的信息。ATM屏幕向张三提供选项, 张三选择取款,然后屏幕提示张三输入取款金额,他选择 了1000元RMB,系统启动账目对象进行核实,之后从帐 户中取钱;系统启动一系列的账目对象要完成的过程。首 先,验证张三的帐目至少有1000元RMB ,然后从中扣除 1000元RMB,再让吐钱机提供1000元RMB现金,另外 还需要让票据打印机提供取款凭据,最后让读卡器退卡。
初步类图
购买饮料主要场景的顺序图
已售完场景的顺序图
“零钱数目不对”的场景
“零钱找不开”场景的顺序图
一般的顺序图
:顾客
:前端
:记录仪
:分配器
接收顾客现钞和选择
获得顾客输入
[没有零钱]返还现金
[现钞>价格]找零
显示提示信息
《transaction over》[没有 零钱]
[售完]返还现金
检查库存
协作图:强调发送和接收消息的对象之间的组织 结构的交互图。图形上是顶点和弧的结合
顺序图(Sequence diagram)
定义:顺序图描述了对象之间传送消息的时间 顺序,它用来表示用例中的行为顺序。
Sequence图中的组成元素
顺序图中的一些主要元素:
– Object (包括actor实例) – Lifeline (生命线) – Focus of control(控制焦点)和activation(激活期) – Message
顺序图:从用例到类
顺序图使你可以可视化地对系统逻辑建模。 对象、类和参与者都在顺序图中进行了描述。 理解分析阶段的基本逻辑,在设计阶段详细将 其突出出来。
实例:饮料销售机系统用例图 Nhomakorabea例阐述:
“购买饮料”用例的主要场景: 1)顾客从投币口塞入钱币,然后选择想要的饮料; 2)系统将钱币送入钱币记录仪; 3)记录仪检查是否还有存货; 4)记录仪更新自己的钱币存储记录; 5)记录仪通知饮料分配器传送一罐饮料到出货口。
用例阐述:
“购买饮料”用例的次要场景1—饮料已售完 1)若饮料已售完,记录仪要求显示屏显示“已售完” 2)记录仪将钱币从退币口返回给顾客 “购买饮料”用例的次要场景2—需要找零 1)记录仪查找自己的现金储备以便找零; 2)记录仪更新自己的钱币存储记录; 3)记录仪将找回的钱通过退币口返还给顾客; 4)记录仪通知饮料分配器传送一罐饮料到出货口。 “购买饮料”用例的次要场景3—零钱找不开 1)记录仪查找自己的现金储备以便找零; 2)如果无法找零,记录仪要求显示屏显示“投入正好的货 币” 3)记录仪将钱币从退币口返回给顾客
相关文档
最新文档