《状态图有例题》PPT课件.ppt

上传人:大米 文档编号:568576798 上传时间:2024-07-25 格式:PPT 页数:46 大小:1.14MB
返回 下载 相关 举报
《状态图有例题》PPT课件.ppt_第1页
第1页 / 共46页
《状态图有例题》PPT课件.ppt_第2页
第2页 / 共46页
《状态图有例题》PPT课件.ppt_第3页
第3页 / 共46页
《状态图有例题》PPT课件.ppt_第4页
第4页 / 共46页
《状态图有例题》PPT课件.ppt_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《《状态图有例题》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《状态图有例题》PPT课件.ppt(46页珍藏版)》请在金锄头文库上搜索。

1、模型表示系统静态和动态的行为。这种表示形式可为同一系统提供不同的视角系统结构方面系统的过程和行为的集合操作和维护模型比操作和维护实际系统容易得多使用户和开发人员都能更容易地理解构思中的系统可助于解释状态的改变和降低复杂度可监视构思中的系统是否存在任何类型的缺陷动态模型的优越性动态模型的优越性动态模型动态模型的优越性的优越性动态模型描述系统与操作时间和顺序有关的系统方面、影响更改的事件、事件的序列、事件的环境以及事件的组织动态模型的组件动态模型的组件 状态图顺序图活动图协作图动态模型的组件动态模型的组件动态模型的组件 动态模型的组件动态模型的组件 状态1状态2初始状态如果无效 则重复状态 1如果

2、有效 则转换状态 2最终状态状态图描述了单个事物如何为响应发生的事件而更改状态和生成响应,并通过此方式与其环境进行交互浸泡浸泡洗涤洗涤漂洗漂洗脱水脱水Wash clothesWashing Machine User动态模型的组件动态模型的组件 动态模型的组件动态模型的组件 顺序图用于按时间顺序模拟控制流程。显示了在对象生命线上各点之间的对象传递的消息,演示了在时间序列中对象之间的交互 顺序图:表达一组对象以及这些对象发出与接受消息,重点在消息的时间顺序上。p。8洗衣机洗衣机进水管进水管洗涤缸洗涤缸排水管排水管动态模型的组件动态模型的组件 洗衣机工作过程洗衣机工作过程1.通过进水管向洗涤缸注水。

3、通过进水管向洗涤缸注水。2.洗涤缸保持洗涤缸保持5分钟静止状态分钟静止状态3.水注满,停止注水。水注满,停止注水。4.洗涤缸往返旋转洗涤缸往返旋转15分钟。分钟。5.通过排水管排掉洗涤后的脏通过排水管排掉洗涤后的脏水。水。6.重新开始注水。重新开始注水。7.洗涤缸继续往返旋转洗涤洗涤缸继续往返旋转洗涤8.停止向洗涤缸中注水。停止向洗涤缸中注水。9.通过排水管排掉漂洗衣物通过排水管排掉漂洗衣物的水。的水。10.洗涤缸加速单方向旋转洗涤缸加速单方向旋转5分钟。分钟。11.洗涤缸停止旋转,洗衣洗涤缸停止旋转,洗衣过程结束。过程结束。9动态模型的组件动态模型的组件 10进水管进水管洗涤缸洗涤缸排水管排

4、水管注入新水注入新水保持静止保持静止停止注水停止注水往返旋转往返旋转排掉洗涤后的脏水排掉洗涤后的脏水注入新水注入新水往返旋转往返旋转排掉漂洗过的水排掉漂洗过的水单向旋转单向旋转停止转动停止转动停止注水停止注水浸泡状态浸泡状态洗涤状态洗涤状态漂洗状态漂洗状态脱水状态脱水状态动态模型的组件动态模型的组件 协作图将对象组织在一定的结构之下,通过消息在对象之间传递与协作来完成某项功能,其重点在于演示或检测对象间的协作协作图:表达一组对象、对象之间的连接,以及对象发出和接受的消息,重点在对象的结构组织方面。p。12内部计时器内部计时器洗涤缸洗涤缸进水管进水管1.停止注水2.往返旋转客户客户-提供者实现模

