[理学]第10章 状态机图.ppt

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

第10章 状态机图 目录 第10章 状态机图 状态图描述从状态到状态的控制流程,常用来对系统的动态特怔进行建模。在大多数情况下,它用来对反应型对象(外部事件触发对象,对象接受到事件后产生响应)的行为模型。 10.1 状态机图的概念 1.状态机图 状态机图描述对象在整个生命周期内,在外部事件的作用下,从一种状态转换到另一种状态的关系图。这种图的节点是状态(包括初始状态和终止状态),关系是转换。图10-1是一个典型的状态机图。 10.1 状态机图的概念 2.状态机图的作用 状态机图常用来描述业务或软件系统中的对象在外部事件的作用下,对象的状态从一个状态到另一个状态的控制流。利用状态图可以精确地描述对象在生命周期内的行为特征。 3.状态机图的组成元素 状态机图的组成元素包括:初始状态、终止状态、状态、转换。其中,转换将各种状态连接在一起,构成一个状态图。 4.状态机 在整个生命周期内,描述对象处于各种状态的图,该图必须完整包括:初始状态、终止状态、状态、转换。状态图不一定完整包含初始状态、终止状态、状态、转换等状态 。 10.2 状态图的表示 一个状态图包含的元素有初始状态、终止状态、状态、转换、分支。下面分别描述元素的语义和表示方法。下面分别描述每个元素的表示法。 10.2.1 状态的表示 1.初始状态 初始状态代表状态图的起始位置,只能作为转换的源,而不能作为转换的目标。初始状态在一个状态图中只允许有一个,它用一个实心的圆表示,如下图所示。 2.终止状态 终止状态是对象的最后状态,是一个状态图的终止点。终止状态只能作为转换的目标,而不能作为转换的源。终止状态在一个状态图中可以有多个,它用一个套有一个实心圆的空心圆表示。如下图所示。 10.2 状态图的表示 3.状态 对象属性值的集合标识了一个对象的状态。表示对象状态的图标由一个带圆角的矩形表示。它包含个三部分: 10.2 状态图的表示 名称:给对象所处状态取的名字,名字用一个字符串表示,在一个图中,名字应该是唯一的。 内部转换:对象响应外部事件所执行的动作。内部转换发生时,不改变对象的状态,但是,当进入该状态时,可以包含进入动作;当退出该状态时,可以包含退出动作。我们把内部转换标识在状态框的第二栏;用一条实线箭头来标识外部转换,外部转换是指一种状态到另一种状态的转换。 嵌套状态 :状态图中的状态可以包含两种状态:一种是简单状态,简单状态不包含其它状态;一种是组合状态,组合状态包含了子状态。即状态图的某些状态本身也是状态图。 10.2 状态图的表示 10.2.2 转换的表示 转换是指对象在外部事件的作用下,当满足特定的条件时,对象执行一定的动作,进入目标状态。转换用带箭头的直线表示,箭尾连接源状态(转出的状态),箭头连接目标状态(转入的状态)。 转换关系到的内容包括:源状态、目标状态、外部事件、监护条件和执行的动作。下图描述了烧水器的状态图。 注意:用实线箭头表示的转换都是外部转换。 1.源状态 对于一个转换来说,转换前对象所处的状态,就是源状态。源状态是个相对的概念,即,相对当前状态而言,它的前一个状态就是源状态。 10.2 状态图的表示 2.目标状态 转换完成后,对象所处的状态就是目标状态 。当前状态相对它的前一个状态而言,当前状态就是目标状态。源状态和目标状态都是相对某个转换而言的。 3.事件 事件就是外部作用于一个对象,能够触发对象状态改变的一种现象。事件可以分为调用、改变、信号、时间四类事件。 1).信号事件 对象之间通过发送信号和接收信号实现通信。信号是一种异步机制。在计算机中,鼠标和键盘的操作均属于此类事件。对于一个信号而言,对象一般都有相应的事件处理器,如onMouseClick()等。 2).调用事件 调用某个对象的成员方法就是调用事件,它是一种同步的机制。例如在图10-5中,turnOn就是一种调用事件,用来将开关置于“On”状态。 10.2 状态图的表示 3).改变事件 改变事件是指某个指定属性值为真时,事件得到触发。它与监护条件不同,在对象生命周期内,一直在计算改变事件中的属性值,当属性值为真时,事件触发,计算停止。 4).时间事件 当时间流逝到某个时刻,触发事件对对象起作用。时间事件代表时间的流逝。它可以指定为绝对形式(每天的某时,例如after(12:00)),也可以指定为相对形式(从某一指定事件发生开始所经过的时间,例如after(2seconds))。对于前一种形式,也可以使用变化事件来描述:when(12:00)。 10.2 状态图的表示 5).延迟事件 延迟事件是指对象处在在本状态时外部事件产生了,但没有执行事件,要推迟到另外一个状态才执行的事件。例如,当E-mail程序中正在发送第一封邮件时,

文档评论(0)

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

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

1亿VIP精品文档

相关文档