zhjr-第八章状态图重点.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文档。上传文档
查看更多
《统一建模语言与建模工具》 状态图 教学要求 状态图概念、定义、作用 状态及其表示法、状态图的标记符 状态转换、事件、条件的概念 掌握状态图的阅读和绘制方法。 重点:状态图的基本概念和元素 难点:复合状态图的表达 目 录 8.1 状态图的基础知识 8.2 状态图组成 8.2.1 状态、状态表示法 包括名称、入口/出口动作、内部转换、子状态(嵌套状态)和延迟事件等五个部分 8.2.2 初始状态(initial state) 8.2.3 终止状态(final state) 8.2.4 转换和转换的五要素 8.2.5 判定与复合转换 8.2.6 状态嵌套和历史状态 8.3 并发状态图(不做要求) 8.4 状态图设计实例 8.5 绘制状态机图 8.1 状态图的基础知识 1.状态机 状态机是一种记录下给定时刻状态的设备,它可以根据各种不同的输入对每个给定的变化而改变其状态或引发一个动作,如计算机、各种客户端软件、Web上的各种交互页面都是状态机。 在UML中状态机由对象的各个状态和连接这些状态的转换组成,是展示状态与状态转换的图。 在面向对象的软件系统中,一个对象无论多么简单或者多么复杂,都必然会经历一个从开始创建到最终消亡的完整过程,这个过程通常被称为对象的生命周期。 一般说来,对象在其生命周期内是不可能完全孤立的,它必然会接受消息来改变自身或者发送消息来影响其他对象。而状态机就是用于说明对象在其生命周期中响应事件所经历的状态序列以及对这些事件的响应。 在状态机的语境中,一个事件就是一次激发的产生,每个激发都可以触发一个状态转换。 8.1 状态图的基础知识 2.状态图 定义:状态图是众多开发人员都十分熟悉甚至经常使用的工具,它描述了一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转移。 大多数面向对象技术都使用状态图来描述一个对象在其生命周期中的行为,尤其是通过给单个类绘制状态图以表该类单个对象的生存期行为。 对象从产生到结束,可以处于一系列不同的状态。状态影响对象的行为,当这些状态的数目有限时,就可以用状态图来为对象的行为建模,显示其生命的整个进程。状态图把系统或对象所经历的状态以及导致状态转变的事件以图的方式显示出来。 3.在画对象的状态图时,需要考虑以下因素: 1)对象有哪些有意义的状态。 2)如何决定对象的可能状态。 3)对象的状态图和其他模型之间如何进行映射。 8.2 状态图组成 在UML中状态图由表示状态的节点和表示状态之间转换的带箭头的直线组成。 状态的转换由事件触发,状态和状态之间由转换箭头连接。 每一个状态图都有一初始状态(实心圆),用来表示状态机的开始,还有一个终止状态(半实心圆),用来表示状态机的终止。 一个简单的状态图如下图所示。 状态图的基本符号 1.状态名 状态名指的是状态的名字,通常用字符串表示,其中每个单词的首字母大写。状态名可以包含任意数量的字母、数字和除冒号“:”以外的一些符号,可以较长,连续几行。但是一定要注意一个状态的名称在状态图所在的上下文中应该是惟一的,能够把该状态和其他状态区分开。 2.入口和出口动作 一个状态可以有或者没有入口和出口动作。入口和出口动作分别指的是进入和退出一个状态时所执行的“边界”动作。 这些动作的目的是封装这个状态,这样就可以不必知道状态的内部状态而在外部使用它。 入口动作 :【用entry/动作】表示 出口动作:【exit/动作】表示 3.内部活动(inner activity) 状态可以包含表达式的内部活动。【do/活动】表示 当状态进入时活动在进入动作完成后就开始。 如果活动结束,状态就完成,执行出口动作,然后一个从这个状态出发的转换被触发,否则状态等待触发转换以引起状态本身的改变。 如果在活动正在执行时转换触发,那么活动被迫结束并且退出动作被执行。 4.內部转换 内部转换指的是不导致状态改变的转換。跟外部转换形式是一样的。 5.延迟事件 延迟事件是一种特殊的事件,它是指该事件不会触发状态的转换,当对象处于该状态时事件不会丢失,但会被延迟执行。例如,当E-mail程序中正在发送第一封邮件时,用户下达发送第二封邮件执令就会被延迟,但第一封邮件发送完成后,这封邮件就会被发送。这种事件就属于延迟事件;再如打印事件。 在状态内部用/defer表示延迟事件 8.2.2 初始状态(initial state) 每个状态图都应该有一个初始状态,它代表状态图的起始位置。 初始状态是一个伪状态(一个和普通状态有连接的假状态),对象不可能保持在初始状态,必须要有一个输出的无触发转换(没有事件触发器的转换)。 通常初始状态上的转换是无监护条件的 并且初始状态只能作为转换的源,而不能作为转换的目标 在UML中一个状态图只能有一个初始状态,用一个

文档评论(0)

南非的朋友 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档