文档详情

[体系结构第7章.ppt

发布:2017-01-02约7.16千字共34页下载文档
文本预览下载声明
* * 第七章 状态图 现在要开始学习的是如何随时间变化的UML动态元素。本章的主要内容是: ● 什么是状态图。 ● 事件、动作和监视条件。 ● 子状态:顺序的和并发的。 ● 历史状态。 ● 为什么状态图很重要。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 在前—章的最后曾提到,这一章要开始学习你在前面没有遇到过的另一类UML元素。这个新类被称为行为元素,它们能够展示UML模型部件如何随时间变化。事物的一个普遍的现象是随着时间的流逝,都要经历变化。任何计算机系统也是如此。当系统与用户(也可能是其他系统)交互的时候,组成系统的对象为了适应交互要经历必要的变化。如果要对系统建立模型,那么模型中必须要反映出这种变化。本章将学习这类元素中的一种:状态图。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 7.1 什么是状态图 一种表征系统变化的方法可以说成是对象改变了自己的状态(state)以响应事件和时间的流逝。下面是几个简单的例子: 当你拉下电灯的开关时,电灯改变了它的状态,由关变为开。 当你按下远程遥控器的调频按钮时,电视机的状态由显示一个频道的节目变为显示另一个频道的节目。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 经过一个适宜的时间后,洗衣机可以由洗涤变为漂洗状态。 UML状态图能够展示这种变化。它描述了一个对象所处的可能状态以及状态之间的转移,并给出了状态变化序列的起点和终点。 状态图也被引用为状态机(state machine)。 状态图与类图、对象图和用例图有着本质的不同。前面章节介绍过的这3种图能够对一个系统或者至少是一组类、对象或用例建立模型。而状态图只是对单个对象建立模型。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 通常状态名的首字母要大写,并且最好给状态一个以“ing”为结尾的名字。(例如“Dialing”、“Faxing”)。当然有时也无法起这样的名字(例如“Idle”)。 7.1.1 符号集 下图显示了圆角矩形代表一个状态,状态间带箭头的实线代表状态的迁移(转移)。箭头指向目标状态。图中的实心圆代表状态转移的起点,公牛眼形圆圈代表终点。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 7.1.2 在状态图标中增加细节 UML提供了在状态图标中增加细节的选项。类似于类的图标可以被分成3个区域(名字,属性和操作区域),你可以把状态图标也分成3个区域。最上面的区域保存状态名(不管分不分区都得有状态名),中间 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 区域保存状态变量,下面区域保存的是活动。下图说明了状态图标中的细节。 状态变量,像计时器或者计数器—样,有时很有用途。活动是由事件和动作组成:3个常用的事件和动作是入口动作(entry),即系统进入该状态时要发生的动作;出口动作(exit),即系统离开该状态时要 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2
显示全部
相似文档