会流程图却不会UML活动图?活动图深度剖析,就怕你学不会!

Posted pddon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了会流程图却不会UML活动图?活动图深度剖析,就怕你学不会!相关的知识,希望对你有一定的参考价值。

1. UML活动图是啥?

也许很多人都不怎么了解活动图,但是却对流程图很熟悉,你暂且可以简单的把活动图理解为UML里的流程图,用来描述系统的行为特征。不过UML活动图对比于流程图来说也存在不少差异,本文将在第三章节讲解活动图与流程图和其他相关类型绘图之间的区别。

活动图是用于描述系统行为的一种动态模型视图,它可用来描述动作和动作导致对象状态改变的结果,而不用考虑引发状态改变的事件。活动既可以是手动执行的任务,也可以是自动执行的任务。它可完成一个工作单元。 比如:描述用户注册账号、用户在线购买商品等等流程,活动图侧重于描述的是系统的行为,而非系统的处理过程。

活动图是状态图的一种特殊形式。其中所有或多数状态都是活动状态,而且所有或多数转移都在源状态中的活动完成时立即触发。

声明:本文所有绘图均使用PDDON在线画图绘制,一款画图功能完全免费且支持低代码的在线画图工具!

2. 活动图应用场景

2.1 为什么要用活动图?

活动图的作用主要体现在:

  • 描述一个操作的执行过程中所完成的工作或者动作
  • 描述对象内部的工作/操作
  • 显示如何执行一组相关的动作,以及这些动作如何影响周围对象
  • 描述用例执行的一种动态视图

2.2 活动图的应用场景

一般活动图会配合用例图一起使用,我们通常使用用例图表达产品需求,确定功能的系统边界,接着通过活动图来表达用例之间的流程。用例图是需求结构化的表达,能够比较容易的看到系统包含哪些功能,是静态的,单纯从用例图没办法了解用例之间是怎么流通的,因此我们会通过活动图来配合,表达出用例的流程。

  • 用例图示例

  • 活动图示例

3. 活动图其他类似绘图的区别

3.1 活动图与流程图的区别

  1. 流程图着重描述处理过程,它的主要结构是顺序、分支和循环,各个处理过程之间有严格的顺序和时间关系;而活动图描述的是对象活动的顺序关系所遵循的规则,他着重表现的是系统的行为,而非系统的处理过程。
  2. 活动图能够表示并发活动的情形,而流程图不能。
  3. 活动图是面向对象的,而流程图是面向过程的。

3.2 活动图与BPMN的区别

BPMN主要是描述可执行模型图,需要被工作流引擎或业务流程管理系统精确解释生成代码,而且是可执行的,描述的粒度更细,符号更多,标识的含义越精确。

  1. 活动图是技术性的,属于UML建模的一种动态视图,通常用在软件系统的设计阶段,是给参与人交流的一种图示。而BPMN是业务性的,用于描述程序执行流程,可以生成可执行的声明文件,可用于流程引擎动态执行。
  2. 作为一个整体,BPMN图比业务图更容易让业务利益相关者理解
  3. BPMN包含特殊的建模元素,使其更适合业务目的。活动图建模元素相对来说更简单和单一。
  4. BPMN比活动图更好地建模B2B交互

3.3 活动图与UML时序图的区别

UML活动图和时序图(顺序图)都是用来描述系统的动态行为视图的,但是分析视角不一样,对应的侧重点也不同。

  1. 时序图用于描述对象之间的传递消息的时间顺序, 即用例中的行为顺序。活动图用来描述动作和动作导致对象状态改变的结果。
  2. 时序图主要强调一系列操作在时间上的顺序。活动图主要强调不同操作之间的触发机制和操作内容。
  3. 时序图主要描述系统/对象间的消息传递(交互过程)。活动图主要描述操作间的逻辑关系。

3.4 活动图与状态图的区别

  1. 活动图侧重从行为的动作来描述活动;而状态图更侧重从行为的结果来描述状态。
  2. 活动图是一种动态图;状态图兼顾动态图静态图的属性。
  3. 状态图和活动图在图形表示上的差别:活动图有决策点(判断)和 同步,而状态图没有。
  4. 状态图着重描述从一个状态到另一个状态的流程,主要有外部事件的参与。活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程。

4. UML活动图的组成结构

4.1 组件概览

所有图例均使用PDDON在线画图绘制,因为比较喜欢卡通风格绘图,所以使用了PDDON的一键转手绘功能,活动图常用元素(组件)如下图所示:

4.2 组成元素介绍

下面我们来详细讲解一下各种组件的特征和用途!

  • 活动
    表示工作流过程中命令的执行或活动的进行。

  • 状态
    一个活动图中只能有一个开始状态,但可以有多个终止状态或结束状态。

  • 分支
    活动的执行过程中,遇到需要判断的地方,则用菱形来表示,这也是流程产生分支的地方。

  • 同步条
    用于将一个控制流分为两个或多个并发运行的分支。亦或用于将两个或多个控制流合并到一起形成一个单向的控制流。
    分支:一入多出,用于并行执行多个步骤

