
状态机图
状态机图

课程内容 状态机图的概念 状态图的表示 3 转换的分类 状态的分类
课程内容 状态机图的概念 状态图的表示 转换的分类 1 2 3 4 状态的分类

冬对象既有行为又有状态,对象的行为由其状态决定 , 对象根据其状态的不同而产生不同的行为 冬为了描述对象在状态之间的转变过程中将产生什么 行为,要捕获对象所有可能发生的状态,需要全面 的分析该对象的所有可能的状态以及从一个状态过 渡到另一个状态的条件 状态图(State Diagram)特别适合为那些行为由其 状态决定的对象建模,它描述了一个对象可能处于 的各种不同状态以及这些状态之间的转移 UML的状态图是有效的基于对象状态的行为建模 工具
❖对象既有行为又有状态,对象的行为由其状态决定 ,对象根据其状态的不同而产生不同的行为 ❖为了描述对象在状态之间的转变过程中将产生什么 行为,要捕获对象所有可能发生的状态,需要全面 的分析该对象的所有可能的状态以及从一个状态过 渡到另一个状态的条件 ❖状态图(State Diagram)特别适合为那些行为由其 状态决定的对象建模,它描述了一个对象可能处于 的各种不同状态以及这些状态之间的转移 ❖UML的状态图是有效的基于对象状态的行为建模 工具

1、状态机图的概念 冬状态机图描述对象在整个生命周期内,在外部事 件的作用下,从一种状态转换到另一种状态的关 系图。这种图的节点是状态(包括初始状态和终止 状态),关系是转换。 事件1 冬状态机图的组成元素包 状态1 括:初始状态、终止状 事件2 entry/.动作1 态、状态、转换。其中 事件3监护条件] 状态2 ,转换将各种状态连接 exit/动作2 [监护杂件为真] [监护条件为假] 在一起,构成一个状态 状态3 状态4 图。 do/动作3 do/动作4
1、状态机图的概念 ❖状态机图描述对象在整个生命周期内,在外部事 件的作用下,从一种状态转换到另一种状态的关 系图。这种图的节点是状态(包括初始状态和终止 状态),关系是转换。 ❖状态机图的组成元素包 括:初始状态、终止状 态、状态、转换。其中 ,转换将各种状态连接 在一起,构成一个状态 图

2、状态图的表示 ·状态图由状态和转换组成,表达方式为: 状态图=状态+转换 State Diagram State Transitions 2.1状态的表示 2.1.1初始状态 冬初始状态代表状态图的起始位置,只能作为转换 的源,而不能作为转换的目标。初始状态在一个 状态图中只允许有一个,它用一个实心的圆表示
2、状态图的表示 ❖状态图由状态和转换组成,表达方式为: 状态图 = 状态 + 转换 State Diagram = State + Transitions 2.1 状态的表示 2.1.1 初始状态 ❖初始状态代表状态图的起始位置,只能作为转换 的源,而不能作为转换的目标。初始状态在一个 状态图中只允许有一个,它用一个实心的圆表示

2、状态图的表示 2.1.2终止状态 终止状态是对象的最后状态,是一个状态图的终 止点。终止状态只能作为转换的目标,而不能作 为转换的源。终止状态在一个状态图中可以有多 个,它用一个套有一个实心圆的空心圆表示。 2.1.3状态 状态是对象在它的生命周期中的某一时刻,对象 不仅在这一时刻具有某些特殊条件下产牛的状况 值,而且具有该状态决定的相 名称 UML用圆角矩形来表示状态 内部转换 嵌套状态图
2、状态图的表示 2.1.2 终止状态 ❖终止状态是对象的最后状态,是一个状态图的终 止点。终止状态只能作为转换的目标,而不能作 为转换的源。终止状态在一个状态图中可以有多 个,它用一个套有一个实心圆的空心圆表示。 2.1.3 状态 ❖状态是对象在它的生命周期中的某一时刻,对象 不仅在这一时刻具有某些特殊条件下产生的状况 值,而且具有该状态决定的相应的动作或活动。 ❖UML用圆角矩形来表示状态,它包含个三部分:

