状态图
状态图(Statechart Diagram)是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应。通常我们创建一个UML状态图是为了以下的研究目的:研究类、角色、子系统、或组件的复杂行为。
状态图的图符
-状态
-转移
-起点
-终点
状态机
·状态机是这样一种行为,它描述了一个对象或一个交互在生命周内响应事件所经历的状态序列
·单个类或一组类之间协作的行为可以用状态机来描述
·一个状态机涉及到一些其他元素,包括状态、转换(从一个状态到另一个状态的流)、事件(触发转换的)
状态
·状态是指在对象的生命期中满足某些条件、执行某些活动或等待某些事件时的一个条件或状况
·一个状态有以下几部分:
(1)名称Name
(2)进入协作和退出动作entry action/exit action
(3)内部转换 Internal transition
(4)子状态substate
(5)延迟事件deferred event
状态
·特殊状态
-初始状态
-终止状态
转换
·一个转换是两个状态之间的一种关系,表示对象将在第一个状态中执行一定的动作,并在某个特定事件发生而某个特定的条件满足时进入第二个状态
·一个转换有5部分组成:
-源状态source state
-事件触发event trigger
-监护条件guard condition
-动作action
-目标状态targer state
电话机状态图
活动图和状态图区别:
·状态图侧重从行为的结果来描述(状态)
状态图是描述一个状态到另一个状态的流程,是外部事件的参与
·活动图侧重从行为的动作来描述(活动)
活动图主要表现从一个活动到另一个活动的控制流,是内部驱动的流程
总结:
适用活动图的范围
-描述一个并行的过程或者行为
-描述一个算法
-描述一个跨越多个用例的活动