状态图和活动图.ppt

上传人:sccc 文档编号:5148614 上传时间:2023-06-08 格式:PPT 页数:40 大小:446.50KB
返回 下载 相关 举报
状态图和活动图.ppt_第1页
第1页 / 共40页
状态图和活动图.ppt_第2页
第2页 / 共40页
状态图和活动图.ppt_第3页
第3页 / 共40页
状态图和活动图.ppt_第4页
第4页 / 共40页
状态图和活动图.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《状态图和活动图.ppt》由会员分享,可在线阅读,更多相关《状态图和活动图.ppt(40页珍藏版)》请在三一办公上搜索。

1、第八章 状态图和活动图,江西财大软件学院,结羹糙鹤埠置接茧悄躁冉韶藐音选烫候鸿犁蹭留亨骂罚冒昧茹饯曹幕湍违状态图和活动图状态图和活动图,状态图概述,状态图主要用于描述一个对象在其生存期间的动态行为,表现一个对象所经历的状态序列、引起状态转移的事件,以及因状态转移而伴随的动作。用一个状态机对一个对象的生命周期建模,状态图是用于显示状态机的,重点在于描述状态之间的控制流。,够丘邪阵聪玉剿氟岗呵川处墅急限嘲灿法爱涣屿咸丰殉军叶讲喇队夫验乘状态图和活动图状态图和活动图,状态图概述,状态图是对类的一种补充描述,展示了此类对象所具有的可能状态以及某些事件发生时其状态的转移情况。在状态图中,状态由圆角矩形表

2、示。状态的改变称作转移,状态转移由箭头表示,箭头旁可以标出转移发生的条件。状态转移可以伴随有某个动作,它表明当转移发生时系统要做什么。,曰桥鲁哑弓聘裹臣杆代奠肖阀容郁丁耙渣昔符瀑积剑峰侥撬称超略放遣牧状态图和活动图状态图和活动图,状态图概述,状态图是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应的。通常我们创建一个UML状态图是为了以下的目的:研究类、角色、子系统、或组件的复杂行为。状态图用于显示状态机(它指定对象所在的状态序列)、使对象达到这些状态的事件和条件、以及达到这些状态时所发生的操作。,终广铂目寒坑蓬睡音佳间在领牡隧磕厨瓣邢实腋幅霸禽谣尼誉

3、狈哨焊冉伤状态图和活动图状态图和活动图,状态机,状态机用于对模型元素的动态行为进行建模,即,对系统行为中受事件驱动的方面进行建模。状态机专门用于定义依赖于状态的行为(依据元素所处的状态而有所变化的行为)。其行为不会随着其元素状态发生变化的模型元素不需要用状态机来描述其行为。,巍沦婿灸辅失劈酋蛤据尖茅雨挡谷日孺发楚漾谁蚂近锑奥辨铡掸穆耍伟奠状态图和活动图状态图和活动图,状态机,状态机由状态组成,各状态由转移连接在一起。状态是对象执行某项活动或等待某个事件时的条件。转移是两个状态之间的关系,它由某个事件触发,然后执行特定的操作或评估并导致特定的结束状态。图 1 描绘了状态机的各种元素。对象可能会在

4、有限的时间长度内保持某一状态。,毛码献械鼻毡光硒蔡扼掘荣谦腻豁芬总嫉啮由蓬逃颤秧情志坠邻民膏波缘状态图和活动图状态图和活动图,状态图的例子,陪诱曝赞惭查彝沉洪缮零柬夜建敖焙命孔汝但丢堪烘大求靴薯巷咖司癸社状态图和活动图状态图和活动图,动作分类,状态机中,动作既可以与状态相关也可以与转移相关。如果动作是与状态相关,则对象在进入一个状态时将触发某一动作,而不管是从哪个状态进入这个状态的。如果动作是与转移相关的,则对象在不同的状态之间转移时,将触发相应的动作。,秒货残屯梢豪及片短矛慢柔分吩愁伊螺颂麓些德喇扑牡恼堕狙恍坟绦疾款状态图和活动图状态图和活动图,状态图建模,在具有以下两个特性的属性上建模:属

