UML序列图详解

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

作用
序列图作为一种描述在给定语境中消息是如 何在对象间传递的图形化方式,在使用其进 行建模时,可以将其用途分为以下3个方面。 1确认和丰富一个使用语境的逻辑表达。 2细化用例的表达。 3有效地描述如何分配各个类的职责以及各 类具有相应职责的原因。
序列图的组成要素
Stylish templates can be a valuable aid to creative professionals.
序列图的基本概念
Stylish templates can be a valuable aid to creative professionals.
概念
序列图(顺序图、时序图)是用于表现一个 交互,该交互是一个协作中的各类角色间的 一组消息的交换,但重于强调时间顺序。 交互(Interaction) 是指在具体语境中由为实现某个目标的一组 对象之间进行交互的一组消息所构成的行为
图示
图示
对象生命线
× 表示对象 的撤销
概念
序列图可以描述对象的激活,激活是 对象操作的执行,它表示一个对象直 接或通过从属操作完成操作的过程
激活期
当一个对象没有被激活时,该对象处于休 眠状态,什么事都不做,但它仍然存在, 等待新的消息来激活它。 当一条消息被传递给对象的时候,它会触 发该对象的某个行为,这时就说该对象被 激活了。 当一个对象处于激活期时,表明该对象正 在执行某个动作。
Return 不变,新增: 阻止(Balking)
接受者如果无法立即接收,则发送者放弃消息;
超时(Timeout):
如果接受者无法在指定时间内接收,则发送者 放弃消息。
判断下列交互的类型
a) 我和小明打了一通电话 b) 我给小明打电话没打通 c) 我给小明发了一封邮件 d) 我用QQ和小明聊天 e) 我让小明回宿舍帮我拿本书,我在楼底 下等他 f) 我把小明上次想找我借给他的书带给他 g) 编写一个类,调用集合对象Array的get方 法,系统提示找不到相关类的错误
图示
图示
时序图中,消息的阅读顺序是严格自上而下的
使用序列图描述进行银行取款业务时,顾客
同银行业务员之间的交互过程
简单消息(包括反身消息)
同步消息 异步消息 返回消息(可选)
同步和异步的实例
同步:你叫我去吃饭, 我听到了就和你去吃 饭;如果没有听到, 你就不停的叫,直到 我告诉你听到了,才一起去吃饭。 异步:你叫我去吃饭,叫一声后自己就先去 吃饭,我听到后可能立即走,也可能等到有 空的时候去吃饭,也可能根本就没听到。
异步消息的发送者通过消息把信号传递给 接收者,然后继续自己活动,不等待接收者 返回消息或控制。
异步消息
③返回消息( Return )
返回消息表示从消息接受对象返回信
息。
返回消息
④阻止消息
阻止消息指消息发送者发出消息给接收者, 如果接收者无法立即接收这个消息,则发送 者放弃这个消息。
阻止消息
⑤超时消息
对象(Object)
生命线(Lifeline) 激活(Activation) 消息(Messages)
消息 对象
生命线
激活期
概念
序列图中的对象和对象图中的对象的 概念一样,都是类的实例。序列图中 的对象可以是系统的参与者或者任何 有效的系统对象
图示
图示
:类名
对象名:类名
从用例中识别交互过程
识别参与交互过程的对象 为每一个对象设置生命线,并确定对象的存
在期限 从引发交互的初始消息开始,在对象生命线 上依次画出交互的消息; 如果需要,可以给消息增加时间约束,以及前 置条件和后置条件
用例:借书 参与者:管理员,借阅者 基本事件流: 1. 借阅者带着借书证和书来到柜台。 2. 管员输入借阅者的借书证编码。 3. 系统检查借阅者的合法性。 4. 系统显示借阅者的信息。 5. 系统检查借阅者的借阅信息。 6. 管员输入所借图书的条码。 7. 系统显示所借图书的信息,并登记图书。 管员重复6~7步,直到结束。 8. 系统登记借阅者的本次借阅信息,并显示。
结论
以后你们请我吃饭的时候就要使用同 步模式,我请你们吃饭的时候就用异 步的模式,这样我可以省点钱。
① 调用消息( Procedure Call )
调用消息(也称为同步消息)的发送者把控 制传递给接收者,然后停止活动,直到消息 接收者放弃或返回控制。
调用消息
②异步消息( Asynchronous )
创建对象
创建一个对象指的是发送者发送一个实例化 消息后实例化对象的结果
销毁对象
销毁对象指的是将对象销毁并回收其拥有的 资源,它通常是一个明确的动作,也可以是 其他动作、约束或垃圾回收机制的结果。
图示
在UML中存在两种方式可以来修改序列图中 消息的控制流,分别是:分支和从属流。
分支
超时消息指消息发送者发出消息给接收者, 并按指定时间等待,如果接收者无法在指定 时间内接收这个消息,则发送者放弃这个消 息。
超时消息
SourceObj 1: 2: 3: 4: 5: 6: 7:
TargetObj


Simple和Asynchronous(异步)同义
Synchronous (同步)和Procedure Call同 义
图示
. .
激Байду номын сангаас期
图示

概念
消息(Messages)是从一个对象(发送者) 向另一个或其他几个对象(接收者)发送信 号,或由一个对象(发送者或调用者)调用 另一个对象(接收者)的操作
对象之间的交互是通过互发消息来实现的。 一个对象可以请求(要求)另一个对象做 某件事件。 消息从源对象指向目标对象。消息一旦发 送便将控制从源对象转移到目标对象。
用例:借书 扩展事件流: 3a. 借阅者身份非法,则提示,本次拒借。 5a. 该借阅者所借图书中有超期的, 则提示, 本次拒借。
5b. 该借阅者所借图书数量超过了上限, 则 提示, 本次拒借。
识别交互过程
分析事件流,找到事件流中存在哪些对象之 间的交互? 可见的交互部分 借阅者与管理员的交互 管理员与系统界面 不可见的交互部分 系统界面同后台业务处理程序 业务处理程序与数据库
:对象名 匿名对象
对象的左右排列位置
对象的左右顺序并不重要,但是为了图面的 清晰整洁起见,通常应遵循以下两个原则: (1)把交互频繁的对象尽可能地靠拢 (2)把初始化整个交互活动的对象(有时是 一个参与者)放置在最左边
概念
生命线(Lifeline)是一条垂直的虚线, 用来表示序列图中的对象在一段时间 内的存在。
1.对于上面的这个用例图,我们能不能从用 例图了解借书这个用例的具体的操作步骤和 流程? 2.在详细设计阶段,借书功能需要用MVC模式 实现,我们通常用什么方式来描述各个层次 之间的调用关系?
学习序列图的基本概念 学习序列图的组成要素
Stylish templates can be a valuable aid to creative professionals.
识别参与交互的对象
借阅者、图书管理员 系统界面、业务处理程序、数据库
对图书管理系统中的还书用例进行细化,使用
序列图将还书的交互过程和交互细节展现出来。
要求:交互过程完整,逻辑合理、图例使用正
确,序列图粒度适中 ,注意消息类型的区分和 消息分支的情况
分支是指从同一点发出的多个消息并指向不 同的对象,根据条件是否互斥,可以有条件 和并行两种结构。 从属流 从属流指的是从同一点发出多个消息指向同 一个对象的不同生命线。
序列图构建实例
Stylish templates can be a valuable aid to creative professionals.
相关文档
最新文档