UML状态机图技术总结.pptxVIP

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

文档评论(0)

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

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

1亿VIP精品文档

相关文档