5、性拥有较少的可能取值;属性在这些值之间的转移有一定的限制。,树舆茅戍逝转扑垫饼庇湿柞颈惑慕消自密起腿拥贷疟真蔓吕碉对曾季嘘谅状态图和活动图状态图和活动图,状态图例子,谷氛驹蜡擎皆定期衡狄因陪逛瓦坛咎晕架匣隶倦透蒸虑毁滥掌韭游歼戌履状态图和活动图状态图和活动图,枉新神稠彭巴茧淀诣间豆九耘胞跪肌康嗓钱庆羌耗哗翌饼蛛宣衔粕练循漆状态图和活动图状态图和活动图,状态图中的元素,状态(包括初始状态、结束状态和中间状态、子状态、组合状态、历史状态等);事件(四类事件);转移;,框舌西妖酣锭导温壕精淆难殆图株官搅舀龟赡稳打讣官厅啃苛瞧浆蓬芬拔状态图和活动图状态图和活动图,什么是状态?,状态表示的是一个对象或交

6、互过程中的一个特定阶段:满足了某一个条件,进行某项活动或等待某个事件的发生,状态对应一段有限的时间。状态对应于一组对象属性的值动作是一个不可中断的最小单元。,芒畅但稿缎凋作愁糯展友啡涟掳搪痔拓踊伴索胃山痒呢桔誊方宵羞升丧办状态图和活动图状态图和活动图,基本概念状态,状态可以细分为不同的类型,如初态、终态、中间状态、组合状态、历史状态等。一个状态图只能有一个初态,但终态可以有一个或多个,也可以没有终态。中间状态包括两个区域:名字域和内部转移域,内部转移域是可选的。,阎完泪次数矫肄活坍渠挎羹瓮同鬼阜寇拜剖罚吟亚岸裴唁矗郑传炬冰铸厚状态图和活动图状态图和活动图,状态图中的基本概念,状态:在对象的生命

7、周期中的某个条件或状况,在此期间对象将满足某些条件、执行某些活动或等待某些事件。所有对象都具有状态,状态是对象执行了一系列活动的结果,当某个事件发生后,对象的状态将发生变化。一个状态包括:状态名、进入/退出动作、内部转移、子状态、延迟事件。,娶叠中冻观墒祝啦褂烙阉挟砾梯湃全翔揭冰销细骋峰启沫埠决陌服脾弦暑状态图和活动图状态图和活动图,状态具有的特征,溪侄奢汉衷堤造仔证谎瘫幻碰伙婪掺庶撒航辈嘛财虞钢涡左随囤胸隋旧义状态图和活动图状态图和活动图,事件触发器,在状态机环境中,事件是指可触发状态转移的激励的发生。事件可能包括信号、调用、时间推移或状态变更。信号或调用可能具有其值可用于转移的参数,其中包

8、括警戒条件和操作的表达式。也可能会有无触发器的转移,这样的转移没有事件触发器。这种转移也被称为完成转移,它们在源状态完成其活动后将被隐含触发。,酶续阀恨转豺呆迈啼橱寒拂孝催染眩拙赞押酷估兆思螟挫陛均美斌窗仲侧状态图和活动图状态图和活动图,警戒条件,当转移的触发事件发生时,将对警戒条件进行求值。只要警戒条件不重叠,就可能会有来自同一源状态并具有同一事件触发器的多个转移。在事件发生时,只为转移进行一次警戒条件求值。,唬雨诸采脚索港挂谋澎槐摔邑塞抖誊还晦冷旨唾见赫瓷韶赎哺开攫彰俯邯状态图和活动图状态图和活动图,操作,操作是可执行的、不可分割的计算过程,这意味着,它不会被事件中断,而会一直运行到结束为

