UML图总结三
状态图(状态机图)
概念
状态机图也称状态图。
状态图主要用于描述一个对象在其生存期间的动态行为,表现一个对象所经历的状态序列,引起状态转移的事件(event),以及因状态转移而伴随的动作(action)。
状态图在检查、调试和描述类的动态行为时非常有用。
一般可以用状态机对一个对象的生命周期建模,状态图是用于显示状态机的,重点在于描述状态之间的控制流。
状态机图对一个单独对象的行为建模,指明对象在它的整个生命周期里,响应不同事件时,执行相关事件的顺序。用来表示指定对象,在整个生命周期,响应不同事件的不同状态。
示例一
如上图所示,是一个简单的状态图的例子。
这个状态图中描述的对象除了初态和终态外,还有Idle和Running两个状态,而KeyPress、finished、shutdown等是事件。
示例二
图中描述了,门在其生命周期内所经历的状态。
状态机
它背后的概念是关于组织设备、计算机程序或其他(通常是技术)过程的工作方式,以便实体或其每个子实体始终恰好处于多种可能状态中的一种状态,并且其中存在良好的状态-定义这些状态之间的条件转换。
UML状态图引入了分层嵌套状态和正交区域的新概念,同时扩展了动作的概念。
UML状态机支持依赖于系统状态和触发事件的动作,它们与状态而不是转移相关联。
术语“UML 状态机”可以指代两种状态机:
(1)行为状态机
行为状态机可用于对单个实体(例如,类实例)、子系统、包甚至整个系统的行为建模。
(2)协议状态机
协议状态机用于表达使用协议,可用于指定分类器、接口和端口的合法使用场景。
许多软件系统都是事件驱动的,这意味着它们不断等待某些外部或内部事件的发生,例如鼠标单击、按钮按下、时间滴答或数据包到达。识别事件后,此类系统通过执行适当的计算做出反应,其中可能包括操纵硬件或生成触发其他内部软件组件的“软”事件。(这就是事件驱动系统也被称为反应式系统的原因。)一旦事件处理完成,系统就会返回等待下一个事件。
关联关键词
state diagram 状态机图
statechart diagram 状态图