5、式提供者实现模式洗涤缸洗涤缸进水管进水管动态模型的组件动态模型的组件 动态模型的组件动态模型的组件6活动图显示活动与活动之间的流程。活动是状态机中当前执行的活动,由系统的操作而组成操作活动1操作活动2操作活动3操作活动4洗涤缸往返旋转洗涤缸往返旋转15分钟分钟排掉脏水排掉脏水重新入新水注重新入新水注14第四章第四章 状态图(状态图(State Diagram)p状态图是系统分析的一种常见工具,状态图是系统分析的一种常见工具, 用于描述系统或单独对象的外部可见行为。用于描述系统或单独对象的外部可见行为。pUML中的状态图主要用于建立类或对象的动态行为模型,中的状态图主要用于建立类或对象的动态行为

6、模型,表现表现一个一个对象所经历的对象所经历的状态序列状态序列,引起状态或活动转移的,引起状态或活动转移的事件事件,以及因状态或活动的转移而伴随的,以及因状态或活动的转移而伴随的动作动作。4.1.1 什么是状态图 1. 状态图的概念 状态图(statechart diagram): 用来描用来描述一个特定的对象所有可能的状态述一个特定的对象所有可能的状态,以及由于各以及由于各种事件的发生而引起的状态之间的转移和变化。种事件的发生而引起的状态之间的转移和变化。 状态:是对象取值和链接的抽象。状态:是对象取值和链接的抽象。 状态图的例子:一个机器的状态图:一个发货单的状态图:4.1.2 状态图的要

7、素1、事件、事件 是指在确定的时间和位置所发生的对对象起作用的事是指在确定的时间和位置所发生的对对象起作用的事情。情。 事件和状态有某种对称性,事件表示时间点,状态表事件和状态有某种对称性,事件表示时间点,状态表示时间段。示时间段。2、状态、状态 是指对象在其生命周期中是指对象在其生命周期中,满足某些条件、执行某些活满足某些条件、执行某些活动、或等待某些事件时的一个状况。动、或等待某些事件时的一个状况。3、转移、转移 是一个状态向另外一个状态的转换。是一个状态向另外一个状态的转换。4.1.2 状态图的要素开始开始状态状态事件事件状态状态结束结束状态状态转移转移货品发货的状态图货品发货的状态图事

8、件 1. 事件的概念事件的概念 事件事件(event): 是指在确定的时间和位置所发生的是指在确定的时间和位置所发生的对对象起作用的事情。事件的发生将引起一些动作,使对对对象起作用的事情。事件的发生将引起一些动作,使对象发生状态的转移。象发生状态的转移。 活动:是对为响应事件而执行的活动:是对为响应事件而执行的行为行为的引用。活动的引用。活动表示法是表示法是“/”和活动的名称和活动的名称。 例如:按下右键例如:按下右键/菜单显示,鼠标移动菜单显示,鼠标移动/高亮显示的高亮显示的菜单项更新。菜单项更新。3. 事件的类型 信号是指从一个对象到另一个对象的明确的单向信息流动 信号事件:是指发送或接收

9、信号的事件。事件事件2. 事件的描述p格式: event-name (parameters) guard-condition /action 字符串,常为接收对象类中字符串,常为接收对象类中的一个操作。的一个操作。 变化事件变化事件:因满足某种条件而引起的事件因满足某种条件而引起的事件,变化条件用变化条件用when表表示。示。 事件事件 时间事件时间事件:满足某一时间表达式而引起的事件满足某一时间表达式而引起的事件,时间事件用时间事件用after、when表示。表示。 事件事件2 状态 1. 状态的概念状态的概念 状态状态(state): 是指对象在其生命周期中是指对象在其生命周期中,满足满足

10、某些条件、某些条件、执行某些活动、或等待某些事件时的一个状况执行某些活动、或等待某些事件时的一个状况。 状态指的是对象的状态。例如状态指的是对象的状态。例如: 发票发票(对象对象)被支付被支付(状态状态) 小车小车(对象对象)正在停着正在停着(状态状态) 发动机发动机(对象对象)正在工作正在工作(状态状态) 电灯电灯(对象对象)开着开着(状态状态) 2.2.状态的表示状态的表示 状态的表示:用圆角的矩形框表示状态。状态的表示:用圆角的矩形框表示状态。 状态的要素:状态的要素: 1. 状态名状态名 (黑体、首字母大写黑体、首字母大写) 2. do活动(内部转移活动(内部转移 :不改变对象的状态,

11、也不执行:不改变对象的状态,也不执行entry和和exit动作)动作) 3. 进入、退出动作进入、退出动作 4. 子状态子状态 (嵌套在另外一个状态中的状态)(嵌套在另外一个状态中的状态) 状态名状态名进入动作进入动作退出动作退出动作内部转移内部转移动作动作(内部转移(内部转移 :不改变对象的状态,也不执行:不改变对象的状态,也不执行entry和和exit动作)动作)例如:警示灯在复印机卡纸状态下会闪烁。例如:警示灯在复印机卡纸状态下会闪烁。表示方法:表示方法:do/flash warning lightdo活动状态名状态名进入动作进入动作退出动作退出动作内部转移内部转移动作动作活动绑定在某状

12、态的入口和出口活动绑定在某状态的入口和出口表示方法:在状态框内用表示方法:在状态框内用entry/ 和和exit/表示表示进入、退出动作状态名状态名进入动作进入动作退出动作退出动作内部转移内部转移动作动作 3. 状态的类型状态的类型 初始状态(只能一个)初始状态(只能一个) 原子状态原子状态 终结状态(可以终结状态(可以0或多个)或多个) 组合状态组合状态 历史状态历史状态 组合状态组合状态 组合状态组合状态:含有子状态的状态,用于描述对象的某个复:含有子状态的状态,用于描述对象的某个复杂状态。组合状态也可以有初态和终态。杂状态。组合状态也可以有初态和终态。 子状态:子状态:被嵌套在另外一个状

13、态中的状态,可分为顺序被嵌套在另外一个状态中的状态,可分为顺序子状态和并发子状态。子状态和并发子状态。(1) 顺序子状态顺序子状态 对象在任何时刻只能处于组成状态的某一个子状态,即多个子状对象在任何时刻只能处于组成状态的某一个子状态,即多个子状态之间是互斥的,不能同时存在。态之间是互斥的,不能同时存在。例:例:IC电话卡的状态有空闲、维护、工作。其中,电话卡的状态有空闲、维护、工作。其中,工作就是组合状态。工作状态包括验卡、拨号、通话、工作就是组合状态。工作状态包括验卡、拨号、通话、挂断。挂断。每个嵌套状态会接收其组合状态的输出迁移。每个嵌套状态会接收其组合状态的输出迁移。IC卡电话机状态图组

14、合组合状态状态子状态子状态 (2)并发子状态)并发子状态 并发子状态并发子状态:指一个对象在同一时刻可以处于:指一个对象在同一时刻可以处于多种子状态。多种子状态。p聚合并发聚合并发p对象内的并发对象内的并发 聚合并发聚合并发 装配件的状态图由一系列状态图组成,装配件的状态图由一系列状态图组成,每个部件对应一个每个部件对应一个状态图状态图。部件状态可能会。部件状态可能会发生交互。发生交互。 例如:汽车的状态显示成部件状态的例如:汽车的状态显示成部件状态的聚合:点火装置、传动装置、加速器、刹车。聚合:点火装置、传动装置、加速器、刹车。对象内的并发某些对象可以被划分成属性或链接的子集,某些对象可以被