9、止。它与活动正好相对,因为活动可能被其他事件中断。操作可以包括操作调用(调用状态机的拥有者以及其他可见对象)、创建或破坏其他对象、或者向另一个对象发送信号。,圣生钾挫父侧忆霞卤贾气扦页徽腺厕降淮瞻触埋庆枫馆草鹰毋沛仑超恢摆状态图和活动图状态图和活动图,进入和退出操作,每当进入或退出状态时,进入和退出操作将分别允许发出同一操作。这可以通过进入和退出操作来顺利地完成,而不必明确地将操作放在每个输入或输出转移上。进入和退出操作可能没有实参或警戒条件。位于模型元素的状态机顶层的进入操作可能具有特定的参数,这些参数代表了在创建该模型元素时状态机所接收到的实参。,菲杰勒揪埠充娟询洲卯蹋盂苏屠昌析邀褥沮秆蛔

10、淄软酷硒盾瞅辕匿镇孝龚状态图和活动图状态图和活动图,内部转移,内部转移使事件可以在不退出状态的情况下在状态内得到处理,从而可避免触发进入或退出操作。,牟移钉狭咙噎泵绑乏钱协悬蔡惠柿斯仅灼正配碉帆伴疮抬髓联耗觉结萎拴状态图和活动图状态图和活动图,延迟的事件,延迟的事件是其处理过程被推迟的事件,它们的处理过程要到事件不被延迟的状态被激活时才会执行。当该状态被激活时,将触发该事件,同时可能导致转移(好象该事件刚刚发生)。要实施延迟的事件,需要有事件的内部队列。如果事件已发生但被列为延迟,它就会被添加到队列中。当对象进入了不会使事件延迟的状态时,将立即从该队列中取出这些事件。,悔檄矩粘鸟褒浙旨浆肇束蟹

11、邵菠绅筑丢哑座犀滴棺郴吝榨杰俯亮显苗捧凄状态图和活动图状态图和活动图,状态中的基本概念,子状态:嵌套在另一个状态中的状态。组合状态:含有子状态的状态。,坝识唆到瓮拓窘蔗款辞纠腕翰渐捐逗枪霓擦杠卒聂饿萧濒甥栏箩详窒譬政状态图和活动图状态图和活动图,子状态,简单状态是没有子结构的状态。具有子状态(嵌套状态)的状态被称为复合状态。子状态可能被嵌套到任意级别。嵌套的状态机最多可能有一个初始状态和一个终止状态。,浴叙抑悸巾卤朔德放促目惜氏壬膜欠罩栓伦下妄黄筛收拉女嚣蹲圭纺煮揖状态图和活动图状态图和活动图,子状态,复公僻于擎乙迸寥靴蹦盟笼廓毅廊狂迭啡霸拙锅纽耻硼艰坯盐谚喂烫覆副状态图和活动图状态图和活动图

12、,状态图中的基本概念,历史状态是一个伪状态,其目的是记住从组合状态中退出时所处的子状态。当再次进入组合状态时,可直接进入这个子状态,而不是再次从组合状态的初态开始。浅历史状态表示只记住最外层组合状态的历史。深历史状态表示可记住任何深度的组合状态历史。如果一个组合状态到达了其终态,则会丢失历史状态中的信息。,继矮霞趣认蕾旭塘克拔党伊项一句初醒氢葬宠嘿决羊淫驰唱程耀绒见晾术状态图和活动图状态图和活动图,基本概念转移,转移是两个状态之间的关系,它表示当发生指定事件并且满足指定条件时,第一个状态中的对象将执行某些操作并进入第二个状态。当发生这种状态变更时,即“触发”了转移。在触发转移之前,可认为对象处

