状态图有例题.ppt
《状态图有例题.ppt》由会员分享,可在线阅读,更多相关《状态图有例题.ppt(77页珍藏版)》请在三一办公上搜索。
1、模型,模型表示系统静态和动态的行为。这种表示形式可为同一系统提供不同的视角,静态模型,动态模型,系统结构方面,系统的过程和行为的集合,操作和维护模型比操作和维护实际系统容易得多,使用户和开发人员都能更容易地理解构思中的系统,可助于解释状态的改变和降低复杂度,可监视构思中的系统是否存在任何类型的缺陷,动态模型的优越性,动态模型的优越性,动态模型描述系统与操作时间和顺序有关的系统方面、影响更改的事件、事件的序列、事件的环境以及事件的组织,动态模型的组件,状态图,顺序图,活动图,协作图,动态模型的组件,动态模型的组件,动态模型的组件,状态1,状态2,初始状态,如果无效,则重复状态,1,如果有效,则转
2、换状态 2,最终状态,状态图,状态图描述了单个事物如何为响应发生的事件而更改状态和生成响应,并通过此方式与其环境进行交互,浸泡,洗涤,漂洗,脱水,Wash clothes,Washing Machine User,动态模型的组件,状态图,动态模型的组件,顺序图,顺序图用于按时间顺序模拟控制流程。显示了在对象生命线上各点之间的对象传递的消息,演示了在时间序列中对象之间的交互,顺序图:表达一组对象以及这些对象发出与接受消息,重点在消息的时间顺序上。,。,8,洗衣机,进水管,洗涤缸,排水管,顺序图,动态模型的组件,洗衣机工作过程1.通过进水管向洗涤缸注水。2.洗涤缸保持5分钟静止状态3.水注满,停止
3、注水。4.洗涤缸往返旋转15分钟。5.通过排水管排掉洗涤后的脏水。,6.重新开始注水。7.洗涤缸继续往返旋转洗涤8.停止向洗涤缸中注水。9.通过排水管排掉漂洗衣物的水。10.洗涤缸加速单方向旋转5分钟。11.洗涤缸停止旋转,洗衣过程结束。,9,动态模型的组件,顺序图洗衣过程,10,进水管,洗涤缸,排水管,注入新水,保持静止,停止注水,往返旋转,排掉洗涤后的脏水,注入新水,往返旋转,排掉漂洗过的水,单向旋转,停止转动,停止注水,浸泡状态,洗涤状态,漂洗状态,脱水状态,协作图,动态模型的组件,协作图将对象组织在一定的结构之下,通过消息在对象之间传递与协作来完成某项功能,其重点在于演示或检测对象间的
4、协作,协作图:表达一组对象、对象之间的连接,以及对象发 出和接受的消息,重点在对象的结构组织方面。,。,12,内部计时器,洗涤缸,进水管,1.停止注水,2.往返旋转,客户-提供者实现模式,洗涤缸,进水管,协作图,动态模型的组件,活动图,动态模型的组件6,活动图显示活动与活动之间的流程。活动是状态机中当前执行的活动,由系统的操作而组成,操作活动1,操作活动2,操作活动3,操作活动4,洗涤缸往返旋转15分钟,排掉脏水,重新入新水注,14,第三章 状态图(State Diagram),状态图是系统分析的一种常见工具,用于描述系统或单独对象的外部可见行为。UML中的状态图主要用于建立类或对象的动态行为
5、模型,表现一个对象所经历的状态序列,引起状态或活动转移的事件,以及因状态或活动的转移而伴随的动作。,状态图,实体的生存期比较复杂时,需要状态图对类的所有实例的生命周期建模。大多数面向商业的应用中的类不需要状态图以下情况经常使用状态图动态模型中产生或接收大量信息的类界面类实时系统中的类,状态图,状态图,18,实时系统中的类,闲置状态,拨号状态,通话状态,拿起听筒拨号,线路拨通,挂断电话,电话机,电话线状态图平p77 图5-8 p82 图517,19,第三章 主要内容,1.状态机 2.状态3.事件4。转移 5.组合状态6.状态图的应用,21,3.1 状态机1,UML用状态机对系统的动态特征建模。状
6、态机表示一个模型元素在其生命期间的情况:从该模型元素的开始状态起,响应事件,执行某些动作,引起转移到新状态,在新状态下响应事件,执行动作,引起转移到另一个状态,如此继续,直到终结状态。状态机的组成:状态、转移、事件、活动、动作等。,22,3.1 状态机2,状态机用于对一个模型元素建立行为模型,一个对象类,一个子系统,整个系统。在UML中状态机用状态图可视化表示。状态图:状态的节点、转移的弧、事件等组成。,源状态,目标状态,事件,23,3.2 状态State,状态:对象全部属性的当前值。状态属性:对确定对象的状态有重要意义的属性。状态属性一般具有少量的值,而且这些属性的值的转换是有限的。并且其属
7、性值反映所属对象的特定状态。在UML中,对一个对象(模型元素)的行为建模时,所选择的该对象的生存期中的状态数量是有限的,对象处于每个状态的持续时间也是有限的。当发生某个事件或完成某个动作,都会触发状态的转移。,24,3.2.1 状态图标,状态图标(状态节点)一个状态可以加入信息:活动 activity 动作action 事件Event 效应effect entry/exit,statement,entry/actiondo/activity event/effect,在某个时间内系统处于某一状态下发生的。do/将要发生的动作 p80 5-13,当系统发生特定的迁移、进入或退出特定状态下发生的瞬
8、时行为p80 5-15,为响应事件而执行的行为p79 5-12,25,3.2.2 状态行为1,进入操作(entry)系统进入该状态时要发生的动作,前面加上entry和“/”。不可中断。活动(do)系统处于该状态时要发生的活动,前面加上do和“/”。活动是可中断行为,可以在对象处于该状态时运行完毕,也可以在对象转入另一状态时中断。,航班预定entry/将时刻表发布到 Internet,航班取消do/为客户寻找其它航班,26,3.2.2 状态行为2,退出操作(exit):系统离开该状态时要发生的动作,前面加上exit和“/”。不可中断。发送事件:在活动、进入和退出操作的动作中可以是对象内部发生的行
9、为,也可能是向另外一个对象发送消息。,飞行状态exit/记录登陆时间,状态名entry/目标对象.消息名(消息参数)do/目标对象.消息名(消息参数)exit/目标对象.消息名(消息参数),27,3.2.3 初始与终结状态,状态图中定义的状态有:初态、终态、中间状态、组合状态、历史状态等。初始状态:模型元素的初始状况,代表一个状态图的起始点,是一个伪状态。初始状态是转移的初始源,而不能是转移的目标。终结状态:模型元素的最后状态,代表一个状态图的终止点,是一个伪状态。终结状态是转移的最后目标,而不能是转移的初始源。状态图只能有一个初态,而终态可以有多个,也可以没有终态,单触发状态图p78 图5-
10、9,3.3 事件Event,事件是指某时刻发生的事情 事件是指已发生并可能引发某种活动的一件事 效应:为响应事件而执行的行为活动:由效应触发的实际行为,某个状态的多个活动迁移到达上的活动进入、推出活动do活动,3.3 事件Event,不同类型的事件信号事件信号是指从一个对象到另一个对象的单项数据流动信号事件指某时刻发生的事情变更事件满足布尔表达式而引起的事件when(battery power lower limit)时间事件在绝对时间上或某个时间间隔内发生的事情引起的事情When(date=2011/11/1)After(10s),练习,用状态图描述简单信号灯的变化,31,3.4 转移tra
11、nsition,当处于源状态的对象接收到一个事件,并且保护条件得到满足时,则执行相应的动作,并从源状态转移到目标状态。当发生一个转移时,该转移进入的状态为活动状态,它将执行相应的动作。当发生一个转移离开一个状态时,该状态变为非活动状态。转移类型:简单转移、自转移、自动转移、复合转移等。,源状态,目标状态,事件条件/动作,状态迁移的语法如下:事件 条件/动作表达式 事件:指已发生并可能引发某种活动的一件事;条件:由方括号围起的关系或逻辑表达式;动作表达式:一个触发状态迁移时可执行的过程表达式;,3.4 转移transition,练习,用状态图描述三岔口智能信号灯的变化,P76 图57 警戒迁移,
12、练习:PC从开启到关机的GUI状态图,35,3.4.1 转移类型1,自动转移(Automatic-Transition)又称完成转移(Completion-Transition)。每个状态都可能有一个不由事件触发的转移,它是根据该状态内的动作完成而自动触发的。,初始化do/自启动,工作,p36,3.4.1 转移类型2,自身转移(Self-Transition)指那些源状态与目标状态是同一状态的转移。调用状态的入口和出口动作。如:卖票的航班中增加乘客或减少乘客时,航班是打开的。p81 图5-6,37,3.4.1 转移类型3,复合转移(Compound-Transition)由简单转移通过分支判定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 状态图 例题

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