第7章_状态机图资料
- 格式:ppt
- 大小:4.73 MB
- 文档页数:158
UML的状态机图UML(Unified Modeling Language)是一种标准化的建模语言,用于描述软件系统中的各种构建块和交互关系。
UML的状态机图是其中一个最为重要的建模图之一。
什么是状态机图?状态机图是一种用于描述对象行为的UML图表。
它以有限状态机的形式描述对象或系统在不同状态下对事件以及其他因素产生的响应。
状态机图显示了对象的状态及其之间的转换。
状态机图主要由三个部分组成:状态、转移和事件。
状态表示对象或软件系统处于的状态,转移表示状态之间的转换,事件则表示导致状态转换的触发器或条件。
状态机图的建立过程在建立状态机图之前,需要先确定对象或软件系统的状态、转移和事件。
1. 确定状态首先需要确定对象或软件系统可能出现的所有状态。
每个状态都应该有一个名称、一个描述以及一个标识符。
状态可以是“初态”(启动状态)、“终态”(结束状态)或“中间态”(中间状态)。
2. 确定转移和事件根据对象或软件系统的实际情况,确定状态之间的转移以及导致转移的事件或条件。
每个转移都应该有一个名称、一个标识符以及一个触发器。
触发器可以是一些条件,例如键盘上的一个按键或计时器到期,也可以是上一个状态完成某些任务导致的条件。
例如,在一个自动售货机的状态机图中,售货机可能处于“待机”、“已付款”、“正在出货”、“出货完成”四种状态。
当用户选择购买商品并投入硬币时,售货机会从“待机”状态转移到“已付款”状态,并且会关闭“使用硬币”事件。
当售货机完成出货并关闭接口时,它会从“正在出货”状态转移到“出货完成”状态。
状态机图的用途状态机图有很多用途。
它可以用于描述产品或系统的交互设计,也可以用于演示API和网络安全策略的行为。
一些常见的用途包括:1. 软件开发状态机图可以在软件开发过程中用于确定软件的行为、处理错误和异常情况、定义状态转换以及帮助代码实现。
通过建立状态机图,可以更好地理解软件中各个状态的流转情况,从而提高软件开发效率。
状态机图1.概述状态机图(State Machine Diagram)是用来显示状态机的图,包括简单状态、转换和嵌套的复合状态等,一个典型的状态机图如图1所示:图1. 状态机图2.基本表示符号状态机图的基本元素包括:状态、转移、事件、伪状态和复合状态。
2.1状态(State)状态是对象生命周期中的一个条件或形态。
状态由对象的属性值、与其他对象的关系以及正在执行的活动来确定。
在UML中,状态用圆角矩形和状态名表示,初始状态用实心圆表示,终止状态用牛眼表示,如图2所示:图2. 状态状态可以有一个或多个分栏,这些分栏是可选的,包括名称分栏、嵌套区域、内部转换分栏等,如图3所示:图3. 带分栏的状态状态也可用圆角矩形上带有状态名称标签的方框表示,如图4所示:图4. 带有名称标签符号的状态2.2转移(Transaction)转移表示状态之间可能的路径,可以表示外部转换(用箭头表示),也可以表示内部转换(嵌套在状态内部)。
如图5所示:图5. 转移2.3事件(Event)事件是对,在特定时间和空间上,所发生的有意义的事情。
在状态机中,事件触发转移,事件或者显示在转换之上,或显示在状态以内。
共有四种类型的事件:信号事件、调用事件、时间事件、改变事件。
信号用于对象间异步传递的信息包,它没有任何操作,只有自身携带的信息。
信号事件是通过信号来触发的事件,在UML中,信号如图6所示:图6. 信号调用事件是请求在类语境的实例上调用特定的操作,在UML中,调用事件如图7所示:图7. 调用事件时间事件用关键字after表示,说明事件被触发的临界时间。
改变事件用关键字when表示,说明将事件改变所满足的条件。
如图8所示:图8. 时间事件和改变事件2.4伪状态(Pseudo State)伪状态指在一个状态机中具有状态的形式,同时具有特殊行为的顶点。
它是一个瞬时状态,用于构造转换的细节。
当伪状态处于活动时,状态机还没有完成从运行到完成的步骤,也不会处理事件。
说明对象对生存周期内可能检测到事件的响应描述对象随时间变化的动态行为描述对象在外部事件作用下的状态状态图:以状态为中心,对系统的动态方面建模活动图:以活动为中心,对计算流程和工作流程建模简单状态不包含子状态具有内部转换、入口动作和出口动作初次进入复合状态,要从嵌套的子状态的初始状态开始执行离开复合状态,再次进入时,希望从离开时所处于的子状态(历6组合状态的分类与表示复合状态被激活时,只能有一个子状:外部作用于对象,触发对象状态改变根据时间流逝,触对象处在某状态时,外部事件已产生,但没有执行(相应)事件,而是延迟到其他状态响应15外部转换改变对象的状态离开状态,执行状态的出口动作电水壶的状态图自动激发状态的入口动作或出口动作通过分支判断,将若干个简单转换组Copyright By Chd.Wang ,E-Mail :Chdwang@ 17向不同的目标状态表示:菱形框活动图是描述系统或业务的一序列活动构成的控制流,它描述了系统从一种活动转换到另一种活描述业务或软件系统的活动轨迹对业务过程、工作流和用例实现进行建模初始节点、终点、活动节点、转换、分支、分岔与汇合活动节点是活动图中最主要的元素之一表达式描述活动节点Chdwang@ 27进入转换”和“一个种条件时才执行该转换订单处理的活动图每个活动都是既没有标识活动的执行者,也没有标识活动执行过程中创建了哪三个活动节点“供应商送货”、“修改订单项状态”以有效地表示各个活动的通过泳道,不仅体现了整个活动控制流,还体现出”和“打印机”两个活动执行者30在活动图中,标识对象与活动节点的关系标识哪些对象从活动节点中输出标识对象流的活动图分钟轮不到,就去隔壁的肯德基假设小张排在最前面信号,执行“进入必胜客”活动;否则小,E-Mail:Chdwang@标识扩展区的活动图表示一个活动需要活动“收款”是一个子活动图订单处理的活动图扩展区表示活动节点的循环执行”,通过分支表”,更“供应商送货”、“修改订单项以及分支“所有订单项已送货完毕”都完整状态图建模完整状态图建模P173图10.13状态,drawer)若此时按下装入Copyright By Chd.Wang,E-Mail:Chdwang@10.4参考答案参考答案不需要从历史状态默认的转换,当CD机启动时,直接10.6参考答案参考答案 参考答案Copyright By Chd.Wang ,E-Mail :Chdwang@,E-Mail :Chdwang@ 63不考虑初态和终态状态和关闭事件状态和打开事件Dim 状态和变暗事件E-Mail :Chdwang@ 64初步分析E-Mail :Chdwang@ 65Copyright By Chd.Wang ,E-Mail :Chdwang@ 6610.13参考答案Copyright By Chd.Wang ,E-Mail :Chdwang@ 67(b)Copyright By Chd.Wang ,E-Mail :Chdwang@ 68(c)。