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

简介:

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

2.6 状态机图

在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。

image

相关文章
|
1月前
|
机器学习/深度学习 人工智能 测试技术
【软件设计师备考 专题 】软件工程的未来:面向构件和统一建模语言(UML)
【软件设计师备考 专题 】软件工程的未来:面向构件和统一建模语言(UML)
71 0
|
2月前
|
存储 测试技术 开发工具
软考中的UML图、数据流图等二十余种示例
软考中的UML图、数据流图等二十余种示例
179 0
|
3月前
|
测试技术 uml
UML面向对象建模题库
UML面向对象建模题库
40 0
|
3天前
|
Java uml
UML之组件图(构件图)
UML之组件图(构件图)
8 0
|
3月前
|
程序员 uml
UML图 | 时序图(顺序、序列图)绘制
UML图 | 时序图(顺序、序列图)绘制
125 0
|
4月前
|
设计模式 关系型数据库 程序员
UML中常用设计模式OCP、单例模式、简单工厂模式等模式讲解及C#中代码实现(附源码)
UML中常用设计模式OCP、单例模式、简单工厂模式等模式讲解及C#中代码实现(附源码)
44 0
|
4月前
|
测试技术 uml
UML—浅谈常用九种图
UML—浅谈常用九种图
53 0
|
6月前
|
设计模式 数据可视化 程序员
设计模式概述、UML图、软件设计原则
设计模式概述 软件设计模式的产生背景 "设计模式"最初并不是出现在软件设计中,而是被用于建筑领域的设计中。 1977年美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大(Christopher Alexander)在他的著作《建筑模式语言:城镇、建筑、构造》中描述了一些常见的建筑设计问题,并提出了 253 种关于对城镇、邻里、住宅、花园和房间等进行设计的基本模式。 1990年软件工程界开始研讨设计模式的话题,后来召开了多次关于设计模式的研讨会。直到1995 年,艾瑞克·伽马(ErichGamma)、理査德·海尔姆(Richard Helm)、拉尔夫·约翰森(Ra
41 0
|
8月前
|
uml Python
将python源码自动生成UML图——扩张包Graphviz+Pyreverse
将python源码自动生成UML图——扩张包Graphviz+Pyreverse
327 0
|
8月前
|
数据可视化 测试技术 uml
UML概述及UML图详解
UML概述及UML图详解
201 0
UML概述及UML图详解