体系结构第8章

体系结构第8章

ID:21747161

大小:219.50 KB

页数:38页

时间:2018-10-24

体系结构第8章_第1页
体系结构第8章_第2页
体系结构第8章_第3页
体系结构第8章_第4页
体系结构第8章_第5页
资源描述:

《体系结构第8章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第八章顺序图状态图的焦点是对象的状态。这只是图片的一小部分。UML顺序图更进一步显示出随着时间的变化对象之间是如何通信的。本章有以下几个部分:●什么是顺序图。●运用顺序图。●实例图和一般图。●使用“if”和“while”。●在序列中创建对象。●自身调用的表示。前一章学的状态图是对单个对象的“放大”。它说明了对象所经历的状态变化。UML还可让你放大视野,显示出一个对象如何与其他对象交互。在这个“放大”了的视野中,要包括重要的一个要素:时间。顺序图的关键思想是对象之间的交互是按照特定的顺序发生的,这些按特定顺序发生的交互序列从开始到结束需要一定的时间。当建立一个系统时,必须要指明

2、这种交互序列,顺序图就是用来完成这项工作的UML组件。8.1什么是顺序图顺序图由采用通常方式表示的对象组成:对象用矩形框表示,其中是带下划线的对象名:消息用带箭头的实线表示;时间用垂直虚线表示。8.1.1对象对象从左到右布置在顺序图的顶部。布局以能够使图尽量简洁为准。从每个对象向下方伸展的的虚线叫做对象的生命线(lifeline)。在生命线上的窄矩形条被称为激活。激活表示该对象正在执行某个操作。激活矩形的长度表示出激活的持续时间。下图显示了对象、生命线和激活的表示法。8.1.2消息一个对象到另一个对象的消息用跨越对象生命线的消息线表示。对象还可以发送消息给它自己——也就是说,

3、消息线从自己的生命线出发又回到自己的生命线。消息可以是简单的(simple)、同步的(synchronous)或异步的(asynchronous)。简单消息是从—个对象到另一个对象的控制流的转移。如果一个对象发送了—个同步消息,那么它要等待对方对消息的应答,收到应答后才能继续自己的操作。而发送异步消息的对象不需要等待对方的应答便可以继续自己的操作。在顺序图中,简单消息是—个简单箭头,同步消息是实心箭头。异步消息是—个半边箭头,如下图所示。8.1.3时间顺序图中垂直方向代表时间维,时问流逝的方向为自顶向下。靠近顶部的消息发生的时间要比靠近底部的消息早。因此,顺序图是两维的。自左

4、至右的维数代表对象的布局,自顶向下的维数代表时间的流逝。下图说明了顺序图的基本图符集。对象横放在图的项部。每个对象的生命线都是一条从对象向下的虚线。图中的实线与箭头连接另一条生命线并代表对象之间相互发送的消息。人形表示—个参与者,他发起了序列。但严格地讲,参与者的图标不属于顺序图图符集。8.2图形用户界面GUI上一章普介绍了一个图形用户界面的状态图。现在将绘制它的顺序图来说明GUI对象和其他对象之间的交互。8.2.1交互序列假设用户在键盘上按下了一个字母数字键。如果用户使用类似于word这样的字处理软件,那么相应的字母字符就立刻在屏幕上显示出来。那么屏幕后面发生了什么呢?1.

5、GUI将击键事件通知给操作系统。2.操作系统接着通知CPU。3.操作系统更新GUI。4.CPU又通知图形卡。5.图形卡向显示器发送一个显示消息。6.显示器将字母字符显示在屏幕上,给用户提供了图形化的反馈信息。8.2.2顺序图下图是反映GUI的顺序图。可以看到,图中的消息都是异步的:各个软件构件都不等待应答消息就可以继续工作。如果你使用过Windows应用程序,那么就可能体会过异步通信的效果,持别是在速度较慢的机器上工作时更是如此。例如当你使用字处理软件时,敲进了一个字符,有时敲到后面的键时前面敲的字符才显示在屏幕上。有时在顺序图中画出一个或者多个对象的状态很有意义。因为上一章

6、已经分析过GUI的状态,因此很容易把分析结果加到现在的顺序图中。下图是一个GUI混合图——带有状态的顺序图。注意,顺序图起始和终止于GUI的working(工作)状态。8.2.3用例顺序图到底是说明什么的图呢?在上面的例子中,顺序图说明的是在一个简单场景(用户击键)中对象之间的交互——用户按一个键。这个场景可以是一个用例的一部分,该用例叫做“Performakeystroke(执行一次击键)”,如下图所示。因此顺序图可以描述一个用例中的系统交互,它实际上是用例在实际系统中的“映像”。在下面的例子中,将更细致地考察用例和顺序图之间的关系。8.3饮料自动销售机:实例顺序图和一般顺

7、序图8.3.1实例顺序图在用例“Buysoda”的“理想”场景中,参与者是想要买一罐饮料的顾客。顾客向机器中投入钱币从而发起了这个场景。然后顾客选择所需要的饮料。因为我们现在考虑的是理想情况下的场景,所以机器中应当至少存有一罐顾客所选择品牌的饮料并提供顾客。假设在饮料销售机中有3个对象来做上述工作:前端(Front)(它是饮料销售机与顾客之间的接口),钱币记录仪(Register)(它负责收集顾客投的钱币),以及分配器(Dispenser)。我们还假设钱币记录仪控制分配器对象。那么对象之间的交互序列可能

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。