软件协同设计:系统动态分析之—UML活动图

活动图是 UML 用于对系统的动态行为建模的一种常用工具,属于 UML 行为图(行为图,状态图)的一种。

活动图与流程图类似,但不完全相同,在结构化程序设计中,流程图用来描述一个程序的流程,与活动图的主要区别如下。

  • 流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理过程之间有严格的顺序和时间关系。

  • 活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程。

UML活动图介绍:

活动图是一个重要的 UML 图,它主要用来描述系统的动态方面。

在 UML 中,对系统动态方面建模主要有 交互图 和 活动图 两种形式,交互图更倾向于描述对象到对象的控制流,而活动图侧重描述活动的顺序,展现从一个活动到另一个活动的控制流。

活动图的组成元素:

在这里插入图片描述

下面来一一解释各个组成元素的作用

活动(Action)

在这里插入图片描述
活动图的主要结点,用两边为弧的条形框表示,中间写活动名。
活动具有原子性,它是一个不可中断的动作

活动流(Action Flow)

在这里插入图片描述
描述活动之间的有向关系,反映一个活动向另外一个活动的转移。用带箭头的实线表示

对象流(Object Flow)

在这里插入图片描述

对象流反映活动与对象之间的依赖关系,表示对象对活动的作用或活动对对象的影响,用依赖关系表示。

分支(Decision Node)与合并(Merge Node)

在这里插入图片描述

分支表示活动流要根据不同的条件(监护条件似乎可有可无)决定转换的去向。分支包括一个入转换和多个出转换,出转换之间是互斥的;

合并表示两个或者多个控制路径在此汇合的情况。合并包括多个入转换和一个出转换。

开始(Initial Node)与结束(Final Node)

在这里插入图片描述

活动图中的开始和结束是两个标记符号,分别标记了业务流程的起始位置和结束位置。

要注意的是:一个完整的活动图中必须有且仅有一个开始标记,并且一般情况下至少有一个结束标记

在本文章中为了方便描述,很多地方没有加开始和结束结点

分叉与汇合

在这里插入图片描述

分叉与汇合用来对并发的控制流建模。

分叉用于将活动流分为两个或多个并发运行的分支。
汇合用来表示并行分支在此得到同步。
注意:有“分叉”必须有“汇合”,“分叉”与“汇合”必须成对出现。

泳道(Swimlane)

在这里插入图片描述

泳道是活动图中的区域划分。每一个泳道代表一个责任区域,指明活动是由谁负责的或发起的,不同泳道之间由分割线区分。
要注意的是:只有活动流和对象流允许穿越分隔线。

综合案例:

题目:绘制产品入库的活动图
由车间人员填写入库单,仓库管理审批入库单,如果审批不通过,退回入库单车间人员需要修改原有入库单信息重新申请入库,如果审批通过,由仓库管理安排车间人员进行产品入库。
在这里插入图片描述

结语:

  UML 真是一个复杂的工具,学起来也是真的有意思,不过相关权威的文献资料不少都是从英文翻译过来的,不同的书说法在细微处也有所不同,网上对 UML 的介绍也是种类繁多。。。本蒟蒻在对 UML 活动图的学习过程中,总结了这篇学习笔记,如果本文还有什么不恰当的地方,欢迎大佬们指正。

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值