- 23
- 0
- 约4.03千字
- 约 19页
- 2016-04-23 发布于天津
- 举报
第5章顺序图
* 第5章 顺序图 用例图描述了系统必须做什么;类图描述了组成系统结构各部分的各种类型(是什么)。还缺少一部分内容,因为单凭用例和类还无法描述系统实际上将如何运作。为了满足这方面的要求,这就需要使用交互图,特别是顺序图。 顺序图作为交互图的重要成员,它描述了系统运行时各对象之间如何进行交互。除顺序图外,UML2.0中的交互视图还包括:通信图和时序图。使用这几种图可以帮助用户准确地为组成系统各部分之间如何交互建模。 交互图包括顺序图和通信图,时序图,其中顺序图应用最为广泛。 * 本章学习要点: 理解为什么要建模顺序图 理解协作图的作用 了解顺序图的组成 了解顺序图中的消息类型 能够用顺序图建模创建对象和迭代 理解消息的控制,并能够使用条件控制消息 理解消息中的参数 理解顺序图中的顺序片段 建造简单的顺序图 * 5.1 定义顺序图 顺序图描述了对象之间传递消息的时间顺序,它用来表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。它着重显示了参与相互作用的对象和所交换消息的顺序。 顺序图代表了一个相互作用、在以时间为次序的对象之间的通讯集合。不同于协作图,顺序图包括时间顺序但是不包括对象联系。它可以以描述形式存在,也可以以实例形式存在。顺序图和协作图表达了相似的信息,但是它们以不同的方式显示。 顺序图的主要用途之一是为用例建造逻辑模型。 用例常常被细化为一个或更多的顺序图。 * 5.2 顺序图的组成 顺序图主要有4个标记符:对象、生命线、消息和激活。在UML中,顺序图用一个二维图描述系统中各个对象之间的交互关系。其中,纵轴是时间轴,时间沿竖线向下延伸。横轴代表了参与相互作用的对象。当对象存在时,生命线有一条虚线表示,当对象的过程处于激活状态时,生命线是一双道线。消息用从一个对象到另一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列,如图5-1所示。从该图容易看出,顺充图清楚地描述了随时间顺序推移的控制流轨迹。 5.2.1 对象与生命线 类定义了对象可以执行的各种行为,但是在面向对象的系统中,行为的执行者是对象,而不是类,因此协作图通常描述的是对象层次而不是类层次。对象可以是系统的参与者或者任何有效的系统对象。 顺序图中的每个对象显示在单独的列里。一个对象标识符(带有对象名称的矩形框)放置在代表生成这个对象的消息的箭头的末端,其垂直位置表示这个对象第一次生成的时间。如果一个对象在顺序图的第一个操作之前就存在,对象标记符就应画在任何消息之前顺序图的顶部。 将对象置于顺序图的顶部意味着在开始的时候对象就已经存在。与此相反,如果对象的位置不在顶部,那么表示对象是在对象的交互过程中,由其他对象创建。 对象在垂直方向上拖出的长虚线称为生命线,生命线表现了对象存在的时段。 5.2.2 消息 在任何一个软件系统中,对象都不是孤立存在的,它们之间通过消息进行通信。消息是用来说明顺序图中不同活动对象之间的通信,因此,消息可以激发某个操作、创建或解构某对象。在顺序图中,消息是从一对象的生命线指向另一个对象的生命线的直线箭头来表示,箭头上面还可以表明要发送的消息名。在各对象间,消息发送的次序由它们在垂直轴上的相对位置决定。如图所示,发送消息2的时间是在发送消息1之后。 阅读一个顺序图需要沿着时间线传递消息流,通常从最顶层的消息开始。 * 在UML中,消息可以包含条件以将消息发送给顺序图中的任何参与者或者对象。 UML中共有四种类型的消息:同步消息、异步消息、简单消息和返回消息。 同步消息假设有一个返回消息,在发送消息的对象进行另一个活动之前需要等待返回的回应消息;(P93) 异步消息表示发送的对象不用等待回应的返回消息,即可开始另一个活动。 简单消息是在同步消息和异步消息之间没有区别的消息。 返回消息是指对发送消息的一方的回应。是顺序图的一个可选择部分。如果需要较好的具体化,返回消息是有用的;否则,主动消息就够了。 * 5.2.3 激活 * 当一条消息被传递给对象的时候,它会触发该对象的某个行为,这时就说该对象被激活了。在生命线上,激活用一个细长的矩形框表示。如图所示,矩形本身被称为对象的控制期,控制期说明对象正在执行某个动作。 5.3 创建对象和分支、从属流 到目前为止,顺序图中的对象在创建顺序图都已经创建好的。事实上,顺序图中的对象并不一定需要在顺序图的整个交互期间存活,对象可以根据传递进来的消息创建或销毁。在本节将学习如何在创建顺序图的过程中创建对象,以及使用分支和从属流来控制顺序图的控制流。 * 5.3.1 创建对象 对象的创建有几种情况,在前面讲述对象生命线时,
原创力文档

文档评论(0)