合并:多入一出,用于多个并行步骤汇集到同一流程

  • 执行顺序
    带箭头连线,与流程图一样,用带箭头的连线,将不同活动按顺序连接起来。

  • 泳道
    用于对活动图中的活动进行分组,用于描述对象之间的合作关系。

  • 对象
    用活动图描述某个对象时,可以把涉及到的对象放置在活动图中,并用一个依赖将其连接到进行创建、修改和撤销的动作状态或者活动状态上,对象的这种使用方法就构成了对象流。

5. 使用PDDON免费制作的常用绘图示例

我平时喜欢使用PDDON画图,不仅仅是因为它免费,最重要的是它真的很好用,画出来的图也非常漂亮,功能十分强大,就像下面这些图都是用PDDON绘制出来的。

  • 用例图

  • 活动图

  • 状态图

  • 部署图

  • 组件图

  • 时序图

  • 类图

其他图

为啥要使用PDDON画图呢?

  • 在线画图,打开浏览器就能用,无论windows、mac、linux系统,支持市面上大部分浏览器:chrome、Firefox、edge、360安全/极速、Safari等浏览器,最好都使用新版本浏览器,画图体验更好,IE不提供支持,UC浏览器兼容性也比较差,不建议使用,而且手机上也能画图哦!
  • PDDON完全免费,但不同于其他免费软件,PDDON非常好用,而且一直在迭代更新,致力于提供更简单高效美观的绘图软件服务
  • pddon为每种类型绘图做了定制化功能增强,并非是纯图形绘制,在逻辑功能上进行增强,更易于使用
  • 对程序员和设计者更友好,提供了低代码能力,自动生成SQL和代码节省了编码的时间,而且不易出错,能最大程度保持设计稿与代码的一致性
  • 国人开发的,功能体验对国内用户更友好
  • 提供了很多傻瓜式的智能操作功能,能快速一键切换连线、绘图风格
  • 智能辅助绘图功能简化用户操作,对无绘图经验的用户更友好
  • 功能简化用户操作,对无绘图经验的用户更友好
  • 近期刚推出1.0版本,广受用户喜爱,好评不断

6. 总结

PDDON除了可以用来画UML活动图,还可以绘制其他UML图(用例图、状态图、时序图、类图、组件图、包图、部署图),而且还支持流程图、架构图、部署图、网络拓扑图、思维导图、数据库模型图、鱼骨图、韦恩图、自由风格(白板作图)绘图等等一系列绘图,提供的丰富组件可以绘制各种市场营销、产品分析、学习计划、工作相关等等相关的绘图,绘图支持导出各种常见矢量图和非矢量图,可以很容易的插入到您的word文档、ppt、pdf、markdown等各种文档中,关注PDDON在线画图公众号,再也不用担心找不到好用的画图工具了。

PDDON声明:提供的画图功能绝不收费,欢迎大家免费使用。

喜欢的朋友可以关注我,定期分享画图教程和绘图模板。

觉得不错的朋友可以点赞、喜欢、收藏哦,谢谢大家。

相关文章推荐

# ER图和数据库模型图有啥区别呢?

# 软件设计之UML用例图大白话教程

# 优秀的流程图应该怎么绘制呢?

# 有没有一种支持对象建模、数据库建模和低代码能力的工具,用来解放程序员生产力呢?

# 安利一款支持手绘/卡通/草图风格的绘图软件,支持流程图、架构图、uml、白板作图哦!

UML之活动图

活动图 activity diagram

活动图应该是这5种图中最不需要多废口舌的,因为它和我们常见的流程图很像,就是按照时间顺序将活动的逻辑整理出来。


看到这里,自然有人会问,这些实心圆圈、圆角矩形等的具体UML绘图语法必须要全部掌握吗?按下图这样「原始」的画法去画有没有问题?
其实,在日常的工作中,基本没有工程师会太过于纠结你的绘图语法正确与否;因此,形式和语法不用太过学院派,只要能够向读者清晰表达和传递意思即可。

 

状态机图 state machine diagram

活动图是将流程分解为一个个的活动,通过活动的先后顺序来展示流程;而状态机图则是围绕一个事物的状态为中心来讲述流程。
还是以审批为例,这次我们围绕审批单为中心来描述流程。假设审批单有待审批、已撤销、审批通过和审批拒绝这4种状态,那么我们绘制的状态机图如下:
通过这个审批单的状态机图,我们能够清晰地看出审批单的状态以及影响其状态的原因和活动;在一定程度上,它帮助我们减轻了设计审批单的工作量,也帮助工程师对审批流程有更好的理解。




以上是关于会流程图却不会UML活动图?活动图深度剖析,就怕你学不会!的主要内容,如果未能解决你的问题,请参考以下文章

UML之活动图

UML学习——活动图

uml活动图

uml中活动图与流程图的区别

UML活动图

软件工程-UML流程图&活动图