上篇文章,介绍了UML的基础知识,并详细介绍了UML中类图的知识点与画法。
本篇,来继续介绍UML中的另一种图——状态图。
状态图,显示一个状态机,属于UML活动图。
UML具有许多不同类型的图表,包括:
- 静态图:用例图、类图、包图
- 动态图:活动图、状态图、时序图、协作图
状态机用于对模型元素的动态行为进行建模,或是说对系统中受事件驱动的方面进行建模。
状态是状态机的重要组成部分,描述了状态机所在对象动态行为的执行所产生的结果
这三个都是****伪状态 (Pseudostate):
UML中使用一个圆角矩形表示一个一般状态
状态的组成部分:
复合状态,或称组合状态,是指包含有子状态的状态。
如下图,“复合状态2”即为复合状态,内部的“状态2-1”、"状态2-2"为子状态。
也可用以下形式表示,将复合状态的内容单独画出。
注:图中的圆圈内一个H字母,表示****历史状态 ,它也是一个伪状态,其目的是记住从组合状态中退出时所处的子状态,当再次进入组合状态,可直接进入这个子状态,而不是再次从组合状态的初态开始
转换(Transition)是两个状态之间的关联。表示对象在第一个状态(Source State)中执行一定的动作,并在某个特定事情发生并且某个特定的条件满足时进入下一个状态(Target State)。
一般情况下的状态转换是两个不同状态之间的转换,示意图如下:
转换的组成部分:
自身转换(Self-Transitions),是指状态可以有返回自身状态的转换。
对于复合状态之间的转换,需要注意本地转换(Local transition)与外部转换(External transition)的不同。
上图中,左边是本地转换,右边是外部转换。
新建一个visio文件,打开后会自动提示选择创建某种类型的图,这里选择"软件和数据库 ->UML状态机"
点击确定之后,会进入UML状态图的编辑界面,左侧可以看到用于UML状态图编辑的基本元素,将这些元素拖拽到右侧的编解面板中,可以看到这些元素的基本结构形式:
下面是一个UML状态图的实例:
这是一个全自动洗衣机的UML状态图,主要包括“设置”、“工作中”、“暂停”这3个状态。
本篇介绍了UML状态图的基础知识,并通过visio绘制一个全自动洗衣机的UML状态图实例,来介绍UML状态图的画法与所表达的含义。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !