天天看点

《软件建模与设计: UML、用例、模式和软件体系结构》一一2.6 状态机图

本节书摘来自华章计算机《软件建模与设计: uml、用例、模式和软件体系结构》一书中的第2章,第2.6节,作者:(美)hassan gomaa,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

在uml表示法中,一个状态转换图被称为状态机图。本书使用状态图(statechart)这一更为通用的术语。在uml表示法中,圆角框表示状态,连接圆角框的弧线表示转换,如图2-7所示。状态图的初始状态(initial state)用一个始于小黑圆圈的弧线表示。终结状态(final state)是可选的,它被描绘为嵌套在大白圈中的小黑圆圈,有时也被称为靶心(bull’s-eye)。状态图可以按层次分解,将一个组合状态分解成为一组子状态。

在表示状态转换的弧线上,使用事件[条件]/动作(event[condition]/action)进行标记。事件(event)引起了状态的转换,当事件发生时,为了发生转换,可选的布尔条件(condition)必须为真。可选的动作(action)作为转换的结果被执行。一个状态可具有以下任意的动作:

进入动作(entry action),它在进入状态的时候执行

退出动作(exit action),它在退出状态的时候执行

图2-7描述了一个被分解为顺序的子状态a1和a2的组合状态a。在这种情况下,状态图在一个时刻内只会处于一个子状态,即进入第一个子状态a1然后进入子状态a2。图2-8描述了一个被分解为正交区域(orthogonal region)bc和bd的组合状态b。在这种情况下,状态图在同一个时刻进入了每一个正交区域bc和bd中。每一个正交的子状态被进一步分解为顺序的子状态。因此,当进入组合状态b时,同样进入了状态b1和b3。

《软件建模与设计: UML、用例、模式和软件体系结构》一一2.6 状态机图

继续阅读