状态图复习幻灯片

上传人:F****n 文档编号:88160394 上传时间:2019-04-20 格式:PPTX 页数:45 大小:339.63KB
返回 下载 相关 举报
状态图复习幻灯片_第1页
第1页 / 共45页
状态图复习幻灯片_第2页
第2页 / 共45页
状态图复习幻灯片_第3页
第3页 / 共45页
状态图复习幻灯片_第4页
第4页 / 共45页
状态图复习幻灯片_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《状态图复习幻灯片》由会员分享,可在线阅读,更多相关《状态图复习幻灯片(45页珍藏版)》请在金锄头文库上搜索。

1、第七讲 状态图,唐姗 计算机与信息学院,状态图(Statechart Diagram),状态图是UML中对系统的动态行为进行建模的图形之一 状态图是系统分析的一种常用工具,它通过建立对象的生存周期模型来描述对象随时间变化的动态行为,2,状态机,一个状态图本质上就是一个状态机 状态机可表现对象响应事件所经历的状态序列以及伴随的动作 在计算机科学中,状态机的使用非常普遍 在编译技术中通常用有限状态机描述词法分析过程 在操作系统的进程调度中,通常用状态机描述进程的各个状态之间的转化关系 UML用状态机对软件系统的动态特征建模,3,状态图,一个状态图主要用于表现从一个状态到另一个状态的控制流 状态图不

2、仅可以展现一个对象拥有的状态,还可以说明事件(如消息的接收、错误、条件变更等)如何随着时间的推移来影响这些状态 组成UML的图形元素有:状态、转换、初始状态、终结状态和判定等,4,状态(State) 表示一个模型在其生存期内的状况,如满足某些条件、执行某些操作或等待某些事件。一个状态的生存期是有限的一个时间段 转换(Transition) 表示两个不同状态之间的联系,事件可以触发状态之间的转换 事件(Event) 是在某个时间产生的,可以触发状态转换,如信号、对象的创建和销毁、超时和条件的改变等 活动(Activity) 是状态机中进行的一个非原子的执行,由一系列动作组成 动作( Action

3、 ) 是一个可执行的原子计算,它导致状态的变更或者返回一个值,5,对象:货物 状态:未付款,对象:小轿车 状态:静止不动,对象:机器的引擎 状态:高速运转,对象:Tom 状态:未婚,已付款,行驶,静止不动,已婚,6,状态举例,状态的表示,状态由一个带圆角的矩形表示。状态图标可以分为三部分:,7,名称 内部转换 嵌套状态,转换的表示,转换用带箭头的直线表示,一端连接源状态,即转出的状态,箭头一端连接目标状态,即转入的状态 转换可以标注与此转换相关的选项,如事件、动作和监护条件 如果转换上没有标注触发转换的事件,则表示此转换为自动进行,8,初始状态、终止状态,初始状态代表状态图的起始位置,只能作为

4、转换的源,而不能作为转换的目标 初始状态在一个状态图中只允许有一个 终止状态是模型元素的最后状态,是一个状态图的终止点 终止状态只能作为转换的目标,而不能作为转换的源 终止状态在一个状态图中可以有多个,9,判定的表示,判定在状态图中处在这样一个位置:工作流在此处按监护条件的取值而发生分支 判定用空心小菱形表示 因为监护条件为布尔表达式,所以通常条件下的判定只有一个入转换和两个出转换。根据监护条件的真假可以触发不同的分支转换,10,一个简单的状态图,11,12,13,组成状态,除了包括简单状态以外,还有一种可以包含嵌套子状态的状态,称为组成状态 通过“或”关系分解为顺序子状态 使用“与”关系分解

5、为并发子状态,14,IC Card Certification: IC卡验证状态 Ring:拨号状态 Connecting:连接状态 Talking:通话状态 Hung Up:挂断状态, 顺序子状态,15,Running:运行状态 Forward:前进状态 Backward:后退状态 High Speed:高速行驶状态 Low Speed:低速行驶状态, 并发子状态,16,历史状态,历史状态代表上次离开组成状态时的最后一个活动子状态,它用一个包含字母“H”的小圆圈表示 每当转换到组成状态的历史状态时,对象便恢复到上次离开该组成状态时的最后一个活动子状态,并执行入口动作,17,18,事件可以是:

6、 对象之间发送的信号 某些值的改变 一个时间段的终结 任何影响对象的事物都可以是事件,事件,19,入口事件,入口事件表示一个入口的动作序列,它在进入状态时执行 入口事件通常用来进行状态所需要的内部初始化,20,出口事件,出口事件表示一个出口的动作序列,它在退出状态时执行 当出现代表错误情况的高层转换使嵌套状态异常终止时,出口事件特别有用,21,动作事件,动作事件也称为“do事件”,它表示对一个嵌套状态机的调用 与动作事件相关的活动必定引用嵌套状态机,而非引用包含它的对象的操作,22,信号事件,信号的接收是信号接受对象的一个事件 信号分为异步单路通信和双路通信 在异步单路通信中,发送者是独立的

