《信息系统分析与设计》7章:状态机图.docVIP

《信息系统分析与设计》7章:状态机图.doc

  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文档。上传文档
查看更多
PAGE 1 PAGE 8 第7章 状态机图 本章导读 状态机图用于对象的行为建模。本章介绍状态机中涉及到的状态、状态转换、事件、复合状态、并发状态、子机状态、控制结点等概念,并给出几个状态机模型的实例。 主要知识点 ■ 状态 ■ 状态转换 ■ 事件 ■ 复合状态 ■ 并发状态 ■ 控制结点 ■ 子机状态 ■ 状态机 7.1 几个基本概念 7.1.1 状态(state)指事物在其生命周期中满足某些条件、执行某些操作或等待某些事件而持续的一种稳定的状况。一个事物在它的生命期中会有一系列状态,处于某种状态意味着它满足某些条件,执行特定活动,或者等待某些事件发生,每个状态都需持续一段有限的时间。例如,设备具有待用、运行和故障等状态。设备在待用状态如果启动运行,则进入运行状态,如果关闭设备则又回到待用状态。当设备出现故障则进入故障状态,设备被维修好后又返回到待用状态。 7.1.2 状态机(state machine)描述一个事物在其生命期中,所具有的状态,以及因事件触发而引起的状态的各种转换。一个事物在其生命期中会具有多种状态,并会因事件触发而引起状态的转换。例如,商店中的商品具有订购、库存、待售、已售、报废等状态。与供货商签订订单之后,商品处于订购状态,商品到货入库后转为库存状态,商品出库放到销售货架上处于待售状态,销售出去后进入售出状态,如果因为损坏或清库而报废则处于报废状态。签订订单、到货入库、出库、销售等是引发商品状态转换的事件。 7.1.3 图7 图7.1状态机图 状态机图(state machine diagram)是UML用来描述状态机的图,在UML2.0版本之前,状态机图被称为状态图。状态机图由状态结点、控制结点和转换边构成。状态结点描述事物的状态,可分为简单状态、复合状态和子机状态等类型。控制结点用来协调状态关系、控制状态转换的流程,有开始状态、终止状态、分叉与汇合、选择、汇接等。转换边用来连接状态机图中的结点,表示状态因事件触发,由源状态到目标状态的转换。图7.1是描述商店商品的状态机图。 7.2 状态 7.2.1 状态的 状态用圆角矩形表示。每一个状态应该有名字,状态的名字用标识符表示。状态名如果用英文,第一个字母要大写。状态的名字放在圆角矩形里面,见图7.2。 图7 图7.2状态的表示 7.2.2 状态的 状态可以分为下面几种类型: 1)简单状态:不包含子状态和子机状态的状态,也被称为原子状态。 2)复合状态:内部包含子状态的状态。 3)子机状态:由状态机作为复合状态中的一个子状态。 7.2.3 状态的 一个状态的内部可以包括多个动作和事件。当事物处在该状态时,就可能执行这些动作或事件,状态的动作或事件写到状态名下面,见图7.3。一个状态可以有入口动作、出口动作、内部变迁、延迟事件等。 图7 图7.3 状态动作或事件 1. 入口动作 入口动作是转入该状态时,自动执行的第一个动作。在进入该状态后,在该状态中的其他所有活动均在入口动作之后发生,转入一个状态仅执行一次入口动作。入口动作表示为extry/do shing,例如,extry/dooropen。 2. 出口动作 出口动作是转出该状态时,自动执行的最后一个动作。该动作执行之后,就将由该状态转换到下一个状态。出口动作表示为exit/do shing,例如,exit/door close。 3. 内部变迁 内部变迁指在该状态内部执行的动作,该动作不会引起状态的变换。在一个状态内部可以有多个内部变迁,内部变迁总是在入口行为之后,出口行为之前执行。内部变迁表示为do/thing,例如,do/check up on work。 4. 延迟事件 延迟事件表示在当前状态下,如果发生某个事件,该事件将被延迟处理。延迟事件表示为:事件/defer,例如,print/defer(15),表示打印事件将被延迟15秒。 7.3 状态转换 7.3.1 状态转换(state transition)是两个状态之间的一种有向关系,表示从源状态转换到目标状态。状态转换用一个带箭头的实线表示,箭头由源状态指向目标状态。在实线上标注状态转换的触发事件、监护条件和转换状态的动作,状态转移可表示为图7.4的形式。 图7 图7.4 状态转换 7.3.2 在某种条件下,发生某种事件,执行某个动作而引起事物从源状态转换到目标状态,触发事件、监护条件和转换动作被称为引发状态转换的三要素,状态转换的三要素标注在状态转换线上,见图7.4。 1. 触发事件 指触发状态转换的事件。例如,开门,关门,入库,出库等。如果在转换中没有触发事件,则表示源状态执行完成后,不需要事件的触发自动转换到目标状态。 2. 监护条件 监护条件放到方括号中间,用来监护状态转换。在事件发生后,如果监护条件为真,则执行动作,并

文档评论(0)

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

北京教育部直属高校教师,具有十余年工作经验,长期从事教学、科研相关工作,熟悉高校教育教学规律,注重成果积累

1亿VIP精品文档

相关文档