uml建模第十章-状态机图
- 格式:ppt
- 大小:1.64 MB
- 文档页数:47
UML状态机图1.状态机图的作用状态机图是用来为对象的状态及造成状态改变的事件建模。
UML的状态机图主要用于建立对象类或对象的动态行为模型,表现一个对象所经历的状态序列,引起状态或活动转移的事件,以及因状态或活动转移而伴随的动作。
状态机图也可用于描述Use Case,以及全系统的动态行为。
状态机图表示一个模型元素在其生命期间的情况:从该模型元素的开始状态起,响应事件,执行某些动作,引起转移到新状态,又在新状态下响应事件,执行动作,引起转移到另一个状态,如此继续,直到终结状态。
2.状态机图的基本元素状态机图的基本元素包括:状态、转移、事件、伪状态和复合状态。
状态图由状态(state,圆角矩形)与转换(transition,连接状态的箭头)组成。
引起状态改变的触发器(trigger)或者事件(event)沿着转换箭头标示。
如图所示灯光有2个状态:off与on。
当lift switch或者lower switch事件被触发时,灯光状态会改变。
图表1 状态图的基本元素状态图通常有初始伪状态(initial pseudostate)和最终状态(final state),分别表示状态机的开始和结束。
初始状态用实心圆表示,终止状态用牛眼表示。
图表2状态图中的初始伪状态与最终状态2.1状态(state)状态是指在对象生命周期中满足某些条件、执行某些活动或等待某些事件的一个条件和状况。
一个状态通常包括名称、进入/退出活动、内部转换、子状态和延迟事件等五个部分组成。
图表3 带分栏的状态在状态图的下面部分可以标识内部活动,包括事件和动作(event/action)。
Entry和exit事件是标准的,任何一个进入状态的转换都将会调用entry动作,任何一个退出状态的转换都将会调用exit动作,而且也可以添加自己的事件。
与do行为不同,进入和退出行为是无法被中断的。
图表4状态的内部行为例如,咖啡机正在煮咖啡的状态(Brewing),并且可以把行为写在状态内。
UML的状态机图UML(Unified Modeling Language)是一种标准化的建模语言,用于描述软件系统中的各种构建块和交互关系。
UML的状态机图是其中一个最为重要的建模图之一。
什么是状态机图?状态机图是一种用于描述对象行为的UML图表。
它以有限状态机的形式描述对象或系统在不同状态下对事件以及其他因素产生的响应。
状态机图显示了对象的状态及其之间的转换。
状态机图主要由三个部分组成:状态、转移和事件。
状态表示对象或软件系统处于的状态,转移表示状态之间的转换,事件则表示导致状态转换的触发器或条件。
状态机图的建立过程在建立状态机图之前,需要先确定对象或软件系统的状态、转移和事件。
1. 确定状态首先需要确定对象或软件系统可能出现的所有状态。
每个状态都应该有一个名称、一个描述以及一个标识符。
状态可以是“初态”(启动状态)、“终态”(结束状态)或“中间态”(中间状态)。
2. 确定转移和事件根据对象或软件系统的实际情况,确定状态之间的转移以及导致转移的事件或条件。
每个转移都应该有一个名称、一个标识符以及一个触发器。
触发器可以是一些条件,例如键盘上的一个按键或计时器到期,也可以是上一个状态完成某些任务导致的条件。
例如,在一个自动售货机的状态机图中,售货机可能处于“待机”、“已付款”、“正在出货”、“出货完成”四种状态。
当用户选择购买商品并投入硬币时,售货机会从“待机”状态转移到“已付款”状态,并且会关闭“使用硬币”事件。
当售货机完成出货并关闭接口时,它会从“正在出货”状态转移到“出货完成”状态。
状态机图的用途状态机图有很多用途。
它可以用于描述产品或系统的交互设计,也可以用于演示API和网络安全策略的行为。
一些常见的用途包括:1. 软件开发状态机图可以在软件开发过程中用于确定软件的行为、处理错误和异常情况、定义状态转换以及帮助代码实现。
通过建立状态机图,可以更好地理解软件中各个状态的流转情况,从而提高软件开发效率。
UML状态机图1.状态机图的作用状态机图是用来为对象的状态及造成状态改变的事件建模。
UML的状态机图主要用于建立对象类或对象的动态行为模型,表现一个对象所经历的状态序列,引起状态或活动转移的事件,以及因状态或活动转移而伴随的动作。
状态机图也可用于描述Use Case,以及全系统的动态行为。
状态机图表示一个模型元素在其生命期间的情况:从该模型元素的开始状态起,响应事件,执行某些动作,引起转移到新状态,又在新状态下响应事件,执行动作,引起转移到另一个状态,如此继续,直到终结状态。
2.状态机图的基本元素状态机图的基本元素包括:状态、转移、事件、伪状态和复合状态。
状态图由状态(state,圆角矩形)与转换(transition,连接状态的箭头)组成。
引起状态改变的触发器(trigger)或者事件(event)沿着转换箭头标示。
如图所示灯光有2个状态:off与on。
当lift switch或者lower switch事件被触发时,灯光状态会改变。
图表1 状态图的基本元素状态图通常有初始伪状态(initial pseudostate)和最终状态(final state),分别表示状态机的开始和结束。
初始状态用实心圆表示,终止状态用牛眼表示。
图表2状态图中的初始伪状态与最终状态2.1状态(state)状态是指在对象生命周期中满足某些条件、执行某些活动或等待某些事件的一个条件和状况。
一个状态通常包括名称、进入/退出活动、内部转换、子状态和延迟事件等五个部分组成。
图表3 带分栏的状态在状态图的下面部分可以标识内部活动,包括事件和动作(event/action)。
Entry和exit事件是标准的,任何一个进入状态的转换都将会调用entry动作,任何一个退出状态的转换都将会调用exit动作,而且也可以添加自己的事件。
与do行为不同,进入和退出行为是无法被中断的。
图表4状态的内部行为例如,咖啡机正在煮咖啡的状态(Brewing),并且可以把行为写在状态内。
UML狀態機圖1.狀態機圖の作用狀態機圖是用來為對象の狀態及造成狀態改變の事件建模。
UMLの狀態機圖主要用於建立對象類或對象の動態行為模型,表現一個對象所經歷の狀態序列,引起狀態或活動轉移の事件,以及因狀態或活動轉移而伴隨の動作。
狀態機圖也可用於描述Use Case,以及全系統の動態行為。
狀態機圖表示一個模型元素在其生命期間の情況:從該模型元素の開始狀態起,回應事件,執行某些動作,引起轉移到新狀態,又在新狀態下回應事件,執行動作,引起轉移到另一個狀態,如此繼續,直到終結狀態。
2.狀態機圖の基本元素狀態機圖の基本元素包括:狀態、轉移、事件、偽狀態和複合狀態。
狀態圖由狀態(state,圓角矩形)與轉換(transition,連接狀態の箭頭)組成。
引起狀態改變の觸發器(trigger)或者事件(event)沿著轉換箭頭標示。
如圖所示燈光有2個狀態:off與on。
當lift switch或者lower switch事件被觸發時,燈光狀態會改變。
圖表1 狀態圖の基本元素狀態圖通常有初始偽狀態(initial pseudostate)和最終狀態(final state),分別表示狀態機の開始和結束。
初始狀態用實心圓表示,終止狀態用牛眼表示。
圖表2狀態圖中の初始偽狀態與最終狀態2.1狀態(state)狀態是指在對象生命週期中滿足某些條件、執行某些活動或等待某些事件の一個條件和狀況。
一個狀態通常包括名稱、進入/退出活動、內部轉換、子狀態和延遲事件等五個部分組成。
圖表3 帶分欄の狀態在狀態圖の下麵部分可以標識內部活動,包括事件和動作(event/action)。
Entry和exit事件是標準の,任何一個進入狀態の轉換都將會調用entry動作,任何一個退出狀態の轉換都將會調用exit動作,而且也可以添加自己の事件。
與do行為不同,進入和退出行為是無法被中斷の。
圖表4狀態の內部行為例如,咖啡機正在煮咖啡の狀態(Brewing),並且可以把行為寫在狀態內。
状态图目录:一、状态图简介(Brief introduction)二、状态图元素(State Diagram Elements)1、状态(States)2、转移(Transitions)3、动作(State Actions)4、自身转移(Self-Transitions)5、组合状态(Compound States)6、进入节点(Entry Point)7、退出节点(Exit Point)8、历史状态(History States)9、并发区域(Concurrent Regions)三、状态图案例分析(State Diagram Example Analysis)四、总结(Summary)一、状态图简介(Brief introduction)状态图(Statechart Diagram)主要用于描述一个对象在其生存期间的动态行为,表现为一个对象所经历的状态序列,引起状态转移的事件(Event),以及因状态转移而伴随的动作(Action)。
一般可以用状态机对一个对象的生命周期建模,状态图用于显示状态机(State Machine Diagram),重点在与描述状态图的控制流。
如下图例子,状态机描述了门对象的生存期间的状态序列,引起转移的事件,以及因状态转移而伴随的动作(Action).状态有Opened、Closed、Locked。
事件有Open、Close、Lock和Unlock。
注意:1、并不是所有的事件都会引起状态的转移,比如当门是处于【Opened】状态,不能进行【Lock】事件。
2、转移(Transition)有警备条件(guard condition),比如只有doorWay->isEmpty 条件满足时,才会响应事件。
二、状态图元素(State Diagram Elements)1、状态(States)指在对象的生命周期中的某个条件或者状况,在此期间对象将满足某些条件、执行某些活动活活等待某些事件。
状态图目录:一、状态图简介(Brief introduction)二、状态图元素(State Diagram Elements)1、状态(States)2、转移(Transitions)3、动作(State Actions)4、自身转移(Self-Transitions)5、组合状态(Compound States)6、进入节点(Entry Point)7、退出节点(Exit Point)8、历史状态(History States)9、并发区域(Concurrent Regions)三、状态图案例分析(State Diagram Example Analysis)四、总结(Summary)一、状态图简介(Brief introduction)状态图(Statechart Diagram)主要用于描述一个对象在其生存期间的动态行为,表现为一个对象所经历的状态序列,引起状态转移的事件(Event),以及因状态转移而伴随的动作(Action)。
一般可以用状态机对一个对象的生命周期建模,状态图用于显示状态机(State Machine Diagram),重点在与描述状态图的控制流。
如下图例子,状态机描述了门对象的生存期间的状态序列,引起转移的事件,以及因状态转移而伴随的动作(Action).状态有Opened、Closed、Locked。
事件有Open、Close、Lock和Unlock。
注意:1、并不是所有的事件都会引起状态的转移,比如当门是处于【Opened】状态,不能进行【Lock】事件。
2、转移(Transition)有警备条件(guard condition),比如只有doorWay->isEmpty 条件满足时,才会响应事件。
二、状态图元素(State Diagram Elements)1、状态(States)指在对象的生命周期中的某个条件或者状况,在此期间对象将满足某些条件、执行某些活动活活等待某些事件。