7、在双路通信模型中,至少在每个方向上都要有一个信号,这就是所谓的多信号 在信号事件中,发送者和接受者可以是同一个对象,23,调用事件,调用事件是一个对象对调用的接收 调用事件至少涉及两个以上的对象 调用事件既可以为同步调用,也可以为异步调用,24,修改事件,修改事件依靠特定属性值的布尔表达式所表示的条件的满足来触发状态的转换 监护条件与修改事件的区别: 监护条件只是在引起转换的触发器事件触发时和事件接收者对事件进行处理时被赋值一次 修改事件则可以被多次赋值直到条件为真,多次赋值满足条件后转换也会被激发,25,时间事件,时间事件代表时间的流逝 时间事件既可以被指定为绝对形式(天数),也可以被指定为

8、相对形式(从某一指定事件发生开始所经历的时间),26,延迟事件,延迟事件是在本状态不处理,要推迟到另外一个状态才处理的事件 如果一个转换依赖一个存在于内部延迟事件队列中的事件,则事件立即触发转换 如果存在多个转换,则内部延迟事件队列中的第一个事件将有优先触发相应转换的权利,27,转换表示当一个特定事件发生或者某些条件得到满足时,一个源状态下的对象在完成一定的动作后将发生状态转变,转向另一个称之为目标状态的状态 转换进入的状态为活动状态 转换离开的状态变为非活动状态,转换,28,外部转换,外部转换是一种改变对象状态的转换,是最常见的一种转换 外部转换用从源状态到目标状态的箭头表示,火车卫生间状态

9、图,29,内部转换,内部转换有一个源状态但是没有目标状态,它转换后的状态仍旧是它本身 内部转换的激发规则和改变状态的外部转换的激发规则相同 内部转换用于对不改变状态的插入动作建立模型,如建立帮助信息,30,完成转换,完成转换又称为自转换 完成转换是因为没有标明触发器事件的转换是由状态中的活动的完成引起的,是自然而然地完成的转换 完成转换也可以带一个监护条件,这个监护条件在状态中的活动完成时被赋值,而非活动完成后被赋值,31,内部转换和自转换(完成转换)区别: 自转换是离开本状态后重新进入该状态,它会激发状态的入口动作和出口动作的执行 内部转换自始至终都不离开本状态,所以没有出口或入口事件,也就

10、不执行入口和出口动作,32,复合转换,复合转换由简单转换组成,这些简单转换通过分支和合并组合起来 除了两个分支的判定,还有多条件的分支判定 多条件的分支判定有分为链式分支和非链式分支,33,链式分支:,非链式分支:,34,源状态,在转换被激发之前,对象所处的状态就是转换的源状态 源状态就是被转换影响的状态 一个转换可以有多个源状态,这表示状态机所在对象中的多个控制流在转换发生时会合成一个控制流 在UML中,多源状态的转换通常使用活动图表示,35,目标状态,转换完成后,对象状态发生了变化,这时对象所处的状态就是转换的目标状态 一个转换可以有多个目标状态,这表示状态机所在的对象在转换被激活的时刻一

11、个控制流分解为多个控制流 在UML中,多目标状态的转换通常使用活动图表示,36,触发事件,触发事件是能够引起状态转换的事件 触发事件可以是信号、调用、时间段等 一个信号或调用可以带有参数,参数值可以由监护条件和动作的表达式的转换得到,37,监护条件,监护条件是触发转换必须满足的条件,它是一个布尔表达式 监护条件只能在触发事件发生时被赋值一次,如果在转换发生后监护条件才由假变为真,那么转换也不会被触发 从一个状态引出的多个转换可以有同样的触发器事件,但是每个转换必须具有不同的监护条件,38,动作,动作是一组可执行语句或者计算处理过程 动作可以包括发送消息给另一个对象、操作调用、设置返回值、创建和销毁对象等 动作是原子的,不可中断的,动作或动作序列的执行不会被同时发生的其他动作影响或终止 整个系统可以在同一时间执行多个动作,39,建模步骤: 找出适合用模型描述其行为的类 确定对象可能存在的状态 确定引起状态转换的事件 确定转换进行时对象执行的相应动作 对建模的结果进行相应的精化和细化,状态图建模技术,40,使用Rational Rose绘制状态图的步骤: 创建状态图 加入初始状态和终止状态 增加状态 增加转换 增加历史状态,图书馆管理系统的状态图,41,书的状态图,42,借阅者帐户的状态图,43,完成电梯的状态图,思考,44,45,questions & answers,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号