15、划分成属性或链接的子集,每一个都有自己的子图。每一个都有自己的子图。子图并不需要独立,同一事件会在一个以子图并不需要独立,同一事件会在一个以上的子图内引起迁移。上的子图内引起迁移。例如:汽车的运行状态例如:汽车的运行状态对象内的并发车的车的 运行运行 状态状态or关系 历史状态历史状态 记录组合状态退出时所处的子状态,以便再次进记录组合状态退出时所处的子状态,以便再次进入从这个状态开始工作。入从这个状态开始工作。历史历史状态状态 3 转移(迁移)1.转移的概念转移的概念 转移转移(transition): 是一个状态向另外一个状态的转换。对象是一个状态向另外一个状态的转换。对象处在源状态时处在

16、源状态时,发生一个事件发生一个事件,如果条件满足如果条件满足,则执行相应的动作则执行相应的动作,对象由对象由源状态转移到目标状态。源状态转移到目标状态。 转移用转移用箭头箭头表示,如果没有标注事件,则本转移为表示,如果没有标注事件,则本转移为自动转移自动转移。 警戒条件警戒条件:是为了要让转移发生而必须为真的布尔表达式。是为了要让转移发生而必须为真的布尔表达式。例如:当你早上出门的时候(事件),如果温度在冰点以下(条件),例如:当你早上出门的时候(事件),如果温度在冰点以下(条件),那你要戴手套(下一状态)。表示:出门那你要戴手套(下一状态)。表示:出门冰点以下冰点以下转移转移3 转移 2.

