华师大面向对象程序设计-Lec08_第5章顺序图讲述.ppt

华师大面向对象程序设计-Lec08_第5章顺序图讲述.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
华师大面向对象程序设计-Lec08_第5章顺序图讲述

* 第5章 顺序图 用例图描述了系统必须做什么;类图描述了组成系统结构各部分的各种类型。这缺少一部分内容,因为单凭用例和类还无法描述系统实际上将如何运作。为了满足这方面的要求,这就需要使用交互图,特别是顺序图。 顺序图作为交互图的重要成员,它描述了系统运行时各对象之间的如何进行交互。除顺序图外,UML2.0中的交互视图还包括:通信图和时序图。使用这几种图可以帮助用户准确地为组成系统各部分之间如何交互建模。 * 本章学习要点: 理解为什么要建模顺序图 理解协作图的作用 了解顺序图中的组成 了解顺序图中的消息类型 能够在顺序图建模创建对象和迭代 理解消息的控制,并能够使用条件控制消息 理解消息中的参数 理解顺序图中的顺序片段 建造简单的顺序图 * 5.1 定义顺序图 顺序图描述了对象之间传递消息的时间顺序,它用来表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。它着重显示了参与相互作用的对象和所交换消息的顺序。 顺序图代表了一个相互作用、在以时间为次序的对象之间的通讯集合。不同于协作图,顺序图包括时间顺序但是不包括对象联系。它可以以描述形式存在,也可以以实例形式存在。顺序图和协作图表达了相似的信息,但是它们以不同的方式显示。 * 5.2 顺序图的组成 顺序图主要有4个标记符:对象、生命线、消息和激活。在UML中,顺序图用一个二维图描述系统中各个对象之间的交互关系。其中,纵轴是时间轴,时间沿竖线向下延伸。横轴代表了参与相互作用的对象。当对象存在时,生命线有一条虚线表示,当对象的过程处于激活状态时,生命线是一双道线。消息用从一个对象到另一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列,如图5-1所示。从该图容易看出,顺充图清楚地描述了随时间顺序推移的控制流轨迹。 5.2.1 对象与生命线 类定义了对象可以执行的各种行为,从但是在面向对象的系统中,行为的执行者是对象,而不是类,因此协作图通常描述的是对象层次而不是类层次。对象可以是系统的参与者或者任何有效的系统对象。顺序图中的每个对象显示在单独的列里。一个对象标识符(带有对象名称的矩形框)放置在代表生成这个对象的消息的箭头的末端,其垂直位置表示这个对象第一次生成的时间。如果一个对象在顺序图的第一个操作之前就存在,对象标记符就应画在任何消息之前顺序图的顶部。将对象置于顺序图的顶部意味着在开始的时候对象就已经存在。与此相反,如果对象的位置不在顶部,那么表示对象是在对象的交互过程中,由其他对象创建。 5.2.2 消息 在任何一个软件系统中,对象都不是孤立存在的,它们之间通过消息进行通信。消息是用来说明顺序图中不同活动对象之间的通信,因此,消息可以激发某个操作、创建或解构某对象。在顺序图中,消息是从一对象的生命线指向另一个对象的生命线的直线箭头来表示,箭头上面还可以表明要发送的消息名。在各对象间,消息发送的次序由它们在垂直轴上的相对位置决定。如图所示,发送消息2的时间是在发送消息1之后。 * 5.3.3 激活 当一条消息被传递给对象的时候,它会触发该对象的某个行为,这时就说该对象被激活了。在生命线上,激活用一个细长的矩形框表示。如图所示,矩形本身被称为对象的控制期,控制期说明对象正在执行某个动作。 * 5.4 创建对象和分支、从属流 到目前为止,顺序图中的对象在创建顺序图都已经创建好的。事实上,顺序图中的对象并不一定需要在顺序图的整个交互期间存活,对象可以根据传递进来的消息创建或销毁。在本节将学习如何在创建顺序图的过程中创建对象,以及使用分支和从属流来控制顺序图的控制流。 * 5.4.1 创建对象 对象的创建有几种情况,在前面讲述对象生命线时,曾经说过,对象的默认位置在图的顶部,如果对象在这个位置上,那么说明在发送消息时,该对象就已经存在;如果对象在执行的过程中创建的,那么它应该处在图的中间部分。即时创建对象标记符如图中的示例所示。创建一个对象的主要步骤是发送一个create消息到该对象。对象被创建后就会有生命线,这与顺序图中的任何其他对象一样。创建一个对象后,就可以像顺序图中的其他对象那样来发送和接收消息。在处理新创建的对象,或顺序图中的其他对象时,都可以发送destroys消息来删除对象。要想说明某个对象被销毁,需要在被销毁对象的生命线上放一个X字符。 * 5.4.2 分支和从属流 有两种方式来修改顺序图的控制流:使用分支和使用从属流。控制流的改变是由于不同的条件导致控制流走向不同的道路。 分支允许控制流走向不同的对象。如图 * 5.5 建模时间 消息箭头通常是水平的,说明传递消息的时间很短,在此期间不会“发生”其他事件。

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档