- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件需求分析与建模- 状态机和状态图 I 引 言 在软件系统中有这样一类对象, 它们一方面需要处理各种随机发生的事件序列,通过相应的动态行为产生对事件的响应 另一方面,其特定时刻的动态行为取决于此对象在早些时刻的行为的结果。 I 引 言 根据当前事件,以及对以前事件的响应的结果决定对当前事件的响应的软件对象的动态行为,称为是事件驱动的。 在UML里,最适合于描述这类动态行为的建模手段,就是状态机。 状态机 用状态:记录以前的动态行为的结果, 用变迁:描述软件对象对外来事件的响应以及响应的状态的变化。 例如:图1描述一个软件的图形用户界面的动态行为的状态机。 它描述的是一个位图观察器的图象浏览工具的动态行为。 它可以通过鼠标在窗口上拖动图象,以观察图象的不同局部。 在UML中,除了状态机之外,还有一种为动态行为建模的手段,这就是交互图。 交互强调的是对象之间的互相协作, 通过软件对象的交互实现软件系统的设计功能。 状态机则强调的是 对象本身对对象外部发生的事件的响应及伴随的状态的变化。 对状态机而言,它所能描述的对象是广义的。 状态机描述的对象 可以是类的实例, 可以是用例的实例, 甚至可以是非软件对象。 对于任何一个对象, 如果此对象的动态行为具有事件驱动的特性,就适合于用状态机来建模 2、状态机的定义及构成 状态机用于为具有事件驱动的特征的动态行为进行建模。 事件驱动的动态行为的特点: 对象当前时刻的动态行为将取决于:当前的事件输入和此对象在以前时刻的动态行为产生的结果。 为描述这类动态行为,状态机内部设置了 状态和变迁 在UML里,设有相应的图形符号以描述这些建模元素。 状态机:在类层次反映状态与状态转化的图,它是一个类的对象的所有可能的生命历程的模型。主要用来捕捉外部事件引起的变化,它将一个对象与其外部世界隔离开来独立考察其行为。不宜用来描述系统的整体运作(如有此要求,可用序图)。状态机用来描述界面和控制类业务比较合适。 状态是软件对象在其生存期内满足特定条件的存在,在此条件下,对象能执行特定的动作、或等待事件的发生。 状态被图形化表示为一个圆角矩形(图3)。 除了用圆角矩形表示的状态外, 还有两种特殊的状态,初始状态和终止状态。 状态机所在对象在创建后状态机产生的第一个变迁将从初始状态出发。 用带实心圆的圆环表示的状态称为状态机的终止状态(final state)。 变迁 变迁被定义为软件对象的两个状态之间的关系,表明在指定的事件发生后,在特定的条件下,对象执行指定的动作,并进入另一个状态。 变迁被图形化表示为 连接两个状态的箭头, 箭头起始端是变迁发生前的状态, 箭头所指的状态是变迁完成后的状态。 3、变迁的构成 变迁用来描述:状态机所在的对象所处的状态的变换。 变迁由事件触发,变迁的激发还将伴随着特定的动作的执行。 在UML里,变迁由五个部分构成,它们是: 起始状态 目标状态 触发事件(event trigger) 触发条件(guard condition) 变迁动作。 (1)、起始状态和目标状态 变迁被激发之前对象所处的状态就是变迁的起始状态 变迁完成之后,对象的状态发生了变化,这时对象所处的状态就是变迁的,目标状态。 在绘制状态机时, 变迁的起始状态位于表示变迁的箭头的起始位置; 变迁的目标状态是表示变迁的箭头所指向的那个状态。 一个变迁可以有多个起始状态, 这时,代表状态机所在对象中的多个控制流在变迁发生的时刻汇合为一个控制流。 一个变迁也可以有多个目标状态 它表示状态机所在对象在变迁被激发的时刻其中的一个控制流被分解为多个控制流。 (2)、触发事件 变迁的触发事件描述的就是引发状态机所在对象的动作的事件。 触发事件是状态机在某变迁的起始状态状态下能接受的一个事件,此事件的发生使得变迁的激发成为可能。 (3)、触发条件 要使变迁被激发,状态机所在对象必须还满足触发条件。 触发条件是一个布尔表达。 (4)、变迁动作(action) 变迁动作是伴随着变迁的激发被执行的一个元计算。 (5)、触发事件、触发条件、变迁动作的图形化表示 在绘制变迁时,变迁的触发事件、触发条件和变迁动作被表达成一个字符串被放置在表示变迁的箭头上。此字符串又被称为变迁的文字标记(text label)。变迁的文字标记的格式如下: 触发事件[触发条件]/变迁动作 什么是状态图? 状态图描述了一个对象或交互过程在它的生命周期中对一系列外界激励的所呈现出的不同状态以及它相应的响应和活动。 状态机用状态和瞬时过程的变化图形来表示是一个对象对外界激励下的响应。状态机一般附着在一个对象或具体的方法上。 状态图描述了一个状态机,在我们考虑的范围内,它们是同一件事。 状态图:描述交互对对象内部的影响,交互图中的消息在这里变
您可能关注的文档
最近下载
- 考研真题 中国药科大学710药学基础综合(一)历年考研真题汇编.docx VIP
- 2025云南省高等职业技术教育招生考试计算机信息类(技能考核)试题(F1).doc VIP
- 南通蓝印花布印染技艺 生活应用精品 门帘.ppt VIP
- 国网35条严重违章及其释义解读课件PPT.pptx VIP
- 2025年度神经内科五年发展规划.docx
- 14J936 变形缝建筑构造.docx
- 20S517- 排水管道出水口.pdf VIP
- 2025云南省高等职业技术教育招生考试计算机信息类(技能考核)试题(F5).doc VIP
- 2025-2030中国注意缺陷多动障碍(ADHD)疗法行业市场发展趋势与前景展望战略研究报告.docx
- 南通蓝印花布印染技艺 生活应用精品 服饰.ppt VIP
原创力文档


文档评论(0)