2、状态图的表示 冬名称:给对象所处状态取的名字,名字用一个字 符串表示,在一个图中名字应该是唯一的。 冬内部转换:对象响应外部事件所执行的动作。内 部转换发生时,不改变对象的状态,但是,当进 入该状态时,可以包含进入动作;当退出该状态 时,可以包含退出动作。把内部转换标识在状态 框的第二栏;用一条实线箭头来标识外部转换, 外部转换是指一种状态到另一种状态的转换。 嵌套状态:状态图中的状态可以包含两种状态: —i 种是简单状态,简单状态不包含其它状态; 种是组合状态,组合状态包含了子状态。即状态 图的某些状态本身也是状态图
2、状态图的表示 ❖名称:给对象所处状态取的名字,名字用一个字 符串表示,在一个图中名字应该是唯一的。 ❖内部转换:对象响应外部事件所执行的动作。内 部转换发生时,不改变对象的状态,但是,当进 入该状态时,可以包含进入动作;当退出该状态 时,可以包含退出动作。把内部转换标识在状态 框的第二栏;用一条实线箭头来标识外部转换, 外部转换是指一种状态到另一种状态的转换。 ❖嵌套状态:状态图中的状态可以包含两种状态: 一种是简单状态,简单状态不包含其它状态;一 种是组合状态,组合状态包含了子状态。即状态 图的某些状态本身也是状态图

2、状态图的表示 2.2转换的表示 转换是指对象在外部事件的作用下,当满足特定 的条件时,对象执行一定的动作,进入目标状态 。转换用带箭头的直线表示,箭尾连接源状态(转 出的状态),箭头连接目标状态(转入的状态)。 转换关系到的内容包括:源状态、目标状态、外 部事件、监护条件和执行的动作。 源状态 目标状态 触发事件 动作 Off turnOn[有水]/烧水 On 监护条件 转换
2、状态图的表示 2.2 转换的表示 ❖转换是指对象在外部事件的作用下,当满足特定 的条件时,对象执行一定的动作,进入目标状态 。转换用带箭头的直线表示,箭尾连接源状态(转 出的状态),箭头连接目标状态(转入的状态)。 ❖转换关系到的内容包括:源状态、目标状态、外 部事件、监护条件和执行的动作

2、状态图的表示 2.2.1源状态 冬对于一个转换来说,转换前对象所处的状态,就 是源状态。源状态是个相对的概念,即相对当前 状态而言,它的前一个状态就是源状态。 2.2.2目标状态 冬转换完成后,对象所处的状态就是目标状态。当 前状态相对它的前一个状态而言,当前状态就是 目标状态。源状态和目标状态都是相对某个转换 而言的
2、状态图的表示 2.2.1 源状态 ❖对于一个转换来说,转换前对象所处的状态,就 是源状态。源状态是个相对的概念,即相对当前 状态而言,它的前一个状态就是源状态。 2.2.2 目标状态 ❖转换完成后,对象所处的状态就是目标状态。当 前状态相对它的前一个状态而言,当前状态就是 目标状态。源状态和目标状态都是相对某个转换 而言的

2、状态图的表示 2.2.3事件 冬事件是外部作用于一个对象,能够触发对象状态 改变的一种现象。事件可以分为调用、改变、信 号、时间四类事件。 ·信号事件:对象之间通过发送信号和接收信号 实现通信。信号是一种异步机制。对于一个信 号而言,对象一般都有相应的事件处理器,如 onMouseClick()等。 o 1 调用事件:调用某个对象的成员方法就是调用 事件,它是一种同步的机制
2、状态图的表示 2.2.3 事件 ❖事件是外部作用于一个对象,能够触发对象状态 改变的一种现象。事件可以分为调用、改变、信 号、时间四类事件。 ◼ 信号事件:对象之间通过发送信号和接收信号 实现通信。信号是一种异步机制。对于一个信 号而言,对象一般都有相应的事件处理器,如 onMouseClick()等。 ◼ 调用事件:调用某个对象的成员方法就是调用 事件,它是一种同步的机制