前言
都说对比学习是一个非常高效的学习方法,这次就把活动图和状态图写在一篇博客中,方便对比,高效总结。
内容
活动图
活动图是UML行为图的一种,用来描述一个过程或者操作的工作步骤。工作过程中的每一步或每一个活动步骤称为一个活动。它由以下几个部分组成:
1、起点:用来表示活动图中所有活动的起点,有且只有一个。
2、终点:用来表示活动图中各个活动的终点,可以有多个。
3、活动:指的是系统可以执行的动作。
4、判断条件:活动流程出现的分支与决策。
5、转移:用来连接起点、终点、活动、判断、同步条等。
6、同步条:指的是判断下可以同步运行的信息流。
(ps:活动图与流程图很相似,但是他们的区别就在于活动图可以有同步活动,而流程图没有。)
7、泳道:不知道大家有没有发现,活动图有一个缺点,就是不能显现出来活动的执行者。正因为此,泳道产生了。泳道就是对活动按照对象进行分组,用于描述对象之间的协作关系。
下面是我画的机房收费系统中有关上下机的活动泳道图:
状态图
状态图是用来描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转移。状态图有以下几部分组成:
1、起点:表示状态图中状态的起点。
2、终点:表示状态图中状态的重点。
3、状态:表示状态图中对象的所有可能发生的状态。
4、转移:用来连接起点、终点、状态,主要表示一个状态向另一个状态变化。
因为状态图是描述对象状态转移的,是针对一个对象的。所以我从类图中找到了“卡”这一个对象,画了它的状态图:
比较
1、联系:两者都是行为图的一种,都是描述系统的动态行为的。
2、差别:活动图侧重描述对象的活动行为,也就是一个一个活动,例如遥控器的活动为打开电视、调换频道、关闭电视等。而状态图是描述对象的状态,也就是一个一个状态。例如电视的状态可以是关闭或者播放等。