OO2分析4_其他模型2.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OO2分析4_其他模型2

*;*;状态图 人的生命 货物运输定单 可能需要建模的事物:系统、窗口、控制者、事务、设备、自身类型或角色发生变化的事物。 对事物所处的状态及其变迁的考虑: 大多数事物在其生命周期中经历了不同的状态; 在特定的时间,一个事物精确地位于一个状态; 在现实世界存在着引起事物的状态发生变化的事件; 事物在其状态间按次序转化; 事物从一个状态到另一个状态的转化通常是即时的。 当事件发生时,事物可能需要采取一些动作。 ;事物的一般生命周期形式: 目前主要有两种对生命周期进行建模的形式: ■周期性生命周期 如:飞机、微波炉 ■出生-死亡生命周期 把状态图赋予一个对象 一个对象的状态:创建、状态变化序列、撤消 它有明确的生命期阶段(状态),且需要通过状态分析对其复杂性进行深刻地认识。 在实际系统中,无法建立全系统的状态图。 为了可视化、详述、构造和文档化一个单独对象的动态特性,状态图可以被附加到类(把一个状态模型作为定义一个类的一部分)、用例或整个系统上。 ;什么是对象的状态? 关于对象状态的不同解释 状态 = 属性 只是一个别名,没有更多的意义 状态 = 属性值 没错,但没有必要辨别这么多状态 ;*;例1:一个容量为1000的栈,需要区分几种状态*?;例2:为“设备”对象设立一个属性,名为“状态”。 属性值:关闭、待命、运行、故障等。 在这里,“状态”是一个专门设置的属性,它的值反映了实际事物的状态。;;概念与表示法 1、事件 从一般意义上讲,事件是指在时间和空间上可以定位并具有实际意义、值得注意的所发生的事情。 在OO中,事件是对一个可观察的事情的规格说明,这种事情的发生可以引发状态的转换。 ;*; 通常事件后面还跟有一个监护条件(布尔表达式)。当事件发生后,还要检验其监护条件。如果监护条件为假,则该事件不触发转换。 可以按如下的格式定义事件: 事件名‘(‘用逗号分隔的参数列表’)’ 参数的格式如下: 参数名’:’ 类型表达式 参数值由监护条件和动作表???式使用. ;*;概念与表示法 1、事件 事件可以分为多种: ? 1)信号事件 一个对象对一个信号实例(在不引起混淆的情况下,以下简称信号)的接收,导致一个信号事件。 可在一个类的符号中加一个附件的信号栏,列出其能接收的信号。 信号可以作为状态机中的状态转换上的动作被发送,或者作为交互中的一个消息被发送。; 2)调用事件 对操作的调用的接收(这样的操作由接收事件的对象实现)。 调用事件一般来说是同步的。 3)时间事件 经过了一定的时间或到了指定日期/时间,导致一个时间事件。 时间经历事件能用后跟有计算时间量的表达式的关键词“after”表示,例如: “after (5 秒)”或者”after (从状态A退出后经历了10秒)”。 如果没指明时间起始点,那么从进入当前状态开始计时。 使用关键字at来指出在某个绝对时间点上发生的时间事件。例如,at(1 Jan 2005, 12:00 UT)指出该事件发生在格林尼治时间2005 年1 月1 日的中午12点。;4)改变事件(条件变为真事件) 用布尔表达式描述的指派条件变为真,就导致了一个改变事件。与改变事件关联的布尔表达式的值变成真时事件发生一次,即使之后布尔表达式的值变为假,产生的事件仍将保持,直到它被处理为止。 用后有跟布尔表达式的关键词“when”表示变为真的条件,比如 when (altitude 1000) 可以把其看作是连续测试条件,直到它为真。;2、状态 状态是一个对象的生命期的一个阶段。在该阶段中该对象要满足一些特定的条件、执行特定的活动或等待某个(些)事件。 状态表示成四角均为圆角的矩形,并可以分栏: a)? 名称分栏 b) 内部转换分栏:列出对象在这个状态中所执行的内部动作或活动。 各表项的表示法的基本格式为:;?延迟事件 延迟事件是指在当前状态下暂不处理,但将推迟到该对象的另一个状态下排队处理的事件。 用特殊的动作defer表明一个事件被延迟:? 事件/defer 延迟事件形成了一个事件列表。 如果一个事件发生,并被列为延迟事件,则进入队列。 一旦对象进入一个不延迟这些事件的状态,就按某种算法从队列中除掉

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档