17、转移的类型转移的类型 自转移自转移: 源状态和目标状态为同一状态的转移。源状态和目标状态为同一状态的转移。 自转移自转移注意内部转移和自转移的区别:自转移会激发状态的入口注意内部转移和自转移的区别:自转移会激发状态的入口动作和出口动作,而内部转移不会。动作和出口动作,而内部转移不会。 自动转移自动转移: 一个一个 状态根据本状态的有关情况,自动触发进状态根据本状态的有关情况,自动触发进入目标状态,在转移上没有事件。入目标状态,在转移上没有事件。 自动转移自动转移 条件转移条件转移: 通过分支判断所确定的转移。通过分支判断所确定的转移。 条件转移条件转移4.2 状态图的作用 状态图状态图: 用来

18、描述一个对象在其生命周期中用来描述一个对象在其生命周期中所表现出来的状态和行为。所表现出来的状态和行为。 当在系统建模过程中需要描述某个事物或当在系统建模过程中需要描述某个事物或对象的不同状态,以及状态之间转移的事件和对象的不同状态,以及状态之间转移的事件和动作时,用状态图。动作时,用状态图。 但状态图并不是对每一个对象都需要的。但状态图并不是对每一个对象都需要的。状态图建模技术 建模的时候要找出建模的时候要找出对象所处的状态、触发状态改变对象所处的状态、触发状态改变的动作,以及对象状态改变时应执行的动作。的动作,以及对象状态改变时应执行的动作。具体步骤如下:具体步骤如下:1、找出适合用模型描

19、述其行为的、找出适合用模型描述其行为的类类。2、确定对象可能存在的状态。、确定对象可能存在的状态。3、确定引起状态转换的事件。、确定引起状态转换的事件。4、确定转换进行时对对象执行的相应动作。、确定转换进行时对对象执行的相应动作。5、对建模的结果进行相应的精化和细化。、对建模的结果进行相应的精化和细化。实例实例1 1:图书馆中“图书”的状态图教学进程教学进程教学进程教学进程具体步骤如下:具体步骤如下:1、找出适合用模型描述其行为的类。、找出适合用模型描述其行为的类。2、确定对象可能存在的状态。、确定对象可能存在的状态。3、确定引起状态转换的事件。、确定引起状态转换的事件。4、确定转换进行时对对

20、象执行的相应动作。、确定转换进行时对对象执行的相应动作。5、对建模的结果进行相应的精化和细化。、对建模的结果进行相应的精化和细化。实例实例1 1:图书馆中“图书”的状态图教学进程教学进程教学进程教学进程图书状态有:订购、编目、馆藏、借出。实例实例2 2:手机的状态图教学进程教学进程教学进程教学进程手机对象的各种场景手机对象的各种场景1、呼叫对方成功、呼叫对方成功2、呼叫对方不成功、呼叫对方不成功3、被呼叫,接听、被呼叫,接听4、被呼叫,未听见铃声、被呼叫,未听见铃声5、被呼叫,拒绝接听、被呼叫,拒绝接听手机状态图46小结小结p事件(Event),是指对一个在时间和空间上占据一定位置,是指对一个

21、在时间和空间上占据一定位置的有意义的事情的规格说明。的有意义的事情的规格说明。 p事件包括信号、调用、时间推移或状态改变。包括信号、调用、时间推移或状态改变。 p状态(State)是指在对象的生命周期中满足某些条件、)是指在对象的生命周期中满足某些条件、执行某些活动或等待某些事件时的一个条件或状况。执行某些活动或等待某些事件时的一个条件或状况。 p迁移是两个状态间的一种关系,表示对象将在当前状态中是两个状态间的一种关系,表示对象将在当前状态中执行动作,并在某个特定事件发生而且满足某个特定的条执行动作,并在某个特定事件发生而且满足某个特定的条件时进入后继状态件时进入后继状态p活动图和和状态图是建模一个对象的生命周期,是描述对象是建模一个对象的生命周期,是描述对象随时间变化的动态行为。随时间变化的动态行为。 活动图显示的是从活动到活动的活动图显示的是从活动到活动的控制流,状态图则显示的是从状态到状态的控制流控制流,状态图则显示的是从状态到状态的控制流 。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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