- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章;UML建模 设计与分析-状态机图; 通常状态名英文的首字母要大写,并且最好给状态一个以“ing”为结尾的名字。(例如“Dialing”、“Faxing”)。当然有时也无法起这样的名字(例如“Idle”)。; UML状态机图能够展示这种变化,描述了一个对象所处的可能状态以及状态之间的转移,并给出了状态变化序列的起点和终点。
状态机图也叫状态(state),或状态表( statechart)。
状态机图与类图、对象图和用例图有着本质的不同。前面章节介绍过的这3种图能够对一个系统或者至少是一组类、对象或用例建立模型。而状态图只是对单个对象建立模型。; 表征系统变化的方法可以说成是对象改变了自己的状态(state)以响应事件和时间的流逝。例如:
当你拉下电灯的开关时,电灯改变了它的状态,由关变为开。
当你按下远程遥控器的调频按钮时,电视机的状态由显示一个频道的节目变为显示另一个频道的节目。
经过一个适宜的时间后,洗衣机可以由洗涤变为漂洗状态。;状态图机与活动图的区别;基本组成;状态机图标记符
下图显示了圆角矩形代表一个状态,状态间带箭头的实线代表状态的迁移(转移)。箭头指向目标状态。图中的实心圆代表状态转移的起点,公牛眼形圆圈代表终点。;状 态
状态是指对象某个时刻存在的方式,如休眠、打印、验证等。;状 态;开始状态
结束状态
一般状态
复合状态
历史状态
;简单(一般)状态;组合状态
包含子状态的状态称为组合状态(Composite State);例;顺序状态;并发子状态;并发子状态;同步状态;历史状态;例
当从状态“结账”和“显示购物车”返回子状态“显示索引信息”时,将进入的是离开时的历史状态。
也就是说,转到购物或结账区之后,再回到“浏览目录”的页面时,其中的内容是不变的,仍然保留原来的信息。
;子状态机引用状态;转 移;转 移;转 移;转移的组成;转移的区别;事件;事件种类;事件种类;事件种类;事件种类;事件种类;事件种类;转移的细节:事件和动作
可以对状态转移线添加一些细节。可以指明引起转移发生的事件(触发器事件)和引起状态变化所需执行的计算(动作)。添加的事件和动作写在转移线上,触发器事件和动作名之间用反斜杠隔开。有时一个事件会引起没有相关动作的状态转移,或者有时一个转移是由于某个状态完成了它的活动所引起(而不是由于事件引起)。这种类型的状态转移被称为无触发器转移。; 图形用户界面(GUI)是一个可以说明状态转移细节的例子。在这里,假设GUI可以处于以下3种状态之一:
Initializing(初始化)。
Working(工作)。
Shut Down(关闭)。
当打开PC电源的时候,自启动发生。因此Turning the PC on(打开PC)是一个触发器事件,它导致了GUI的状态转移到Initializing状态,而Bootup(自启动)是一个在转移过程中执行的动作。
; 由于Initializing状态中活动的完成,GUI将转移进入Working状态。当你对PC选择ShutDown(关闭机器)时,就生成了一个引起转移到Shuting Down状态的触发器事件,最后PC自己切断电源,整个过程结束。下面的状态图捕获了GUI的这些状态和转移。;转移的细节:监视条件
上面对GUI的状态变迁还有考虑不全之处。首先,如果你离开,你的计算机将无人照管或者你漫无目的坐在一旁,不打字或不碰鼠标,那么过一段时间屏幕保护程序就会运行。用状态转移的术语来说,就是如果GUI在足够的时间内没有接收到用户的输入,那么它将从Working状态转移到另一种状态——Screensaving(屏幕保护)状态。
; 进入屏幕保护状态取决于指定的时间间隔。比如是15分钟。15分钟的时间间隔是一个保护条件——当满足这个条件时,转移才能发生。; 在前面的例子中,引起从Screensaving转移到working的触发器事件可能是一个击键操作、一次鼠标移动或者一次鼠标点击。任何这种类型的事件实际上是一个从用户到GUI的消息。因为对象之间正是通过相互发送消息进行通信,因此这是一个重要概念。在这种情况下,触发器事件是从一个对象(用户);到另一个对象(GUI)的消息。
在接收对象的状态图中,能够触发一个状态转移的消息叫做信号(signal)。在面向对象领域里,发送一个信号就等同于创建一个信号类的实
您可能关注的文档
最近下载
- 2023—2024年全国高中学生化学竞赛(安徽赛区)初赛试题汇编及参考答案.pdf VIP
- 住宅楼、商业楼、幼儿园等劳务分包投标方案技术标.docx
- 人体营养生理学基础.ppt VIP
- 广西科技大学-概率论 试卷期末试题及答案2.pdf VIP
- 2025年浙江省金华市中考科学试题卷(含答案).docx
- 新解读《GB_T 3922-2013纺织品 色牢度试验 耐汗渍色牢度》最新解读.docx VIP
- 2025江西陶瓷工艺美术职业技术学院教师招聘考试试题.docx VIP
- 人教版九年级化学上册基础知识填空.docx VIP
- 哈工大理论力学第五章 点运动学.ppt VIP
- 高中英语语法课件 专题11 名词性从句(讲义)(原卷版).pdf VIP
文档评论(0)