UML时序图教程 免分版(ppt)
UML--时序图
• 所以,要我请你吃饭就用同步的方法, 所以,要我请你吃饭就用同步的方法, 要请我吃饭就用异步的方法,这样你可 要请我吃饭就用异步的方法, 以省钱。 以省钱。^_^!
3. 消息 消息:对象之间传输的信息。 消息有以下类型: 消息:对象之间传输的信息。UML消息有以下类型: 消息有以下类型 调用消息( ① 调用消息 Procedure Call ) 调用消息(也称为同步消息 的发送者把控制传递给 调用消息 也称为同步消息)的发送者把控制传递给 也称为同步消息 接收者,然后停止活动, 接收者,然后停止活动,直到消息接收者放弃或返回控 制。
Hale Waihona Puke 1.1 交互图的概念1. 交互图的概念 交互图(interaction): 用来描述对象之间、对象与参与 用来描述对象之间、 交互图 者之间的动态协作关系, 者之间的动态协作关系,以及协作过程中行为次序的图 形。 2.交互图的类型 2.交互图的类型 • • 顺序图( 顺序图( Sequence diagram )又称为时序图 协作图( 协作图( Collaboration diagram )
匿名对象
2. 顺序图样式和组成 ② 生命线
●
表示对象存在的时间,对象下面一条虚线表示。 表示对象存在的时间,对象下面一条虚线表示。 生命线从对象创建开始到对象销毁时终止。 生命线从对象创建开始到对象销毁时终止。 对象在生命线上的两 种状态: 种状态: 休眠状态 激活状态 ×
表示对象 的撤销
对象生命线
1.1 交互图的概念
1. 交互图的概念 交互图( 交互图 Interaction diagram ): 是描述对象之间的关系 以及对象之间的信息传递的图。 以及对象之间的信息传递的图。 2.交互图的类型 2.交互图的类型 • • 顺序图( 顺序图( Sequence diagram ) 协作图( 协作图( Collaboration diagram ) 3. 交互图的作用 通常用来描述一个用例的行为,实现一个用例, 通常用来描述一个用例的行为,实现一个用例,完成对 系统行为的建模。 系统行为的建模。
电子商务系统分析与设计0306UML时序图序列图
17
ObjectA
ObjectB
1: Message
2: Message
: Actor
Object1
1: Message
Object2
2: Message 3: Message
3: Message
4: Message
5: Message
03:41
18
简单消息
简单消息是在同步和异步之间没有区别的消息。 使用简单消息是因为有时消息是同步还是异步无关紧要,或者
③ 为。
5
03:41
1 时序图概述 – 例如:用户登录
6
03:41
7
登录
(1)用户将用户名和密码提交给LoginAction (2) 由LoginAction调用UserManager (3) UserManager到用户数据库User Server中查找用户对
象并返回 (4) 由UserManager判断用户名是否为空、密码是否正确 (5) 然后将User对象返回 (6)返回后台登录主界面。
36
03:41
37
03:41
38
03:41
练习
39
请绘制读者借阅图书的时序图
03:41
40
03:41
4 时序图建模案例及练习
图书管理系统时序图建模 1.添加借阅者 添加借阅者的过程为:系统管理员选择菜单项“添
加借阅者”,弹出AddBorrowerDialog对话框。系 统管理员可以在该对话框中输入借阅者的信息并提 交,随后系统对管理员所提交的借阅者信息进行验 证,查看输入的借阅证号是否已经存在于系统中, 若不存在,则为借阅者创建一个账户,并存储借阅 者信息。
统一建模语言UML课件-顺序图
Sequence Diagrams: The Generic Sequence Diagram
The guard conditions provide essentially the same information as the return messages.
number2 : Number)
two arguments, number1 and number2, which
are both of class Number.
doSomething( ) : ReturnClass
myVar = doSomething( ) : ReturnClass
The message's name is doSomething; it takes no arguments and returns an object of class ReturnClass.
顺序图
What Is a Sequence Diagram?
The sequence diagram consists of objects represented in the usual way (as named rectangles with the name underlined),
messages represented as solid-line arrows, and time represented as a vertical progression.
The customer inserts the money into the money slot in the front of the machine and makes a selection The money travels to the register, which updates itself. Bacause this is the best scensrio, an availability check reveals the soda is in stock, and the register has the dispense release the soda to the front of the machine.
UML建模之时序图(Sequence Diagram)5 - 灵动生活 - 博客园
网名:灵动生活姓名:郝宪玮QQ:1654704510(请注明:cnblogs).NET开发 QQ群1:66064463.NET开发 QQ群3:67346119Email:hxwjob@LOGO:统计:灵动生活第三种方式只显示对象名不显示类明。
...生命线(Lifeline)生命线在顺序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间,如下图控制焦点(Focus of Control)控制焦点是顺序图中表示时间段的符号,在这个时间段内对象将执行相应的操作。
用小矩形表示,如下图。
消息(Message)消息一般分为同步消息(Synchronous M essage),异步消息(Asynchronous Message)和返回消息(同步消息=调用消息(S ynchronous Message)消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。
用来表示同步的意义。
异步消息(Asynchronous Message)消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。
异步消息的接收者和发送者是并发工作的。
返回消息(Return Message)返回消息表示从过程调用返回表示方法的自身调用以及一个对象内的一个方法调用另外一个方法。
)与 if…then…else对应Switch对应表示同时发生for 或者 Foreach对应Sequece Diagram Example Analysis)、请求添加课程页面,填写课程表单,点击【create】按钮灵动生活关注 - 47粉丝 - 170如果你认为此文章有用,请点击底端的【推荐】让其他人也了解此文章本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责绿色通道:提供的广告SafeNet DataSecure Platforms Encrypt criticalChina-Pub 计算机绝版图书按需印刷服务网站导航: 网站首页知识库IT 新闻我的园子闪存程序员招聘博问2011-9-14UML 建模之时序图(Sequence Diagra…Generated by Foxit PDF Creator © Foxit Software For evaluation only.。
UML基础:时序图SequenceDiagram(3)
UML基础:时序图SequenceDiagram(3)
1.时序图概述
时序图(Sequence Diagram)是显⽰对象之间交互的⼆维图,横轴表⽰对象,纵轴表⽰时间,消息在各对象之间横向传递,依照时间顺序纵向由上⾄下排列。
时序图的主要建模元素包括:参与者(Actor)、对象(Object)、⽣命线(Lifeline)、控制焦点(Focus of Control)、消息(Message)等。
2.时序图元素
2.1 参与者(Actor)
参与者可以是⽤户、时间或其它系统等。
2.2 对象(Object)
对象是类的实例,通过类来创建。
对象的3种命名⽅式:
(1)对象名 + 类名,⽤“对象:类”表⽰;
(2)只显⽰类名,⽤“:类”表⽰;
(3)只显⽰对象名,⽤“对象”表⽰。
对象的左右顺序并不重要,为了作图清晰整洁,通常应遵循以下两个原则:
(1)初始化整个交互活动的对象放置在最左端
(2)交互频繁的对象尽可能靠近
2.3 ⽣命线Lifeline
⽣命线是对象下延伸的⼀条虚线,表⽰对象存在的时间。
2.4 控制焦点Focus of Control
控制焦点,也叫激活期,表⽰时间段,⽤⼩矩形表⽰。
在这个时间段内对象执⾏相应的操作,既可以是直接执⾏,也可以是安排下级过程执⾏。
2.5 消息。
uml课件(完整版)
• 依赖
包图
系统的顶层包结构
包图
老师在线答疑系统包结构图
包图
练习 1、C/S架构的应用程序由客户端和商业逻辑端组成, 使用包图画出他们之间的关系 2、B/S架构的应用程序由浏览器和WEB应用服务端 组成,使用包图画出他们之间的关系 3、在一个多层架构的系统中包含了客户端,商业逻 辑端,数据库端, WEB应用服务端以及浏览器组 成,请整理他们之间的关系,并用UML的包图表 达出来
类图
练习
1、使用类图的短式表达方式画出中国公民、身份证、 银行卡的UML图 2、现在有一组几何图形、线、圆、方、椭圆、多边 形。请仔细分析他们之间的关系,并用短式方式 表达出来 3、第2题中的几何图形具有以下方法:画图,移动, 旋转。请标识出多态方法,并说明理由。
包图
包图能将复杂系统拆分成多个简单的系统。 • 包
学生登陆协作图
协作图
练习
1、画出老师登陆系统的协作图
组件图
组件图显示软件组件之间的依赖关系。一般来说, 软件组件就是一个实际文件,可以是源代码文件、 二进制代码文件和可执行文件等。可以用来显示 编译、链接或执行时构件之间的依赖关系 • 组件 • 依赖
组件图
老师在线答疑系统组件图
部署图
配置图显示系统运行时刻的结构,显示系 统不同的组件在何处物理地运行,以及它 们将如何彼此通信
状态图
状态图表示某个类所具有的不同状态和状态 转移时的触发条件。 • 状态 • 转移
状态图
• 老师在线状态图
状态图
练习
1、汽车有向前行驶,向后行驶和停止3种状
态,请使用UML图将3种状态之间的转移关
系表达出来
活动图
活动图用来描述工作的流程,对并行的工 作流程能很好的支持。 • 活动 • 转移 • 同步
UML顺序图ppt课件
getCustomerInput(cash,selection) checkAvailability(selection)
returnCash(cash)
Sold out
displayPrompt("sold out")
23
零钱数量不对的场景
这种场景是顾客多给钱的场景。比如可 乐3块,投入了4块。饮料机可以把多的 钱找回给顾客。
displayPrompt("use correct change)
26
练习
“发传真”用例的最理想的场景。 其中对象包括:发送方传真、接受方传 真、传真件和一台用来对传真和电话呼 叫选择路由的中央“交换机”。
27
发传真类似打电话
打电话
主叫
被叫
主叫拿起电话,拨被叫电话号码,通过交换机向 双方发电话铃声,被叫接电话,铃声停止。
[2] Joseph Schmuller.UML基础、案例与应 用.人民邮电出版社,2004,8:P90-105
38
}
tv.close();
…..;
}
}
}
31
消息的代码表示 tv.close();
消息= 接受对象名+接受者能做的操 作
32
顺序图中的消息
调用消息 异步消息 返回消息 阻止消息:消息发送者发出消息给接收者,如
果接收者无法立即接收消息,则发送者放弃该 消息。 超时消息:消息发送者发出消息给接收者并按 指定时间等待,如果接收者无法在指定时间内 接收消息,则发送者放弃该消息。
28
使用UML表示
caller
exchange
receiver
1: lift receiver
ch06UML顺序图.ppt
活动对象之间发送的消息是顺序图的关键。消息说明了对象之 间的控制流,对象是如何交互的,以及什么条件会改变控制流。
1.活动对象 活动对象可以是系统的参与者或者任何有效的系统对象。对
象是类的实例,它使用包围名称的矩形框来标记。名称带下划线, 顺序图中对象的标记符如下图所示。
2.消息 消息用来说明顺序图中不同活动对象之间的通信。它可在一
的行为。 2) 协作图 它描述对象间的组织协作关系,它也可体现出系统用例的行
为。 序列图和协作图都可以表示对象间的交互关系,但它们的侧重
点不同。序列图用消息的几何排列关系来表达对象间交互消息的先 后时间顺序。而协作图则建模对象(或角色)间的通信关系。
6.2 使用顺序图建模
一、定义顺序图
顺序图是两种类型的交互图之一。顺序图用来建模以时间顺序 安排的对象交互,并且把用例行为分配给类。它是用来显示参与者 如何采用若干顺序步骤与系统对象交互的模型。
上面的图例说明了参与者和对象可以把消息发送给顺序图中
的任何参与者或者对象。它们可以把消息发送给不是其直接相邻 的参与者或者对象。
下面看一个意义更加丰富的示例。对于Compile Application用 例,我们可以创建一个成功编译工作流的顺序图,如下图所示。
这个顺序图中有4个活动对象:Developer、Compiler、Linker和 FileSystem。Developer是系统的参与者。Compiler是Developer交互 的应用程序。Linker是一个用来链接对象文件的独立进程。 FileSystem是系统层功能的包装器,用来执行文件的输人和输出例 程。
四、如何使用消息进行通信 消息是顺序图活动对象之间通信的惟一方式。UML中的消
息使用了一些简洁的标记符。 消息可以包含条件以便限制它们只在满足条件时才能发送。
UML时序图
UML时序图现在是⼆⽉,并且到现在你也许已经读到、或听到⼈们谈论UML 2.0 —— 包含若⼲进步的 UML 的新规范,所做的变化。
考虑到新规范的重要性,我们也正在改动这个⽂章系列的基础,把我们的注意⼒从 OMG 的 UML 1.4 规范,转移到 OMG 的已採纳 UML 2.0草案规范(⼜名UML 2)。
我不喜欢在⼀系列⽂章的中间,把重点从 1.4 变为 2.0 ,可是 UML 2.0 草案规范是前进的重要⼀步,我感觉须要扩充⽂字。
因为⼀些理由,OMG 改良了 UML 。
基本的理由是,他们希望 UML 模型可以表达模型驱动架构(MDA),这意味着 UML 必须⽀持很多其它的模型驱动的符号。
同⼀时候, UML 1.x 符号集合有时难以适⽤于较⼤的应⽤程序。
此外,为了要使图变成更easy阅读,须要改良符号元件。
(举例来说,UML 1.x 的模型逻辑流程太复杂,有时不可能完毕。
对UML 2 中的序列图的符号集合的改变,已经在序列化逻辑建模⽅⾯取得巨⼤的进步)。
注意我上⾯所述的⽂字:“已採纳UML2.0草案规范。
”确实,规范仍然处于草案状态,可是关键是草案规范已经被 OMG 採⽤,OMG是⼀个直到新标准相当可靠,才会採⽤它们的组织。
在 UML 2 全然地被採⽤之前,规范将会有⼀些改动,可是这些改变应该是极⼩的。
基本的改变将会是在 UML 的内部 —— 包含通常被实施 UML ⼯具的软件公司使⽤的功能。
本⽂的主要⽬的是继续把我们的重点放在基础UML图上;这个⽉,我们进⼀步了解序列图。
再次请注意,以下提供的样例正是以新的 UML 2 规范为基础。
序列图主要⽤于依照交互发⽣的⼀系列顺序,显⽰对象之间的这些交互。
⾮常象类图,开发⼈员⼀般觉得序列图仅仅对他们有意义。
然⽽,⼀个组织的业务⼈员会发现,序列图显⽰不同的业务对象怎样交互,对于交流当前业务怎样进⾏⾮常实⽤。
除记录组织的当前事件外,⼀个业务级的序列图能被当作⼀个需求⽂件使⽤,为实现⼀个未来系统传递需求。
第四课时:时序图
对象
时序图中对象的符号和对象图中对象所 用的符号一样。
将对象置于时序图的顶部意味着在交互 开始的时候对象就已经存在了,如果对 象的位置不在顶部,那么表示对象是在 交互的过程中被创建的。
对象框中对象名语法
语法
O O:C
:C
描述
一个名字为O的对象
一个名字为O的对象,它是类C的 一个实例
类C的一个匿名对象
对象在创建消息发生之后才能存在,对 象的生命线也是在创建消息之后才存在 的。
对象的创建和撤销
创建对象的两种表示方法
对象的创建和撤销
如果要撤销一个对象,只要在其生命线 终止点放置一个“X”符号即可,该点通 常是对删除或取消消息的回应。
实例-图书管理系统时序图
1. 系统管理员添加书籍的时序图 2. 图书管理员处理借书的时序图(不包
饮料销售机一般时序图
UML中通过if来表示保护条件。把进入一条路 径而不是其他路径所需要的条件放入到方括号 中。如图中[sold out]只有选购的饮料销售完的 情况下时一个对象才会发送给另一个对象的消 息。在这条消息前面加上[sold out]。
在使用一般顺序图时,按照一种场景的消息序 列完整的走下去,直到得出结论,事务完成, 并保留的信息和其他场景相关。我们可以在每 个场景的最终消息前面加上《transaction over 》。
控制消息种类: 条件控制消息; 重复控制消息。
时序图比较适合于规模较小时的可视化图解,如 果对象很多,交互又很频繁,时序图将变得很复 杂。
对于返回标记,只有在使用了这种返回标志能使 图的意义更清楚时才使用。
时序图
时序图示例
时序图
时序图的组成
时序图包含了4个元素: ① 对象(Object) ② 生命线(Lifeline) ③ 消息(Message) ④ 激活(Activation)
UML流程图(PPT 41张)
• 结点 • 连接
部署图
老师在线答疑系统部署图
课后练习
老师在线答疑系统的网络白板需求描述: 1、同时使用白板的用户必须是2个,一个老师和一个学生 2、使用白板的2个用户是对等的,两个用户看到的内容是一 样的
3、用户可以在上面写文字和作图,后者包括:直线,圆, 椭圆和矩形
4、用户可以增删,选择,移动上面的文字和图形标记
活动图
老师登陆系统
活动图
练习 1、学生第一次开学入学,首先正确填写表格, 如果表格不正确,那么必须获得帮助以正 确填写它们。接着办理大学的入学手续。 但是,在大学里成功入学后,必须参加指 定的概况介绍,还要至少登记一个研习班 并交付一部分的学费。使用活动图来表达 该流程
顺序图
顺序图用来描述对象之间动态的交互关系, 着重体现对象间消息传递的时间顺序。 • 对象 • 消息
状态图
状态图表示某个类所具有的不同状态和状态 转移时的触发条件。 • 状态 • 转移
状态图
• 老师在线状态图
状态图
练习
1、汽车有向前行驶,向后行驶和停止3种状
态,请使用UML图将3种状态之间的转移关
系表达出来
活动图
活动图用来描述工作的流程,对并行的工 作流程能很好的支持。 • 活动 • 转移的功能单元。 • 参与者 • 用例 • 关联关系 • 依赖关系 • 继承关系
用例图
老师在线答疑系统需求描述 • 他是一个用于老师和学生之间进行即时沟通的系统。 • 系统由老师使用的老师端,学生使用的学生端和一个有公 网地址的登陆服务端组成。 • 老师登陆系统后会在老师列表中出现,并显示出他的专业、 姓名、专长和状态是否忙等信息。也可以看到其他所有登 录的老师的信息。 • 学生登陆后可以看到所有已经登录的老师列表。 • 学生可以选择一个不忙的老师进行问题咨询,和选择的老 师建立连接后就可以通过语音加白板和老师进行交流。此 时其他学生将看到该老师处于忙的状态。
UML它时序图
UML它时序图在本⽂中,我们重点谈谈UML时序图,UML包括在主时序图的建模元素:对象(Actor)、⽣命线(Lifeline)、聚焦控制(Focusofcontrol)、消息(Message)等等。
⼀、UML时序图简单介绍(Briefintroduction)时序图(SequenceDiagram)是显⽰对象之间交互的图,这些对象是按时间顺序排列的。
顺序图中显⽰的是參与交互的对象及其对象之间消息交互的顺序。
时序图中包含的建模元素主要有:对象(Actor)、⽣命线(Lifeline)、控制焦点(Focusofcontrol)、消息(Message)等等。
⼆、UML时序图元素(SequenceDiagramElements)⾓⾊(Actor)系统⾓⾊,能够是⼈、及其甚⾄其它的系统或者⼦系统。
对象(Object)对象包含三种命名⽅式:第⼀种⽅式包含对象名和类名;第⼆中⽅式仅仅显⽰类名不显⽰对象名,即表⽰他是⼀个匿名对象。
第三种⽅式仅仅显⽰对象名不显⽰类明。
⽣命线(Lifeline)⽣命线在顺序图中表⽰为从对象图标向下延伸的⼀条虚线,表⽰对象存在的时间,例如以下图控制焦点(FocusofControl)控制焦点是顺序图中表⽰时间段的符号,在这个时间段内对象将运⾏对应的操作。
⽤⼩矩形表⽰,例如以下图。
消息(Message)UML时序图中消息⼀般分为同步消息(SynchronousMessage),异步消息(AsynchronousMessage)和返回消息(ReturnMessage).例如以下图所看到的:◆同步消息=调⽤消息(SynchronousMessage)消息的发送者把控制传递给消息的接收者。
然后停⽌活动。
等待消息的接收者放弃或者返回控制。
⽤来表⽰同步的意义。
◆异步消息(AsynchronousMessage)消息发送者通过消息把信号传递给消息的接收者。
然后继续⾃⼰的活动。
不等待接受者返回消息或者控制。
时序图和协作图PPT课件
⑥ 如果需要设置时间或空间的约束,可以为每个 消息附上合适的时间和空间约束。
⑦ 如果需要形式化的说明某控制流,可以为每个 消息附上前置和后置条件。
2021/7/23
24
7.4 时序图建模实例
例:图书管理系统时序图建模
1.添加借阅者
❖ 在UML中,时序图用一个二维图描述系统 中各个对象之间的交互关系。其中,纵轴
是时间轴,时间沿竖线向下延伸,由上至
下表示时间的先后顺序。横轴代表了参与 相互作用的对象。
❖ 当对象存在时,生命线由一条虚线表示;
当对象的过程处于激活状态时,生命线上
用一个激活条表示。消息用从一个对象到
另一个对象生命线的箭头表示,箭头以时
第7章 时序图
❖ 系统或对象的动态模型主要包括状态模型 和交互模型。
❖ 状态模型用来描述系统或对象的动态行为, 用状态图和活动图进行描述,因此状态图和 活动图又统称为行为图;
❖ 交互模型主要用来帮助人们观察和分析系 统的交互行为,用时序图和协作图进行描述, 因此时序图和协作图又统称为交互图。
2021/7/23
❖ 消息流上标有消息的序号和对象间发送的消 息,消息的序号表明了消息发送的先后顺序。
❖ 一条消息会触发接收对象中的一项操作。
2021/7/23
36
对象
1: Create()
2: Return Message
2021/7/23
20
❖ 在新创建的对象时,都可以发送“destroy”消息 来撤销新创建对象。
❖ 要想说明某个对象被撤销,需要在被撤销对象的 生命线末端放一个“×”符号进行标识。
ObjectA
uml时序图
uml时序图1.时序图的概念时序图定义 : 描述了对象之间传递消息的时间顺序, ⽤来表⽰⽤例中的⾏为顺序, 是强调消息时间顺序的交互图;时序图描述的事物: 时序图描述系统中类和类之间的交互, 将这些交互建模成消息交换, 时序图描述了类以及类之间的交换以完成的期望⾏为的消息, 时序图中每条消息都代表了类的⼀个操作或者引起状态机改变的触发事件;时序图表⽰ : 参与交互的对象在时序图顶端⽔平排列, 每个对象的底端绘制了⼀条垂直虚线, 对象A像对象B发送消息, ⽤⼀条带箭头的实线表⽰, 该实线起始于对象A底部的虚线, 终⽌于对象B底部的虚线; 实线箭头⽔平放置, 越靠近顶端越早被发送.时序图轨迹 : 时序图提供了随时间推移的, 清晰的可视化的轨迹;2. 时序图组成时序图组成 : 时序图包括四个元素对象(Object), ⽣命线(Lifeline), 激活(Activation), 消息(Message);(1) 对象(Object)对象 : 时序图中的对象在交互中扮演的⾓⾊就是对象;对象的符号 : 时序图中的对象与对象图中的表⽰⽅法⼀样, 使⽤矩形将对象名称包含起来, 并且对象名称下有下划线;对象创建时机 : 对象可以在交互开始的时候创建, 也可以在交互过程中进⾏创建;– 处于顶部 : 如果对象的位置在时序图顶部, 说明在交互开始的时候对象就已经存在了;– 不在顶部 : 如果对象的位置不在顶部, 那么对象在交互过程中创建的;(2) ⽣命线(Lifeline)⽣命线 : ⽣命线是⼀条垂直的虚线, 这条虚线表⽰对象的存在, 在时序图中, 每个对象的底部都有⽣命线;⽣命线作⽤ : ⽣命线是⼀个时间线, 从时序图顶部⼀直到底部都存在, 其长度取决于交互的时间;对象的⽣命线 : 对象与⽣命线结合在⼀起就是对象的⽣命线, 这个概念包含对象图标以及对象下⾯的⽣命线图标如上图;(3) 激活(Activation)激活(Activation) : 代表时序图中对象执⾏⼀项操作的时期, 激活期可以理解为语义中 {} 中的内容, 表⽰该对象被占⽤以完成某个任务;去激活(Deactivation) : 指对象处于空闲状态, 在等待消息激活这个对象;激活的表⽰ : 当对象处于激活时期, ⽣命线可以拓宽为矩形, 这个矩形条成为激活条;激活去激活的时机 :– 激活 : 对象激活是在激活条的顶部激活;– 去激活 : 激活条的底部去激活, 通常发⽣在⼀个消息离开对象⽣命线;(4) 消息消息概念 : 定义交互和协作中交换信息的类, 对对象之间的通信内容建模;消息动作 :– 动作种类 : 消息允许在实体间传递信息 (传递参数), 允许实体请求其它服务, 对象之间通过发送和接收消息进⾏通信;– 产⽣结果 : 消息可以触发操作, 唤起信号, 或使⽬标对象创建或销毁;消息的异步和同步通信 :– 异步通信 : 消息是信号的时候, 发送信号之后, 等待对⽅触发相应⽅法, 这是明确的命名的对象间的异步通信;– 同步通信 : 直接调⽤对象的⽅法, 执⾏⽅法返回结果, 这种具有返回控制机制的操作是同步通信;时序图和协作图中消息的区别 : 时序图中的消息强调顺序, 协作图中的消息强调交换消息的对象间的关系;消息类型 :– : 两个对象间绘制消息;– : 两个对象之间的过程调⽤;– : 两个对象之间的异步消息;– : 过程调⽤中返回的消息;– : 绘制反⾝消息;3. 时序图⽰例⽰例简介 :– 使⽤场景 : 汽车租赁公司;– 使⽤的对象 : Customer (客户), Worker (⼯作⼈员), Order (请求), Record (记录), Car (汽车);– ⼯作流程 : ①客户向⼯⼈提出租车要求, ②⼯⼈检查请求, ③客户付款, ④⼯⼈填写记录, ⑤⼯⼈取车;时序图 :4. 对象的创建和撤销对象位置 :– 顶部 : 时序图中对象的默认位置是在时序图顶部, 这表明对象在交互开始之间就已经存在;– 中间 : 如果对象在时序图中间部分, 说明对象时在交互过程中创建的;交互过程中创建对象的⽅法 :– 消息指向对象 : 消息是构造⽅法, 箭头指向对象所代表的的矩形;– 消息指向激活条 : 消息是构造⽅法, 箭头指向对象下⾯的激活条;撤销对象 : 如果想要在时序图中撤销⼀个对象, 因为如果同时有⼏个对象, 如果不进⾏特殊操作其⽣命周期将会⼀样长;– 效果图 : 下图中将 Customer 和 Order 对象撤消了, 因为它们基本没有参与后期的交互;5. 时序图建模技术时序图使⽤时机 : 对动态⾏为建模, 强调时间展开信息的次序的时候, 使⽤时序图;时序图管理策略 :– 单⼀控制流 : ⼀个单独的时序图只能显⽰⼀个控制流;– 多个时序图 : 完整的控制流很复杂, 可以绘制多个时序图, ⼀个主⼲时序图, 多个分⽀时序图, 使⽤包对这些时序图进⾏管理;时序图建模策略 :– 设置交互语境 : 交互所在的环境, 包括哪些对象, 属于什么系统, ⼦系统, 相关的操作类⽤例等;– 对象排列顺序 : 根据对象重要性, 从左到右排列在时序图中;– 对象⽣命线 : 对象通常存在于交互的整个过程, 也可以在交互过程中被创建和撤销;– 消息排列 : 引发交互信息之后, 消息按照时间顺序从上向下画出, 先发出的消息在后发出的消息上⾯;– 激活期设置 : 可以将实际操作发⽣的时间点消息明确的显⽰出来;– 时间空间约束 : 每个消息都可以附加合适的时间和空间约束;– 前置后置条件 : 每条消息可以附加前置或后置条件;。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10.5 实例——图书馆管理系统的时序图
10.5.1 使用Rational Rose绘制时序图的步骤 10.5.2 图书馆管理系统的时序图
10.5.1 使用Rational Rose绘制时序图 的步骤
1. 2. 3. 4. 创建时序图 时序图工具栏按钮简介 添加对象 添加消息
10.5.2 图书馆管理系统的时序图
10.1 概述
时序图示例:
10.2 时序图的组成
① ② ③ ④ 时序图包含了4个元素: 对象(Object) 生命线(Lifeline) 消息(Message) 激活(Activation)
10.2 时序图的组成
10.2.1 10.2.2 10.2.3 10.2.4 对象 生命线 消息 激活
10.2.1 对象
2: find(String)
3: Return true
4: reserve( )
10.2.3 消息
10.2.4 激活
激活表示该对象被占用以完成某个 任务,去激活指的则是对象处于空 闲状态、在等待消息。 在UML中,为了表示对象是激活的, UML 可以将该对象的生命线拓宽成为矩 形。其中的矩形称为激活条或控制 期,对象就是在激活条的顶部被激 活的,对象在完成自己的工作后被 去激活。 激活条
10.3 对象的创建和撤销
如果对象位于时序图的顶部,说明在交互 开始之前该对象已经存在了。如果对象是 在交互的过程中创建的,那么它应当位于 图的中间部分。 对象在创建消息发生之后才能存在,对象 的生命线也是在创建消息之后才存在的。
10.3 对象的创建和撤销
创建对象的两种表示方法:
10.3 对象的创建和撤销
4: create(Integer, Title)
பைடு நூலகம்
2. 图书管理员处理借书的时序图 (不包括预留书籍的情况)
3. 系统管理员删除书目的时序图
4. 借阅者预留书籍的时序图
theBorrower : Borrower 1: Login Web Application theTitle : Title
时序图中对象的符号和对象图中对象所用 的符号一样。 将对象置于时序图的顶部意味着在交互开 始的时候对象就已经存在了,如果对象的 位置不在顶部,那么表示对象是在交互的 过程中被创建的。
10.2.2 生命线
生命线是一条垂直的虚线,表示时序图中 的对象在一段时间内的存在。每个对象的 底部中心的位置都带有生命线。 生命线是一个时间线,从时序图的顶部一 直延伸到底部,所用的时间取决于交互持 续的时间。 对象与生命线结合在一起称为对象的生命 线,对象的生命线包含矩形的对象图标以 及图标下面的生命线。
1. 系统管理员添加书籍的时序图 2. 图书管理员处理借书的时序图(不包括 预留书籍的情况) 3. 系统管理员删除书目的时序图 4. 借阅者预留书籍的时序图
1. 系统管理员添加书籍的时序图
: Administrator : Maintenance Window 1: add item( ) 2: find(String) Check if corresponding title exist 3: return true : Title : Item
如果要撤销一个对象,只要在其生命线终 止点放置一个“X”符号即可,该点通常是 对删除或取消消息的回应。
10.4 时序图建模技术
① ② ③ ④ 设置交互的语境。 通过识别对象在交互中扮演的角色,设置交互的场景。 为每个对象设置生命线。 从引发某个消息的信息开始,在生命线之间画出从顶 到底依次展开的消息,显示每个消息的特性(如参 数)。 ⑤ 如果需要可视化消息的嵌套或实际计算发生时的时间 点,可以用激活修饰每个对象的生命期。 ⑥ 如果需要说明时间或空间的约束,可以用时间标记修 饰每个消息,并附上合适的时间和空间约束。 ⑦ 如果需要更形式化的说明某控制流,可以为每个消息 附上前置和后置条件。
10.2.2 生命线
对象的生命线:
10.2.3 消息
消息定义的是对象之间某种形式的通信, 它可以激发某个操作、唤起信号或导致目 标对象的创建或撤销。 消息是两个对象之间的单路通信,从发送 方到接收方的控制信息流。 消息可以用于在对象间传递参数。 消息可以是信号,也可以是调用。 在UML中,消息使用箭头来表示,箭头的 类型表示了消息的类型。
第10章 时序图
10.1 10.2 10.3 10.4 10.5 概述 时序图的组成 对象的创建和撤销 时序图建模技术 实例——图书馆管理系统的时序图
10.1 概述
时序图是强调消息时间顺序的交互图。 时序图描述了对象之间传送消息的时间顺 序,用来表示用例中的行为顺序。 时序图将交互关系表示为一个二维图。其 中,纵轴是时间轴,时间沿竖线向下延伸。 横轴代表了在协作中各独立的对象。