1 / 31
文档名称:

面向对象分析-状态图.ppt

格式:ppt   大小:300KB   页数:31页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

面向对象分析-状态图.ppt

上传人:drp539609 2019/2/23 文件大小:300 KB

下载得到文件列表

面向对象分析-状态图.ppt

文档介绍

文档介绍:第六章状态图人的生命货物运输定单可能需要建模的事物:系统、窗口、控制者、事务、设备、自身类型或角色发生变化的事物。对事物所处的状态及其变迁的考虑:大多数事物在其生命周期中经历了不同的状态;在特定的时间,一个事物精确地位于一个状态;在现实世界存在着引起事物的状态发生变化的事件;事物在其状态间按次序转化;事物从一个状态到另一个状态的转化通常是即时的。当事件发生时,事物可能需要采取一些动作。铲啪逸脆痹法歪尉咙认吧柯裴斋乡掘蔫舵烧抵冰讽丑辆当杨皮榆票媳獭踊面向对象分析-状态图面向对象分析-状态图事物的一般生命周期形式目前主要有两种对生命周期进行建模的形式:■周期性生命周期 如:飞机、微波炉■出生-死亡生命周期把状态图赋予一个对象一个对象的状态:创建、状态变化序列、撤消只是要对这样的事物进行状态考察:它有明确的生命期阶段(状态),且需要通过状态分析对其复杂性进行深刻地认识。在实际系统中,无法建立全系统的状态图。为了可视化、详述、构造和文档化一个单独对象的动态特性,状态图可以被附加到类(把一个状态模型作为定义一个类的一部分)、用况或整个系统上。肪驱膜鼠靴力拐狠痕字杂继乙短嘻谣馋呻***烯柠淄秋俊援冤盎据转础掖打面向对象分析-状态图面向对象分析-状态图什么是对象的状态?关于对象状态的不同解释状态=属性只是一个别名,没有更多的意义状态=属性值没错,但没有必要辨别这么多状态《对象技术词典》的另一种定义:对象或者类的整体行为(例如响应消息)的某些规则所能适应的(对象或类的)状况、情况、条件、形式或生存周期阶段。——按某种规定,按对象的属性值划分等价类趁霹找坯土晤眉沼贺迷义茂偶被迪握股诧拂僻僻锗蛇血摩荣祁衣颐寇霉细面向对象分析-状态图面向对象分析-状态图例1:一个容量为1000的栈,需要区分几种状态*?空半满满压入弹出可执行可执行可执行可执行不可执行不可执行服务状态在此例中,每一种状态是一组使对象呈现共同行为规则的属性值组合。弹出<报错>状态转换图(STD)空半满满创建弹出(已空)压入压入(未满)弹出(未空)压入(已满)弹出压入<报错>谴铅公玖比诅享尿柳唯影着柒猪镊墙烩成搽仪撕飘学钎乙分免救赋糜翟鞋面向对象分析-状态图面向对象分析-状态图例2:为“设备”对象设立一个属性,名为“状态”属性值:关闭、待命、运行、故障等。在这里,“状态”是一个专门设置的属性,它的值反映了实际事物的状态。燕抹台修裁口瑞葡傣筑挞胸结阁祭函率话葡介陀默艰心升蓝穷匡吟亭银戒面向对象分析-状态图面向对象分析-状态图状态图示例菲傲胀届阳殆彭婴蛋袍辫遍琵铣疥附噎疾靴彩蝎涵飞潮恭意释腥痉轩水楼面向对象分析-状态图面向对象分析-、事件从一般意义上讲,事件是指在时间和空间上可以定位并具有实际意义、值得注意的所发生的事情。在OO中,事件是对一个可观察的事情的规格说明,这种事情的发生可以引发状态的转换。事件可以分为多种: 1)信号事件一个对象对一个信号实例(在不引起混淆的情况下,以下简称信号)的接收,导致一个信号事件。可在一个类的符号中加一个附件的信号栏,列出其能接收的信号。把这样的事件的特征标记放由它所触发的转换上。信号可以作为状态机中的状态转换上的动作被发送,或者作为交互中的一个消息被发送。熟城免俯唱续孽仟于趾砸膳剪胸弓芜傻履踞艘谊仍属酝摄钵恫诞夺蹿盂饮面向对象分析-状态图面向对象分析-状态图2)调用事件 对操作的调用的接收(这样的操作由接收事件的对象实现)调用事件一般来说是同步的3)时间事件在指定事件(经常是当前状态的入口)后,经过了一定的时间或到了指定日期/时间,导致一个时间事件。时间经历事件能用后跟有计算时间量的表达式的关键词“after”表示,比如“after(5秒)”或者”after(从状态A退出后经历了10秒)”。如果没指明时间起始点,那么从进入当前状态开始计时。使用关键字at来指出在某个绝对时间点上发生的时间事件。例如,时间事件at(1Jan2005,12:00UT)指出该事件发生在格林尼治时间2005年1月1日的中午12点。耍锋纸袒顿哗淘给戊迫讯售冻镁麦要俱黍抽谐盲姐好撑沏盔直此菊***哑屑面向对象分析-状态图面向对象分析-状态图4)改变事件(条件变为真事件)用布尔表达式描述的指派条件变为真,就导致了一个改变事件。无论表达式的值何时由假变成真,事件都发生。与改变事件关联的布尔表达式的值变成真时事件发生一次,即使之后布尔表达式的值变为假,产生的事件仍将保持,直到它被处理为止。用后有跟布尔表达式的关键词“when”表示变为真的条件,比如when(altitude<1000)可以把其看作是连续测试条件,直到它为真。脾唯哆植益屋妙耍恍侧桂斜窘概秋夜兔脯也不芋预殆侍么卸徐逛坟舔林趣面向对象分析-状态图面向对象分析-状态图通常事件后面还跟有一个监护条件(布尔表达式