第9章状态图和活动图.ppt
《第9章状态图和活动图.ppt》由会员分享,可在线阅读,更多相关《第9章状态图和活动图.ppt(87页珍藏版)》请在三一办公上搜索。
1、面向对象技术及UML教程,第9章 状态图和活动图,第9章 状态图和活动图,状态图和活动图是用来描述系统的动态行为特征的,主要用于描述事物的状态变化和处理过程。状态图(Statechart Diagram)是附加到类和用例的状态机图,描述对象响应外部激励时所经历的各种状态和转换。活动图(Activity Diagram)是一种描述系统行为的图,它用于展现参与行为的类所进行的各种活动的顺序关系。,9.1 状态图概述,状态机视图是一个类对象所可能经历的所有历程的模型图。状态机由对象的各个状态和连接这些状态的转换组成。状态机视图通过对类和对象的生存周期建立模型来描述对象随时间变化的动态行为。状态机主要
2、用于描述类的行为。状态机是一个类的对象所有可能的生命历程的模型。状态机是一个对象的局部视图。,9.1.1 状态机,9.1 状态图概述,状态图主要由起点、终点和状态组成,各状态由转移连接在一起。状态图适合于描述跨越多个用例的单个对象的行为。状态图由状态、事件和转换三个主要元素构成。,9.1.2 状态图概述,9.1 状态图概述,状态图与顺序图的区别顺序图不显示对象所有可能的动态行为,只显示特定交互场景(一个具体的用例)中对象的行为。状态图可以显示对象所有的动态行为。笔 完整 折断两种状态,是由谁折断?只能由顺序图看出,9.2 状态图元素,状态图元素起点终点状态事件转换符合状态和子状态,9.3 状态
3、图图符,常见图符,起点,状态,符合状态,终点,转换,注释体,注释连接,9.2 状态图元素,事件发生,执行某动作后,状态1转换为状态2,接到订单,记账,9.2 状态图元素,起点表示所有对象的源,起点不是一个标准的状态,因为在此状态中对象还不存在。,9.2.1 起点终点,终点表示素有对象生命周期的结束,终点也不是一个实际的状态,因为处于该状态的对象已经消亡。,9.2 状态图元素,初态 start state显示状态图中状态机执行(execution)的开始一个状态机只能有一个初态,因为每一个执行都是从相同的地方开始的。如果一个状态机用多张状态图描述,则多张图用一个初态,Rose中只允许画一个初态,
4、其它地方拖动使用嵌套状态中可以使用新的初态,9.2 状态图元素,终态 end state表示最后的或者终端状态;终态数目可以不确定,也可以没有。电扇 坏了/没坏,但拆下闲置,9.2 状态图元素,对象的状态始终是由其属性和关联决定 状态图中的状态表示的是给定类对象的一组属性值 状态图中状态用圆角矩形表示,9.2.2 状态,9.2 状态图元素,什么是状态(state)状态是指在对象的生命周期中满足某些条件、执行某些活动或等待某些事件时的一个条件或状况。万事俱备,只欠东风学生正在上课网络购物,订单等待处理,9.2 状态图元素,理解对象在任何时候都会处于某种状态中,所有对象都有状态对象所处的状态决定了
5、它如何响应所检测到的事件或所接收的消息。清醒(被批评)生气 醉酒(被批评)无反应通常,事件使对象从一个状态转向另一个状态(即状态的转换),9.2 状态图元素,CD Player,需要stop状态吗?,9.2 状态图元素,中间状态的组成(除初态终态外,最常见的状态)状态名(name)入口/出口动作(entry/exit action)内部转化(internal transition)子状态(substate)延迟事件(deferred event),9.2 状态图元素,状态详细描述,9.2.2 状态,9.2 状态图元素,状态名(name)是可以把该状态和其他状态区分开的字符串;状态也可能是匿名的
6、,即没有名称。,9.2 状态图元素,内部转换(internal transition)不导致状态改变的转换,不会执行entry和exit动作内部转换和自转换的区别:前门入口,后门出口 不出去,只在内部发生的转换内部转换 从后门出去,又从前门进来自转换,自转换会引起entry和exit动作的执行,9.2 状态图元素,子状态(substate)嵌套在另外一个状态中的状态空调:停止、运行状态,运行状态中可嵌套制 冷、制热、除湿等子状态,延迟事件(deferred event)是指在该状态下暂不处理,但将推迟到该对象的另一个状态下排队处理的事件,9.2 状态图元素,名字域,转换域,可选,当转入该状态时
7、,做开灯动作,当转出该状态时,做关灯动作,当处于该状态时,灯闪烁5次,当电源关闭事件发生时,用自备电源,当selfTest事件发生时,对象将延迟响应,到别的状态中再处理,用defer这个特定动作表示延迟,do活动是只在状态内出现的活动,不能附加到转换上。,内部转换,9.2 状态图元素,“事件”指发生在时间和空间某点上的且能够引起某些动作执行的事情 事件可以是内部事件也可以是外部事件 四类事件:调用事件信号事件改变事件时间事件,9.2.3 事件,9.2 状态图元素,信号signer事件所谓信号,是指由一个对象异步地发送,并由另外一个对象接收的一个已命名的对象。信号事件表示对象接收到某个信号。信号
8、间可以有泛化,信号可以是其他信号的子信号,它们继承父信号的属性,并可以触发包含信号类型的转换。,9.2 状态图元素,接收到input信号这一事件发生,9.2 状态图元素,调用call事件表示一个操作的调度。请求调用另一个对象的操作信号是一个异步事件,而调用事件一般是同步的。也就是说,当对象调用另一对象的操作时,控制就从发送者传送到接收者,该事件触发转换,完成操后,接收者转换到一个新的状态,控制返还给发送者。,9.2 状态图元素,变化change事件用关键字When,后面跟布尔表达式When(temperature120)/alerm()变化事件的意图是要频繁测试表达式,只要表达式由假变为真,事
9、件就会发生。,9.2 状态图元素,时间(time)事件时间事件是指在绝对时间或在某个时间间隔内发生的事情所引起的事件。例如到达某一时间或经过了某一时间段。用关键字When 或After表示。,9.2 状态图元素,对象从一个状态改变成另一个状态称为转换。当状态发生转换时,称转换被激活。转换激活前,对象为源状态。激活后,对象为目标状态。,9.2.4 转换,9.2 状态图元素,转换的五要素(注意格式)源状态目标状态触发事件如果箭头上不带任何事件名,表示是一个自动转换,当与源状态相关的活动完成时就会自动触发。监护条件动作,9.2 状态图元素,动作可执行的原子计算不可中断,其执行时间可忽略不计当转换被引
10、发时,它对应的动作被执行。它一般是一个简短的处理过程。两种特殊动作(只要进入或离开该状态一定会执行该动作)入口动作(entry)进入状态时执行的动作退出动作(exit)退出状态时执行的动作,9.2 状态图元素,9.2 状态图元素,9.2 状态图元素,外部转换,自转换也是外部转换,外部转换,9.2 状态图元素,复合状态是包含有子状态即嵌套状态的状态,9.2.5 复合状态和子状态,9.2 状态图元素,组合/嵌套状态,含有子状态的状态被称为组合或嵌套状态,为何不在组合中加初态、终态?可以将任一子状态作初态,去掉运行这个大的状态行吗?行,但效果不好,隐藏子状态,简化模型复杂度,增强清晰性,9.2 状态
11、图元素,两种表示方法顺序子状态 如果一个组成状态的子状态对应的对象在其生命期内的任何时刻都只能处于一个子状态,即多个子状态之间是互斥的,不能同时存在,这种子状态称为顺序子状态。并发子状态有时组合状态有两个或者多个并发的子状态机,此时称组成状态的子状态为并发子状态。,9.2 状态图元素,顺序子状态与并发子状态的区别在于后者在同一层次给出两个或多个顺序子状态,对象处于同一层次中来自每个并发子状态的一个时序状态中。,9.2 状态图元素,9.4 状态图应用,首先需要找到与系统中对象相关的转换事件 通过以下几个方面来寻找转换事件哪些事件可以创建或删除对象哪些事件可以定义或修改属性值哪些事件可以创建或结束
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 状态图 活动
链接地址:https://www.31ppt.com/p-5934208.html