第10章 状态机图ppt课件.ppt
《第10章 状态机图ppt课件.ppt》由会员分享,可在线阅读,更多相关《第10章 状态机图ppt课件.ppt(46页珍藏版)》请在三一办公上搜索。
1、第10章 状态机图,2,对象和状态,对象是某个状态下的对象,而状态则是描述当前对象。所有的对象均有状态,状态可改变下面一些例子说明了对象和状态(1)支票(对象)已付(状态)(2)汽车(对象)已启动(状态)(3)小王(对象)睡着了(状态)(4)小红(对象)未婚(状态),2,3,为什么要建模状态机图,对象可能会有不同的状态,某些行为依赖于这些状态。例如,按下开关按钮时,电灯将改变当前的状态(由关变开或由开变关),因此:需要记录对象当前的状态发生了某种事件才会引起状态间的转移由一个状态转到另一个状态的过程通常通过方法调用实现 状态机图通常作为对类图的补充,面向对象分析与设计&UML,4,状态机图:电
2、梯,状态机图主要显示以下3种内容: 对象在生命周期中所经历的状态序列; 诱发对象从一个状态转移到另一个状态的事件; 状态改变所导致的动作。,状态机图的概念,状态机图描述对象在整个生命周期内,在外部事件的作用下,从一种状态转换到另一种状态的关系图。这种图的节点是状态(包括初始状态和终止状态),关系是转换。,状态机图的概念,状态机图的作用状态机图常用来描述业务或软件系统中的对象在外部事件的作用下,对象的状态从一个状态到另一个状态的控制流。利用状态机图可以精确地描述对象在生命周期内的行为特征。 状态机图的组成元素状态机图的组成元素包括:初始状态、终止状态、状态、转换。其中,转换将各种状态连接在一起,
3、构成一个状态机图。状态机在整个生命周期内,描述对象处于各种状态的图,该图必须完整包括:初始状态、终止状态、状态、转换。状态机图不一定完整包含初始状态、终止状态、状态、转换等状态 。,7,状态机图的基本符号,状态机图的表示,一个状态机图包含的元素有初始状态、终止状态、状态、转换、分支。状态的表示初始状态初始状态代表状态机图的起始位置,只能作为转换的源,而不能作为转换的目标。初始状态在一个状态机图中只允许有一个,它用一个实心的圆表示。终止状态终止状态是对象的最后状态,是一个状态机图的终止点。终止状态只能作为转换的目标,而不能作为转换的源。终止状态在一个状态机图中可以有多个,它用一个套有一个实心圆的
4、空心圆表示。,状态机图的表示,状态对象属性值的集合标识了一个对象的状态。表示对象状态的图标由一个带圆角的矩形表示。它包含三部分:,名称:给对象所处状态取的名字,名字用一个字符串表示,在一个图中,名字应该是唯一的。内部转换:对象响应外部事件所执行的动作。内部转换发生时,不改变对象的状态,但是,当进入该状态时,可以包含进入动作;当退出该状态时,可以包含退出动作。嵌套状态 :状态机图中的状态可以包含两种状态:一种是简单状态,简单状态不包含其它状态;一种是组合状态,组合状态包含了子状态。即状态机图的某些状态本身也是状态机图。,10,状态机图的表示,状态机图的表示,转换的表示转换是指对象在外部事件的作用
5、下,当满足特定的条件时,对象执行一定的动作,进入目标状态。转换用带箭头的直线表示,箭尾连接源状态(转出的状态),箭头连接目标状态(转入的状态)。转换关系到的内容包括:源状态、目标状态、外部事件、监护条件和执行的动作。下图描述了烧水器的状态机图。注意:用实线箭头表示的转换都是外部转换。,烧水器的状态机图,12,转换的五要素,源状态:即受转换影响的状态目标状态:当转换完成后对象的状态 触发事件:用来为转换定义一个事件,包括调用、改变、信号、时间四类事件监护条件:布尔表达式,决定是否激活转换、动作:转换激活时的操作,状态机图的表示,1源状态对于一个转换来说,转换前对象所处的状态,就是源状态。源状态是
6、个相对的概念,即,相对当前状态而言,它的前一个状态就是源状态。2.目标状态转换完成后,对象所处的状态就是目标状态 。当前状态相对它的前一个状态而言,当前状态就是目标状态。源状态和目标状态都是相对某个转换而言的。,状态机图的表示,3.事件事件就是外部作用于一个对象,能够触发对象状态改变的一种现象。1).信号事件对象之间通过发送信号和接收信号实现通信。信号是一种异步机制。对于一个信号而言,对象一般都有相应的事件处理器,如onMouseClick()。2).调用事件调用某个对象的成员方法就是调用事件,它是一种同步的机制。例如turnOn是一种调用事件,用来将开关置于“On”状态。3).改变事件指某个
7、指定属性值为真时,事件得到触发。与监护条件不同,在对象生命周期内,一直在计算改变事件中的属性值,事件触发,计算停止。4).时间事件当时间流逝到某个时刻,触发事件对对象起作用。例如,after(12:00),after(2seconds),when(12:00)。 5).延迟事件指对象处在在本状态时外部事件产生了,但没有执行事件,要推迟到另外一个状态才执行的事件。,状态机图的表示,4.监护条件监护条件是一个布尔表达式,当布尔表达式的值为真时,转换才能够完成。只有在触发事件发生时,才计算一次监护条件的值,当监护条件的值为真时,转换才发生。如果转换发生后,监护条件才由假变为真,那么转换也不会被触发。
8、,状态机图的表示,5动作当转换被激活后,如果定义了相应的动作,那么就将执行这个动作。动作可以是一个赋值语句、简单的算术运算、发送信号、调用操作、创建和销毁对象、读取和设置属性的值,甚至是一个包含多个动作的活动。例如,当turnOn事件发生,就测试监护条件有水,如果有水,就会执行“烧水”的动作。动作分为入口动作和出口动作。1).入口动作入口动作表示对象进入某个状态所要执行的动作。入口动作用“entry/要执行的动作”表示。2). 出口动作出口动作表示对象退出某个状态所要执行的动作。出口动作用“exit/要执行的动作”表示。,状态机图的表示,活动当对象处于一个状态时,它一般是空闲的,在等待一个事件
9、的发生。但是某些时间,对象正在执行一序列动作,即,对象做着某些工作,并一直继续到被某个外部事件的到来,才中断这些工作,我们把对象处于某个状态时进行的一序列动作称为活动。如果对象处于某个状态进行一些动作,可能会需要一些时间,我们可以用活动来描述这一序列动作。表示活动的方法是,在状态的转换分栏中添加一行“活动描述”,其格式为“do/动作名”。 活动用来描述对象处于某个状态时,对象进行的一序列动作。,状态机图的表示,理解简单状态机图例如,描述一个烧水器在工作时的行为状态变化。与状态off相关的转换有两个,其触发事件都是turnOn,只不过其监护条件不同。如果对象收到事件turnOn,那么将判断壶中是
10、否有水;如果没水,则仍然处于off状态;如果有水则转为on状态,并执行“烧水”动作与状态on相关的转换也有两个,如果“水开了”就执行turnOff动作,关掉开关;如果烧坏了,就进入了终态了,状态机图的表示,分支的表示对象在外部事件的作用下,根据监护条件的不同值,转向不同的目标状态。即,对象的状态根据监护条件的取值而发生分支。分支用空心小菱形表示。根据监护条件的真假可以触发不同的分支转换。,状态机图的表示,转换表示当一个外部事件作用于对象,在监护条件得到满足时,对象在源状态下执行一序列的动作后,转向目标状态。 转换进入的状态称为活动状态,转换离开的状态变变为非活动状态。 转换通常分为:外部转换内
11、部转换 自动转换 复合转换,转换的分类,1外部转换外部转换是一种改变对象状态的转换,是最常见的一种转换。外部转换用从源状态到目标状态的箭头表示。火车上卫生间的简单状态转换。该卫生间存在三个状态,包含5个外部转换。,转换的分类,2内部转换内部转换有一个源状态但是没有目标状态,它转换后的状态仍旧是它本身。内部转换自始至终都不离开源状态,所以没有入口动作和出口动作。因此,当对象处于某个状态,进行的一些动作时,我们可以把这些动作看成是内部转换。在第二栏,描述了入口动作和出口动作,也描述了内部转换,要注意的是,入口动作和出口动作描述的是外部转换时发生的动作;内部转换是描述本状态没有发生改变的情况下,发生
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第10章 状态机图ppt课件 10 状态机 ppt 课件

链接地址:https://www.31ppt.com/p-1428298.html