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顺序图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
UML复习备考PPT-5 顺序图
UML 1.4/1.5中的异步消息
UML 1.3中的异步消息
返回消息(return)。表示消息的返回。 例:返回消息的表示符号。
如果是从过程调用返回,则返回消息是隐含包 括的,所以返回消息可省略。 对于非过程调用,如果有返回消息,必须明确 表示出来。
自调用
Rose中的消息类型:分简单消息,同步消息,阻止消 息,超时消息,调用消息,异步消息和返回消息。 可在消息的specification窗口中指定消息的类型。
2.2 生命线
lifeline:A dashed line in a sequence diagram that shows the existence of an object over a period of time. 生命线表示对象存在的时间,在顺序图中生命 线表示为从对象图标向下延伸的一条虚线。 图例:
2 顺序图的组成
2.1 2.2 2.3 2.4
对象 生命线 消息 激活
2.1 对象
sequence图和collaboration图描述的是 对象之间的消息发送关系,而不是类之 间的关系。 顺序图中对象的符号和对象图中对象所 用的符号一样。 将对象置于顺序图的顶部意味着在交互 开始的时候对象就已经存在了,如果对 象的位置不在顶部,那么表示对象是在 交互的过程中被创建的。
3.1*: update ( )
A3,B4/ C2: copy(a,b)
Some concepts used in a sequence diagram
object
循环
条件
返回消息 创建对象
10.2.4 激活
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 规范为基础。
序列图主要⽤于依照交互发⽣的⼀系列顺序,显⽰对象之间的这些交互。
⾮常象类图,开发⼈员⼀般觉得序列图仅仅对他们有意义。
然⽽,⼀个组织的业务⼈员会发现,序列图显⽰不同的业务对象怎样交互,对于交流当前业务怎样进⾏⾮常实⽤。
除记录组织的当前事件外,⼀个业务级的序列图能被当作⼀个需求⽂件使⽤,为实现⼀个未来系统传递需求。
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)消息发送者通过消息把信号传递给消息的接收者。
然后继续⾃⼰的活动。
不等待接受者返回消息或者控制。
UML基础培训(第三讲)
•
•
detail.aspx显示新闻的详细资料
基于简单三层结构制作时序图
时序图补充说明
• 时序图中的对象的粒度可大可小
– 可抽象:表达系统架构,层之间的调 用 可具体:表达对象间方法的调用
–
• •
在系统分析和设计阶段,不一定每个 对象,每一步调用都要画出来 消息返回有 时可以忽略不画
•
分析阶段可用自然语言表达对象消息
用于描述动作(Activity)和其结果
类似于流程图
•பைடு நூலகம்
关注于用例的现实过程
何时使用?
• 分析用例
– 能清楚直观地了解应当采取哪些动作 ,及动作之间的关系
•
理解牵涉多个用例的工作流
活动图示例:管理员管理新闻
活动图基本元素
•
•
起点: 每个活动图有且只有一个起开始点
终点 – 所有被触发的活动都已执行完成
通过时序图确定类中的方法
• 类包括两大块:
– – 属性 方法
• •
属性和关系已经在类图中确定下来的 但方法如何确定?请看时序图!
– – 消息调用说明这个类需要这个方法 消息返回就是这个方法的返回值
时序图的不足
•
• • • •
时序图擅长描述对象之间的协作关系,尽管它 不对对象的行为的现实进行精确定义。
本次课程内容
时序图介绍
状态图介绍
活动图介绍
建模总结
用例图
• 业务用例图 vs 系统用例图
– 业务用例
• • 给最终业务人员看的,应该是最先画 的 要简单直观,不要包含实现或系统性 的功能 少用泛化,包含,扩展等关系 给IT人员看的 一个系统用例是实际使用系统用户的 一个操作. 可由活动图分析而来
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. 时序图建模技术时序图使⽤时机 : 对动态⾏为建模, 强调时间展开信息的次序的时候, 使⽤时序图;时序图管理策略 :– 单⼀控制流 : ⼀个单独的时序图只能显⽰⼀个控制流;– 多个时序图 : 完整的控制流很复杂, 可以绘制多个时序图, ⼀个主⼲时序图, 多个分⽀时序图, 使⽤包对这些时序图进⾏管理;时序图建模策略 :– 设置交互语境 : 交互所在的环境, 包括哪些对象, 属于什么系统, ⼦系统, 相关的操作类⽤例等;– 对象排列顺序 : 根据对象重要性, 从左到右排列在时序图中;– 对象⽣命线 : 对象通常存在于交互的整个过程, 也可以在交互过程中被创建和撤销;– 消息排列 : 引发交互信息之后, 消息按照时间顺序从上向下画出, 先发出的消息在后发出的消息上⾯;– 激活期设置 : 可以将实际操作发⽣的时间点消息明确的显⽰出来;– 时间空间约束 : 每个消息都可以附加合适的时间和空间约束;– 前置后置条件 : 每条消息可以附加前置或后置条件;。
时序图和协作图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
类图时序图状态图系统PPT优质课件
根据问题域知识得出的关联 现金兑换卡访问账户。 分行雇用柜员。
ATM与用户交互。
ATM吐出现金。
ATM打印账单。
系统处理并发的访问。
10.3 建立对象模型
3.进一步完善
➢正名、分解、补充、标明重数
系 统 原 始 的 类 图
ATM
10.3 建立对象模型
➢ 在概念上把系统包含的内容分解成若干个范畴
➢应该按问题领域而不是用功能分解的方法来确定主题 ➢不同主题内的对象相互间依赖和交互最少的原则
10.3 建立对象模型
1.找出候选的类与对象
寻找以下五类客观事物 可感知的物理实体 人或组织的角色 应该记忆的事件 两个或多个对象的相互作用,通常具有交易 或接触的性质 需要说明的概念
10.3 建立对象模型
1.找出候选的类与对象(续)
建立对象模型典型的步骤
名词解析法 事件包括系统与用户交互的所有信号、输入、输出、中断、动作等等。
要的作用。
一次建模过程很难得到完全正确的对象模型。
有些细化工作(例如,定义服务)是在建立了动态 模型和功能模型之后才进行的。
由于面向对象的概念和符号在整个开发过程中都 是一致的,因此远比使用结构分析、设计技术更 容易实现反复修改、逐步完善的过程。
建模的步骤并不一定按照前面讲述的次序进行。
它给初学者提供了一个指南。
继承关系反映出一定深度的领域知识,需领域专家密切配合才能完成。
换卡 柜员终端与分行计算机通信。
柜员输入针对账户的事务。 “储户”和“柜员”虽然也是动作对象,但是,它们都是系统外部的因素,无须在系统内实现它们。 面向对象分析的关键工作,是分析、确定问题域中的对象及对象间的关系,并建立起问题域的对象模型。 在事件跟踪图中,一条竖线代表一个对象,每个事件用一条水平的箭头线表示,箭头方向从事件的发送对象指向接受对象。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
阻止消息
3. 消息 ⑤超时消息 超时消息指消息发送者发出消息给接收者,并按指
定时间等待,如果接收者无法在指定时间内接收这个消 息,则发送者放弃这个消息。
超时消息
3. 消息类型
● 同步消息 ● 异步消息 ● 返回消息 ● 阻止消息 ● 超时消息
Rose中的消息:简单消息
SourceObj 1: 2: 3: 4: 5: 6: 7:
TargetObj
Rose中的消息:同步消息
SourceObj 1: 2: 3: 4: 5: 6: 7:
TargetObj
Rose中的消息:阻止消息
SourceObj 1: 2: 3: 4: 5: 6: 7:
TargetObj
Rose中的消息:超时消息
SourceObj 1: 2: 3: 4: 5: 6: 7:
TargetObj
Rose中的消息:小结
其中: • Simple和Asynchronous(异步)同义 • Synchronous (同步)和Procedure Call同义 Return 不变 新增: • 阻止(Balking)
接受者如果无法立即接收,则发送者放弃消息;
交互图
1 概述 2 顺序图 3 协作图 4 顺序图与协作图比较
交互图
1 概述
1.1 交互图的概念 1.2 交互图的类型 1.3 交互图的作用
1.1 交互图的概念
1. 交互图的概念 交互图(interaction): 用来描述对象之间、对象与参与
者之间的动态协作关系,以及协作过程中行为次序的图 形文档。
以请求(要求)另一个对象做某件事件。 • 消息从源对象指向目标对象。消息一旦发送便将控制从
源对象转移到目标对象。
消息
时序图中,消息的阅读顺序是严格自上而下的
2、消息的类型与符号
简单消息(包括反身消息) 同步消息 异步消息 返回消息(可选)
实例:同步与异步
你叫我去吃饭,我听到了就和你去吃饭;如果没有听到, 你就不停的叫,直到我告诉你听到了,才一起去吃饭。 你叫我去吃饭,然后自己去吃饭,我得到消息后可能立即 走,也可能等到下班才去吃饭。
• 超时(Timeout):
如果接受者无法在指定时间内接收,则发送者放弃 消息。
3. 消息 ⑥消息的语法格式
[条件][消息序号][返回值:=]消息名([参数列表])
例如:
2:display( x , y )
简单消息
1.2.1:p:= find( specs ) 嵌套消息,消息带返回值
1.1 交互图的概念
1. 交互图的概念 交互图( Interaction diagram ): 是描述对象之间的关系
以及对象之间的信息传递的图。 2.交互图的类型 • 顺序图( Sequence diagram ) • 协作图( Collaboration diagram ) 3. 交互图的作用 通常用来描述一个用例的行为,实现一个用例,完成对 系统行为的建模。
交互图
2 顺序图(时序图)
2.1 顺序图的概念 2.2 顺序图的样式和元素 2.3 消息 2.4 建立顺序图
1. 顺序图的概念 顺序图(sequence diagram): 是用来描述为了完成某确
定事务,对象之间按照时间顺序进行消息交互的图。 2. 顺序图样式和组成
消息
对象
生命线
激活期
2. 顺序图样式和组成 ● ① 对象的命名
当一个对象处于激活期时段,表矩明形该的对顶象部正表在示执动行作某个动
作。
的开始,底部表示动作的
结束。
..
对象接收消息后可以由自
激活期
己的某个操作来完成,也 可以通过其他对象的操作
来完成。
2. 顺序图样式和组成 ④ 消息
● 带箭头的连线,表示对象之间传输的信息。 • 对象之间的交互是通过互发消息来实现的。一个对象可
对象生命线
对象在生命线上的两 种状态: 休眠状态 激活状态
×
表示对象 的撤销
2. 顺序图样式和组成
③ 控制焦点 / 激活期
● 小矩形,表示这个时间对象将执行操作。
当一个对象没有被激活期时,该对象处于休眠状态, 什么事都不做,但它仍然存在,等待新的消息来激活它。
当一条消息被传递给对象矩的形时框候的,高它度会表触示发对该象对执象的某 个行为,这是就说该对行象一被个激操活作了所。经历的时间
:类名
对象名:类名
:对象名
对象的左右排列位置
匿名对象
对象的左右顺序并不重要,但是为了图面的清晰整洁起见,通常应遵循以下两个原则
:
(1)把交互频繁的对象尽可能地靠拢
(2)把初始化整个交互活动的对象(有时是一个参与者)放置在最左边
2. 顺序图样式和组成 ② 生命线
● 表示对象存在的时间,对象下面一条虚线表示。 生命线从对象创建开始到对象销毁时终止。
• 所以,要我请你吃饭就用同步的方法, 要请我吃饭就用异步的方法,这样你可 以省钱。^_^!
3. 消息 消息:对象之间传输的信息。UML消息有以下类型: ① 调用消息( Procedure Call ) 调用消息(也称为同步消息)的发送者把控制传递给
接收者,然后停止活动,直到消息接收者放弃或返回控 制。
SourceObj 1: 2: 3: 4: 5: 6: 7:
TargetObj
Rose中的消息:过程调用
SourceObj 1: 2: 3: 4: 5: 6: 7:
TargetObj
Rose中的消息:异步消息
SourceObj 1: 2: 3: 4: 5: 6: 7:
TargetObj
Rose中的消息:返回消息
1.1 交互图的概念
1. 交互图的概念 交互图(interaction): 用来描述对象之间、对象与参与
者之间的动态协作关系,以及协作过程中行为次序的图 形。 2.交互图的类型 • 顺序图( Sequence diagram )又称为时序图 • 协作图( Collaboration diagram )
调用消息
3. 消息 ②异步消息( Asynchronous ) 异步消息的发送者通过消息把信号传递给接收者,
然后继续自己活动,不等待接收者返回消息或控制。
异步消息
3. 消息 ③返回消息( Return ) 返回消息表示从消息接受对指消息发送者发出消息给接收者,如果接