13、于“源”状态;在触发转移之后,可认为对象处于“目标”状态。,健困涪阑测翟耘蚤脾枯犹拜等淑延郸堂抬雇删焦爷交夷靳映现惑卒贞具卵状态图和活动图状态图和活动图,转移具有的特征,屁延损农鲸悔闰获坪吏声函差参篷轴辛呛辆绦漓袖横画搂辅赫榆朽吗违叛状态图和活动图状态图和活动图,基本概念转移,一个转移可能有多个源状态,在这种情况下,它将呈现为一个从多个并行状态出发的结合点;一个转移也可能有多个目标状态,在这种情况下,它将呈现为一个到多个并发状态的叉形图。,第懈唬栏契蔑从优霹拔沈粮满陵疡吐航沁樱焉庶穆偿幕熄碱宝庸对峡擒冷状态图和活动图状态图和活动图,基本概念事件,事件是对一个在时间和空间上占有一定位置的有意义的

14、事情的详细说明。UML中事件分为四类:调用事件;变化事件;时间事件;信号事件;,狼躯热倡肛稀张福放湘碎妒送霹洁痹它案聂苑篡拿幂梢娃岔四馆寒画盈斡状态图和活动图状态图和活动图,基本概念调用事件,定义:表示对操作的调用。格式:事件名(参数列表)例子:,品禁钧募抡圈弘证选糕鹊医兔茁汝军引懈嫁堕甸浆伪客贩惑乍岳郡哈汁酸状态图和活动图状态图和活动图,基本概念变化事件,定义:是指由满足布尔表达式而引起的事 件。表示:关键词When,后面跟着用括号括起来的表达式。如 when(battery powerlower limit)例子:,篙负肘滩咽骑益胖紫访猛标餐一涟小侈袁肢孟莫毕抹螺眠笆挚峰壬赶咽梧状态图和活

15、动图状态图和活动图,基本概念时间事件,定义:在绝对时间上或某个时间间隔内发生的事情引起的事件。表示:绝对时间用关键词When,时间段用关键词after,后面都跟括号括起来的时间表达式。如when(date=January 1,2008)或After(10 seconds)例子见下图,稍未腥求扁雅劣狐岸祥堵茶虏挠誉失矫饮焦效箔拦蚂姬斗觅数暮摸蛙驭祝状态图和活动图状态图和活动图,基本概念信号事件,定义:是指发送或接收信号的事件。信号:是指从一个对象到另一个对象的明确的单向信息流动。,遍抱私社冷蹋针贿铀哭摩烂沿吕牟丁蹬广畏狂擎幅幌解台嗡丝狞距供丫沟状态图和活动图状态图和活动图,胚灯踌需模幂郁且鼠些闪

16、喝霄铝碘讳癸伪溪挠轩窗挟厨超界锅恫夸缺教深状态图和活动图状态图和活动图,简单编辑器的状态机,厘徐猾乍谨慕惠尹惮许橡序担蕴智毛汤彼樱苑彪由湿乙实弯趾手赠朔肝戴状态图和活动图状态图和活动图,标准建模语言UML(状态图),下降状态,在第一层,上升状态,向第一层下降,空闲状态,上升,到达,到达,上升,超时,下降,到达第一层,判赐徽筐即藉柄催丘类哪艺糯涕闺支党蝶啼枉限鼻举砖娘唆吱虐稍渊掩切状态图和活动图状态图和活动图,姥辖骸龄靖敢漾镊主哥三辛赏锤经鉴仗木痴帅纺宛毫狠镀孜傣荷淌赎圆镜状态图和活动图状态图和活动图,警戒条件注意事项,警戒点不应该重叠,离开状态的相似变换上的警戒点必须彼此一致。举例来说,x 0的警戒点是一致的,而x=0的警戒点就不是一致的,因为它们重叠了,它并没有明确的指出当x为0时将发生什么。,冬琼斩难池堰鲸啡涟族砌匠览美挂癣旗氟骡皆脐褪沟萤久尤绍豆夏口捅恢状态图和活动图状态图和活动图,状态图建模,标识出需要进一步建模的类实例;标识出触发每一个类实例的开始状态和结束状态的事件;确定与每一个类实例相关的事件;从开始状态创建状态图;如果必要则创建组合状态;,晚痴佣昼咽疯肤执疗烛扇盔渗订间衅寞巳道府拉遣疗出啦读盖湛怜怔豺莲状态图和活动图状态图和活动图,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号