- 1、本文档共74页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章节 状态机图
第9章 状态机图 ?状态机图是系统分析的一种常用工具,用于描述系统的行为。 ?在一般的面向对象技术中状态机图又称为状态迁移图,它是有限状态机的图形表示,用于描述类的一个对象在其生存期间的行为。 ?UML的状态机图主要用于建立类或对象的动态行为模型,表现一个对象所经历的状态序列,引起状态或活动转移的事件,以及因状态或活动转移而伴随的动作。 第9章 状态机图 9.1 状态机 9.1 状态机 ?在计算机技术中,状态机的概念和使用由来已久。 ?在程序设计语言的编译技术中,用有限状态机描述词法分析过程; ?在操作系统中,进程调度、缓冲区调度等都可以采用状态机描述(参见图9.1 )。 ?UML用状态机对系统的动态特征建模。 ?UML定义状态机是一个行为(Behavior),它说明一个模型元素在其生命期间的状态的序列,及其对事件的响应。 ?状态机表示一个模型元素在其生命期间的情况:从该模型元素的开始状态起,响应事件,执行某些动作,引起转移到新状态,又在新状态下响应事件,执行动作,引起转移到另一个状态,如此继续,直到终结状态。 9.1 状态机 例:UNIX操作系统中的进程的生命周期可用状态机简略表示,如图9.1所示。 9.1 状态机 ?状态机由状态、转移、事件、活动、动作等组成。 ?状态(State)表示一个模型元素在生存期的一种状况,如满足某些条件,进行某些活动,或等待某些事件的出现等。一个状态在一个有限的时间段内存在。 ?转移(Transition)表示一个模型元素的不同状态之间的联系。在事件的触发下,一个状态可以转移到另一个状态。 ?事件(Event)是一个有意义的出现(Occurrence)的说明。该出现在某个时间和空间点发生,并且立即触发一个状态的转移。 ?活动(Activity)是在状态机中进行的一个非原子的执行,它由一系列的动作组成。 动作(Action)是一个可执行的原子计算,它导致状态的变更或返回一个值。 ?状态机用于对一个模型元素建立行为模型,该模型元素通常是一个类,也可以是一个Use Case,甚至整个系统。 9.2 状态机图 ?在UML中状态机可以用两种方式可视化地表达:状态机图和活动图。 ?状态机图(State Machine Diagram)着重于对一个模型元素的可能的状态及其转移建立模型。活动图着重于对一个活动到另一个活动的控制流建立模型。 ?状态机图由表示状态的节点和表示状态之间的转移的弧组成。 ?在状态机图中,若干个状态节点由一条或多条转移弧连接,状态的转移由事件触发。模型元素的行为模型化为在状态机图中的一个周游,在此周游中状态机执行一系列的动作。 ?一个状态机图表现了一个对象(或模型元素)的生存史,显示触发状态转移的事件和因状态改变而导致的动作。 9.2 状态机图 ?UML的状态机图的图形元素有如下几种: 1.状态 ?状态用一个带圆角的矩形框表示,框内标有状态的名称和其他一些信息。 ?状态图标可以进一步划分成3个分隔框:名称框、内部转移框和嵌套状态机图框,如图9.2所示。 ?在名称框中标出状态的名称。 ?在内部转移框中规定动作或活动。 9.2 状态机图 ?状态可以是简单状态或组合状态。 ?包含有子状态的状态称为组合状态(Composite State)。 ?在一个组合状态的嵌套状态机图的分隔框内放置被嵌套的子状态机图。对于一个简单状态,嵌套状态机图分隔框可以缺省。 9.2 状态机图 2.转移 ?转移用实箭线表示,箭尾连接出发状态,即源状态,箭头连接到达状态,即目标状态。 ?在箭线上可以标示与该转移有关的选项:事件、警戒条件(Guard Condition)和动作。 ?当处于源状态的对象接收到一个事件,并且警戒条件得到满足(如果有警戒条件的话)时,则执行相应的动作,并从源状态转移到目标状态。如果在转移箭线上不标示触发转移的事件时,则从源状态转移到目标状态是自动进行的。 ?状态转移的图形表示如图9.3所示。 9.2 状态机图 3.初始状态(Initial State) ?初始状态是模型元素的初始状况,代表一个状态机图的起始点,是一个伪状态(Pseudo State)。 ?初始状态用一个实心的圆表示。 4.终结状态(Final State) ?终结状态是模型元素的最后的状态,代表一个状态机图的终止点,是一个伪状态。 ?终结状态用一个圆中套一个小实心圆表示。 9.2 状态机图 5.判定(Decision) ?判定是在状态机图中的一个特定的位置,工作流(Work flow)在此按警戒条件的取值而发生分支。 ?判定用空心小菱形表示。 ?一般,判定只有一个入转移和两个出转移,警戒条件为布
您可能关注的文档
- 第9章节 Transact-SQL程序设计3.ppt
- 第9 章节 8253定时器.ppt
- 第9章节 磁盘存储器管理Chapter 9 Disk Storage Management(1.ppt
- 第9章节 项目风险管理.ppt
- 第9章节 9.3 代数优化.ppt
- 第9章节 GPS测量数据处理.ppt
- 第9章节 Illustrator导出和打印.ppt
- 第9.1章节热力学.ppt
- 第9章节 图zzh.ppt
- 第9章节 地形图及其应用.ppt
- 2025年中国锻铁围栏市场调查研究报告.docx
- 2025年中国椭圆型市场调查研究报告.docx
- 2025年中国无蔗糖原味豆浆市场调查研究报告.docx
- 2025-2031年中国泛在电力物联网行业发展运行现状及投资潜力预测报告.docx
- 2025年中国制袋机零件市场调查研究报告.docx
- 2025年中国智能除垢型电子水处理仪市场调查研究报告.docx
- 2025-2031年中国甘肃省乡村旅游行业市场深度研究及投资策略研究报告.docx
- 2025-2031年中国干海产品行业市场发展监测及投资战略规划报告.docx
- 2025年中国全铝图解易拉盖市场调查研究报告.docx
- 2025年中国人造毛皮服装市场调查研究报告.docx
文档评论(0)