顺序图及建模

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对象间的交互
分析2:类图与顺序图之间的关系 思考:消息是什么?与类是什么关系?
类图 类
操作
顺序图 对象 消息
类图描述系统的静态结构,顺序图描述系统的动态行为
若出现了一个新的消息(不是类中的操作),则需要为类 添加一个新的操作。
需要在类C中添加操作“K”
小结:顺序图的作用 用对象间的交互来描述用例 寻找类的操作
顺序图的组成
主要元素:对象、生命线、消息和激活。
顺序图用二维图描述系统中各个对象之间的关系。
纵轴:表示时间轴,时间沿竖线向下延伸。 横轴:代表参与交互的对象(可能是所有的对象,也可能是部 分的对象,但至少有2个对象)
表示对象存在时,生命线用虚线表示 表示对象激活时,生命项用双道线表示
消息用从一个对象到另一个对象生命线的箭头表示 箭头以时间的顺序在图中从上到下排列
息使用了一些简洁的标记符。 消息可以包含条件以便限制它们只在满足条件时才能发送。
条件显示在消息名称上面的方括号中,如下图所示。
下面示例演示了如何建模一个顺序图来显示登录尝试。如果登录 失败,会在放弃登录之前重试一次,如下图所示。
2、消息的类型与符号
简单消息(包括反身消息) 同步消息 异步消息 返回消息(可选)
第8讲 顺序图(时序图)及建模
思考题: 用例图、类图、活动图、顺序图之间是什么关系? 顺序图有什么作用?
引言:赤壁之战的顺序图
Public class 刘备 {
public void 应战(); }
Public class 孔明 {
public void 拟定策略(); public void 联合孙权(); private void 借东风火攻(); }
(2)同步消息 消息的发送者把进程控制传递给消息的接收者,然后暂停 活动,等待消息接收者的回应消息。
你叫我去吃饭,我听到了就和你去吃饭;如果没有听到, 你就不停的叫,直到我告诉你听到了,才一起去吃饭。
(3)异步消息 消息的发送者将消息发送给消息的接收者后,不用等待 回应的消息,即可开始另一个活动。
Public class 关羽 {
Public void 防守荊州(); }
Public class 张飞 {
public void 防守荆州前线(); }
Public class 孙权 {
public void 领兵相助(); }
分析1:用例图、活动图、顺序图之间的关系
用例
活动图(从用户的角度描述用例,找出 业务工作流) 顺序图(从计算机的角度描述用例)
你叫我去吃饭,然后自己去吃饭,我得到消息后可能立即 走,也可能等到下班才去吃饭。
上面的图例说明了参与者和对象可以把消息发送给顺序图中
的任何参与者或者对象。它们可以把消息发送给不是其直接相邻 的参与者或者对象。
下面看一个意义更加丰富的示例。对于Compile Application用 例,我们可以创建一个成功编译工作流的顺序图,如下图所示。
(1)把交互频繁的对象尽可能地靠拢
(2)把初始化整个交互活动的对象(有时是一个参与者) 放置在最左边
来自百度文库
二、生命线(lifeline)
对象在垂直方向拖出的长虚线称为生命线。 表示对象的生存时间(时段)。生命线从对象创建开始到 对象销毁时终止。
对象在生命线上的两种状态:
休眠状态:虚线表
激活状态:双道线
三、消息
• 顺序图表示了一个相互作用、在以时间为次序 的对象之间的集合,是一个动态交互模型
• 突出显示参与交互作用的对象和所交互消息的 顺序
• 顺序图的数量:实际系统中必须有至少1个
为什么要建模顺序图
建模顺序图有许多理由,顺序图与活动 图具有类似的作用。
其中重要的理由就是实现用例。任何用例 都可以使用顺序图进一步阐明和实现。
1、消息的概念 消息用来表示顺序图中不同活动对象之间的通信。
对象之间的交互是通过互发消息来实现的。一个对象可以 请求(要求)另一个对象做某件事件。
消息从源对象指向目标对象。消息一旦发送便将控制从源 对象转移到目标对象。
顺序图中,消息的阅读顺序是严格自上而下的
如何使用消息进行通信 消息是顺序图活动对象之间通信的惟一方式。UML中的消
简单消息是没有区分同步和异步的消息。 简单消息用从一对象的生命线指向另一个对象的生命线的直 线箭头来表示,箭头上面标出消息名。
简单消息
• 既然所有消息都是异步或同步消息,为 什么需要简单消息?
1.有时不关心消息是同步或异步 2.有时不知道消息类型或难以确定消息类型时 在系统建模时,可以先用简单消息表示所有消 息,然后根据情况确定消息的类型
箭头表示方法的调用
认识顺序图中的元素
一、对象
对象是类的实例,对象是通过类来创建的,我们可以把类
看作是创建对象的模板。
1、对象的符号(带有对象名称的矩形框) 顺序图中的每个对象显示在单独的列里。
匿名对象
2、对象的左右排列位置
对象的左右顺序并不重要,但是为了图面的清晰整洁起见, 通常应遵循以下两个原则:
这个顺序图中有4个活动对象:Developer、Compiler、Linker和 FileSystem。Developer是系统的参与者。Compiler是Developer交互 的应用程序。Linker是一个用来链接对象文件的独立进程。 FileSystem是系统层功能的包装器,用来执行文件的输人和输出例 程。
【学习目标】
·定义顺序图 ·为什么要建立顺序图 ·了解顺序图的标记符组件 ·理解如何使用消息进行通信 ·学习顺序图使用的其他技术 ·学习如何建模顺序图 ·学习控制矩形 ·学习如何建模时间 ·学习如何建模迭代 ·学习如何建模高级消息 ·学习如何向顺序图中添加注释
顺序图
• 定义:描述了对象之间传递消息的时间顺序, 用来表示用例中的行为顺序。它是用来显示参 与者如何采用若干顺序步骤与系统对象交互的 模型
实例:同步与异步
你叫我去吃饭,我听到了就和你去吃饭;如果没有听到, 你就不停的叫,直到我告诉你听到了,才一起去吃饭。 你叫我去吃饭,然后自己去吃饭,我得到消息后可能立即 走,也可能等到下班才去吃饭。
所以,要我请你吃饭就用同步的方法,要请我吃饭就 用异步的方法,这样你可以省钱。^_^!
(1)简单消息
相关文档
最新文档