统一建模语言第4章顺序图和协作图.ppt
《统一建模语言第4章顺序图和协作图.ppt》由会员分享,可在线阅读,更多相关《统一建模语言第4章顺序图和协作图.ppt(85页珍藏版)》请在三一办公上搜索。
1、第四章 顺序图和协作图统一建模语言Unified Modeling Language,顺序图顺序图的定义顺序图的符号顺序图的消息顺序图的其他技术帧化顺序图顺序图的建模方法协作图协作图的定义协作图的符号协作图的消息协作图的建模方法,第四章 顺序图和协作图,在标识出系统的类图之后,仅给出了实现用例的组成结构,这时还需要描述这些类的对象是如何交互来实现用例功能的。即不但需要把用例图模型转化为类图模型,还要将它转化为交互图模型。,顺序图的定义,交互图表示类(对象)如何交互来实现系统行为。交互图具有顺序图和协作图两种形式。,顺序图的定义(续),1.顺序图 它描述对象按时间顺序的消息交换过程,它体现出系统
2、用例的行为。2.协作图 它描述对象间的组织协作关系,它也可体现出系统用例的行为。,顺序图顺序图的定义顺序图的符号顺序图的消息顺序图的其他技术帧化顺序图顺序图的建模方法协作图协作图的定义协作图的符号协作图的消息协作图的建模方法,第四章 顺序图和协作图,顺序图的符号(续),顺序图有四个主要的标记符:活动对象 生命线 激活 消息,顺序图的符号(续),活动对象 活动对象可以是系统的参与者或者任何有效的系统对象。对象是类的实例,它使用包围名称的矩形框来标记。名称带下划线,顺序图中对象的标记符如下图所示。,顺序图的符号(续),生命线 顺序图中垂直方向代表时间维,时间流逝的方向为自顶向下。靠近顶部的消息发生
3、的时间要比靠近底部的消息早。因此,顺序图是两维的。自左至右的维数代表对象的布局,自顶向下的维数代表时间的流逝。每个对象的生命线都是一条从对象向下的虚线。表示对象的存在时间。,顺序图的符号(续),激活 在生命线上的窄矩形条被称为激活(activation).激活表示该对象正在执行某个操作。激活矩形的长度表示出激活的持续时间,顺序图顺序图的定义顺序图的符号顺序图的消息顺序图的其他技术帧化顺序图顺序图的建模方法协作图协作图的定义协作图的符号协作图的消息协作图的建模方法,第四章 顺序图和协作图,顺序图的符号(续),消息 消息用来说明顺序图中不同活动对象之间的通信。它可在一个对象需要取消不同对象的进程时
4、或者需要向另一个对象提供服务时,使用消息。消息从活动对象生命线到接收对象生命线的箭头表示。箭头上面标记要发送的消息,如下图所示。,顺序图的符号(续),消息的限定 消息可以包含条件以便限制它们只在满足条件时才能发送。条件显示在消息名称上面的方括号中。右图示例演示了如何建立一个顺序图来显示登录尝试。如果登录失败,会在放弃登录之前重试一次,如下图所示。,顺序图的符号(续),在UML中,总共有4种消息,如下图所示。,消息的种类,顺序图的符号(续),(1)同步消息 同步消息(synchronous message)代表一个操作调用的控制流。同步消息的发送者把控制传递给消息的接收者,然后暂停活动,等待消息
5、接收者的应答,收到应答后才继续自己的操作。,顺序图的符号(续),同步消息,顺序图的符号(续),(2)异步消息 异步消息(Asynchronous message)用于控制流在完成前不需要中断的情况。异步消息的发送者把控制传递给消息的接收者,然后继续自己的活动,不需等待接收者返回信息或控制。下面示例演示了如何在登录文件的情况下使用异步消息。,顺序图的符号(续),异步消息,顺序图的符号(续),(3)简单消息 如果所有的消息都是同步或者异步消息,那么为什么还要简单消息呢?因为有时候我们不关心消息是同步还是异步,此外在高层分析中,有时候没有必要指定一个消息是同步的还是异步的。如下面的示例所示。,顺序图
6、的符号(续),简单消息,顺序图的符号(续),(4)返回消息 返回消息(return message)表示从过程调用返回.如果是从过程调用返回,则返回消息是隐含的,所以返回消息可以不用画出来.对于非过程调用,如果有返回消息,必须明确表示出来.,顺序图的符号(续),返回消息,顺序图顺序图的定义顺序图的符号顺序图的消息顺序图的其他技术帧化顺序图顺序图的建模方法协作图协作图的定义协作图的符号协作图的消息协作图的建模方法,第四章 顺序图和协作图,1.创建对象 创建对象的标记符如下图中的示例所示。有一个主要步骤用来把“create”消息发送给对象实例。对象创建之后就会具有生命线,就像顺序图中的任何其他对象
7、一样。现在可以像顺序图中的其他对象那样来使用该对象发送和接收消息。在处理新创建的对象,或者处理顺序图中的任何其他对象时,都可以发送“destroys”消息来删除对象。若要想说明某个对象被销毁,需要在被销毁对象的生命线上放一个X字符。,顺序图的其他技术,顺序图的其他技术,创建对象,顺序图的其他技术,2.分支和从属流 有两种方式来修改顺序图的控制流:使用分支和使用从属流。这两种方式很相似,各自的标记符略微不同。控制流的改变是由于不同的条件导致控制流走向不同的道路。,顺序图的其他技术,分支允许控制流走向不同的对象,如下图所示。,顺序图的其他技术,注意消息的开始位置是相同的,分支消息的结束“高度”也是
8、相等的。这说明在下一步中,其中之一将会执行,如下图所示。,顺序图的其他技术,从属流还允许控制流根据条件改变,但是只允许控制流改变为相同对象的另一条生命线分支,如下图所示。,顺序图的其他技术,在下面的示例中,Editor在用户删除文件或者保存文件时向Filesystem发送一条消息。显然,Filesystem将会执行两种完全不同的活动,并且每一个工作流都需要独立的生命线,如下图 所示。,顺序图的其他技术,练习:阅读一个顺序图 阅读下图所示的顺序图,该图说明了开发者编译应用程序的步骤。在阅读顺序图时,请指出我们到目前为止已经学习过的标记符组件。练习步骤 1)指出顺序图中的参与者和对象。2)指出出错
9、处理发生的位置。3)按照控制流的顺序指出各个消息。,顺序图顺序图的定义顺序图的符号顺序图的消息顺序图的其他技术帧化顺序图顺序图的建模方法协作图协作图的定义协作图的符号协作图的消息协作图的建模方法,第四章 顺序图和协作图,帧是UML2.0对顺序图新增内容之一,一旦被包含在一个帧里,UML图就可以放在另外的帧或图里,从而实现UML图的重用.帧化一个顺序图的方法:用一个边框包围它并在左上角添加一个间隔区。这个间隔区包含了识别该顺序图的信息。,帧化顺序图,间隔区其中的一小段信息是操作符,就是描述了帧中的图的类型的表达式。对于一个顺序图,操作符是sd(sequence diagram)。图9.17展示了
10、按照UML2.0风格帧化的一般顺序图。除了操作符,间隔区还包含了图所描述的交互的名字。,帧化顺序图,帧化顺序图,交互事件 如果为一个用例的多个场景创建实例顺序图,你会注意到图和图之间的相当一部分内容是重复的。帧化的方法使用户能够在一张顺序图中快速容易地复用另一张顺序图的部分内容。方法是先在一部分图的周围绘制一个帧,标记出帧的隔离区,然后只要把带有标记的帧(不需要绘制消息和生命线)插入到一个新图中就可以复用了。这个特定的帧化的部分叫做交互事件(interaction occurrence),它的操作符是ref。,帧化顺序图,下图展示了对最理想情况的场景的帧化。帧化的部分是处理饮料分发的交互事件。
11、后图展示了如何在“需要找零钱”的场景中复用这个交互事件。,帧化顺序图,交互片段的组合 交互事件是交互片断(interaction fragment)的一种特殊情况。交互片断是UML2.0中对一个顺序图的某一段的更一般称呼。可以用多种方式来组合交互片断。操作符表示了不同的组合类型。为了表示这种组合,将整个片断帧化,再用一条虚线表示邻接交互片断的边界。广泛使用的组合类型有两种,这两种类型的操作分别被标注为alt和par操作符。在alt组合中,每个片段都是一种可选情况,只能在一定的条件下执行。保护条件指明了哪一个片断将会执行。下图展示一般顺序图中这种类型的组合。,帧化顺序图,在par组合中,组合片段
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 统一 建模 语言 顺序 和协 作图

链接地址:https://www.31ppt.com/p-5398343.html