UML之活动图

    活动图主要用于描述系统中对象的一个活动到另一个活动的控制流、一个事务的活动序列、工作的流程和并发的处理能力.


活动图内容

    1、活动状态图(Activity)


    2、动作状态(Actions)
        (1)、动作状态是原子的,它是构造活动图的最小单位。
        (2)、动作状态是不可中断的。
        (3)、动作状态是瞬时的行为。
        (4)、动作状态可以有入转换,入转换既可以是动作流,也可以是对象流。动作状态至少有一条出转换,这条转换以内部的完成为起点,与外部事件无关。
        (5)、动作状态与状态图中的状态不同,它不能有入口动作和出口动作,更不能有内部转移。
        (6)、在一张活动图中,动作状态允许多处出现。


    3、动作流(Control Flow)
        动作流表示了动作使用对象以及动作对对象的影响


    4、开始节点(Initial Node)

        一个实心圆表示初始节点


    5、终止节点(Final Node)

        一个圆圈内加一个实心圆

        不一定要定义活动终点.活动终点表示所有被触发的活动都执行完毕,没有待执行的活动


     6、对象流(Object Flows)

    

    7、分支与合并(Decision and Merge Nodes)

        分支与警戒条件:分支用菱形表示.每个离开转换都会有一个警戒条件,用来表示满足什么条件的时候执行该转换.

           

        合并路径:

            

    8、分叉与汇合(Fork and Join Nodes)

        

     9、泳道(Partition)

        将活动用虚线分成一些纵向的区域.每个区域代表特点类/人或部门的一个责任区.

        泳道和类并不是一一对应的关系

        泳道显示了对象对系统所做的贡献


    10、转换

        当一个活动结束时,控制流就会马上传递给下一个活动节点,在活动图中称之为"转换",用一条带箭头的直线来表示.

        


        

实现活动图时,最终要将活动分配给类来实现


活动图与状态图的同异

相同点

不同点

1、描述图符基本一样

1、描述重点不同:状态图描述的是对象的状态和状态之间的转移,活动图描述的是活动到活动的控制流。

2、都可以描述一个系统和对象在生存期间的状态和行为

2、活动图中的状态转换不需任何触发事件,活动图中的动作可以放在泳道中,而状态图不可以。

都可以描述系统或对象在多线程操作中的同步和并发行为

3、使用场合不同。状态图用来显示一个对象及其生命周期内的行为,活动图用于描述用例、涉及多个用例的工作流程和多线程应用。

都可以采用分支流描述一个系统或对象的行为控制

 


    状态图是用于确定某个类(或者说是对象)的各种状态转换,例如,冰、水、水蒸气三种表示了水的三种状态。

    活动图是表示某个过程中步骤的先后顺序,一个活动到另一个活动,比如冰加热变成水蒸气的过程,1.冰块融化成水;2.水蒸发变成水蒸气。是状态图的另一种形式

 

 

活动图与流程图的同异

活动图

流程图

表示并发活动的情形

表示串行过程

面向对象,着重表现系统的行为

面向过程,着重描述系统的处理过程

活动图功能包含了流程图

 

 

是否可用活动图

    可以使用活动图的情况:

        对用例进行分析

        分析多个用例的工作流

        处理多线程

 

    不可使用活动图的情况

        显示对象间的合作

        显示对象在其生命周期内的运转情况


下面是我画的机房收费系统上机的一个活动图




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阳光下是个孩子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值