- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
状态建模.ppt
状态建模 状态模型 类模型表示系统静态的、结构化的“数据”层面。 状态模型表示系统时序的、行为的“控制”层面。 状态模型描述了与操作的时间和顺序相关的对象层面,标记变化的事件,界定事件上下文的状态,以及事件和状态的组织。 状态模型捕获控制,描述操作出现顺序的系统层面。 状态图 状态图(State diagram)主要用来描述对象、子系统、系统的生命周期。通过状态图可以了解到一个对象所能到达的所有状态以及对象收到的事件(收到消息,超时,错误,条件满足)对对象状态的影响等。 所有的类,只要它有可标记的状态和复杂的行为,都应该有一个状态图。状态图指定对象的行为以及根据不同的当前状态行为之间的差别。同时,它还能说明事件是如何改变一个类的对象的状态。 状态模型有多个状态图组成,每个类对应一个状态图,描述对应用程序来说是最重要的那些时序行为。 状态图 状态和迁移 所有对象均有状态:状态是对象操作的前一次活动的结果,通常情况下,状态由对象的属性值以及指向其它对象的链来决定的。类的状态由类中的指定属性来说明或对象的状态由对象中的通用属性的值来确定。下面举例说明对象的状态: 支票(对象)已付(状态)。 汽车(对象)停在那儿(状态)。 发动机(对象)正在运行(状态)。 吉姆(对象)正在卖货(状态)。 小王(对象)已婚(状态) 。 当某些事情发生时对象的状态发生改变,我们称改变对象状态的事情为“事件”,例如,付了支票,开始启动汽车,或结婚。 状态 状态(state)是对象取值和链接的抽象。根据对象的总体行为,将取值和链接的集合组成一个状态。状态经常对应着带有后缀“ing”(如Waiting、Dailing)的动词,或一些状态的持续时间。 事件和状态之间有某种对称性。事件表示时间点;状态表示时间段。状态对应着对象接收的两次事件之间的时间间隔。 状态是对象的生命周期中的一个条件或状况,在此期间将满足某些条件、执行某些活动或等待某些事件 状态 一个状态有以下几个部分: 1、名称(name ):将本状态与其它状态区分开的文本串 2、进入/退出效应(entry/exit effect):分别为进入和退出该状态时所执行的动作。 3、内部转移(internal transition):不导致状态改变的转移。 4、子状态(substate):状态的嵌套结构,包括非正交(顺序活动)和正交(并发活动)子状态。 5、延迟事件(deferred event):指在本状态下暂不处理,将推迟到该对象的另一个状态下排队处理的事件列表。 状态的不同描述 状态:AlamRinging 描述:手表上响铃以指示预定时间 产生状态的事件序列: setAlam(targetTime) 不包括ClearAlam的任何序列 When(currentTime=targetTime) 刻画状态的条件: Alarm=on,设定响铃时间为target Time,targetTime=currentTime=targetTime+20秒,在targetTime后按下按钮 状态中接收的事件: 事件 响应 下一状态 When(currentTime=targetTime+20) resetAlam normal buttonPushed(any button) resetAlam normal 事件 事件(event)是对一个在时间和空间上占有一定位置的有意义的发生的规约。在状态机中,一个事件是一次激励的发生,激励能够触发状态转移。 事件可以是内部的事件或外部的事件。外部的事件是在系统和它的参与者之间传送的事件。例如一个按钮的按下和来自膨胀传感器的中断是外部事件。内部事件是在系统内部的对象之间传送的事件。溢出异常是一个内部事件。 四类事件 可以用UML对四种事件进行建模 1、信号(signal):是一个具名对象,它由一个对象异步的发送,然后由另一对象接收。信号事件(signal event)是指发送或接收信号的事件。 2、调用事件(call event):一个调用事件表示对象接收到一个操作调用请求。调用事件可能触发状态机中的一个状态转移,或者调用目标对象的一个方法。 3、时间事件(time event):表示一段时间推移的事件或绝对时间上所发生的事件。例如:after 2 seconds。 4、变化事件(change event):表示状态的一个变化或某些条件得到满足的时间。例如:when altitude1000 事件 迁移 迁移(transition)是指从一个状态到另一个状态的瞬间变化,表示对象在某个特定事件发生
您可能关注的文档
最近下载
- 急性胰腺炎护理查房课件(完整版).pptx VIP
- 如何做合格的研究生导师.ppt VIP
- GB50084-2001(2005版)自动喷水灭火系统设计规范.docx VIP
- 绿色“垃圾不落地城市更美丽”节能环保树立垃圾分类新观念PPT模板课件.pptx VIP
- 铁路栅栏改移重点项目施工专项方案.doc
- ApacheCN 编程/大数据/数据科学/人工智能学习资源 2019.8.pdf VIP
- 精品解析:北京市八中2023-2024学年九年级上学期期中考试物理试题(解析版).docx VIP
- 大数据互联网科技PPT模板 .pptx VIP
- (人教版)九年级英语第一次月考试卷(含答案).pdf VIP
- 隐球菌性脑膜炎护理.pptx VIP
文档评论(0)