【前言】今天介绍的是两种动态行为图——活动图和状态图。对比学习法使我们学习过程中的一个重要的学习方法,我们把这两个图放到一些学习,找出他们之间的不同点和相同点,那么我们的学习就变得容易了。
一、活动图
1、初步认识
解释:活动图和我们之前做机房的时候画的流程图相类似,但是活动图可以描述并行活动。
缺点:很难清除的描述动作与对象之间的关系,没有交互图直接。作用:1.描述一个操作的执行过程中所完成的工作或者动作;
2.描述对象内部的工作
3.显示图和执行一组相关的动作,以及这些动作如何影响周围对象;
4.描述用例的执行;
5.处理多线程应用;
当然也不是所有的场合都适合使用活动图,当显示对象之间的合作以及在其生命周期内的运转情况。
2、图符
1)起始状态(Start State):只有一个2)终止状态(End State):可以有一个或多个
3)活动状态(State):工作流程中执行某个活动或步骤
4)状态迁移(State Transition):活动状态之间的转移,也就是表示各种活动状态的先后顺序,不同于一般转移支出就是不需要触发器事件来触发而是通过完成活动来触发。
5)决策点(Decision):一种表示判断决策的特殊活动
6)同步条(Synchronization Bar):表示活动之间的同步
7)泳道(Swimlane):用于对活动图中的活动进行分组,用于描述对象之间的合作关系。
3、如何画出一个漂亮的活动图
1)定义活动图的范围2)添加起始和结束点
3)添加活动
4)添加活动间的转变
5)添加决策点
6)找出可并行活动之处
二、状态图
1、初步认识
解释:状态图用来描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转移。存在复杂的状态转换才需要画状态图。2、状态图元素
1)状态(State)指在对象的生命周期中的某个条件或者状况,在此期间对象将满足某些条件、执行某些活动等待某些事件。所有对象都有状态,状态是对象执行了一些列活动的结果,当某个事件发生后,对象的状态将发生变化。
状态:
初始状态:同活动图
终止状态:同活动图
2)转移(Transitions)
转移是两个状态之间的一种关系,表示对象将在源状态中执行一定的动作,并在某个特定事件发生而且特定的警界条件满足时进入目标状态。
3、绘制状态图的步骤
1)寻找主要的状态2)确定状态之间的转换
3)细化状态内的活动与转换,用复合状态来展开细节
【总结】上面的图都是我按照自己的理解画的,欢迎大家提出修改意见,我们一起交流进步!
我认为状态图是勇于确定某个类或对象的各种状态的转换,比如冰、水和水蒸气表示了水的三种状态,强调的是行为的结果;而活动图是表示某个过程中步骤的先后顺序,比如冰加热变成水蒸气的过程(首先冰块化成水,水蒸发变成水蒸气),强调的是行为的过程。