UML活动图

在面向对象的软件分析及设计中,UML活动图描述了某项功能中控制和动作之间的传递关系。


定义

UML活动图(Activity Diagrams)是一种描述某一特定功能(活动)中,运行行为(动作)和操作逻辑(控制)关系的简单表达方式。它可以作为特定用例的详细逻辑描述。

概念

在活动图中,需要明确以下几个概念:

  • 活动
  • 动作
  • 对象
  • 控制

活动

活动(Activity)是指通常是指一个完整的功能性单元。它由一系列相互关联的动作流组成。

活动整体使用圆角矩形表示,左上角标明活动名称。例如我们可以将撰写blog作为一个活动。

例如在研究一个blog时,被研究的blog就是一个主体

UML活动图_第1张图片

除此之外,也可以将活动中的动作,按照业务模型中的角色或者组织单元进行划分。

从纵向或者横向分为多个矩形空间——泳道。每个泳道中的动作代表,该动作由泳道对应的角色完成。

例如发布博客这个行动会有作者,github源码仓库,blog主页三个参与者

UML活动图_第2张图片

对象

对象(Object)是指活动图中在不同动作之间传递的实体。使用直角矩形表示。

例如在发布博客过程中传递的Markdown格式的文章就是一个对象

动作也使用圆角矩形标识,内部标明动作名称。例如收集资料,就是写博客活动中的一个动作

例如对于blog案例,与其相关的外部角色,就可能是网友或者技术论坛

在表示方法上没有统一规定,可以是一个小人,或者是表示简单类型的类图。

需要注意的是这里的角色是独立于主题之外存在的。

在这里插入图片描述

控制

控制(control)是活动图中的各种逻辑单元。

常见的有活动开始、活动结束、选择分支开始、选择分支合并、并行动作开始、并行动作合并。

  • 活动开始:实心圆+箭头,表示整个活动的开始

在这里插入图片描述

  • 活动结束:包含实心圆的空心圆+箭头,表示整个活动结束

在这里插入图片描述

  • 选择分支开始:空心菱形+分支箭头,表示根据条件选择对应活动执行

UML活动图_第3张图片

  • 选择分支合并:空心菱形+合并箭头,表示活动选择分支合并

UML活动图_第4张图片

  • 并行动作开始:粗实线+分支箭头,表示同时进行多个活动(注:此处可以表示逻辑并行)

在这里插入图片描述

  • 并行动作合并:粗实线+合并箭头,表示同时进行的多个活动合并

在这里插入图片描述

绘制

这里我创建了两个活动图。

第一个是活动图表示blog的部署。活动图采用泳道形式,黄腾霄撰写文章,再把markdown格式的文章传至github仓库,github的ci将其编译成HTML,在传递至github page进行展示。之后我会对展示的文章进行检查,对不满意的地方进行修改,直至文章满意。

UML活动图_第5张图片

第二个活动图表示blog的撰写。撰写blog时,需要先收集信息,然后进行撰写,绘图,写demo,完成文章后进行审查。如果不满意,则回到信息收集过程,重复上述步骤,直至文章满意

UML活动图_第6张图片

参考链接:

  • Unified Modeling Language (UML) description
  • 统一建模语言 - 维基百科,自由的百科全书
  • An association between UML actor and a use case indicates that the actor and the use case communicate with each other.
  • UML Multiplicity and Collections - defining and using multiplicity and collections in UML - lower and upper bounds, cardinality, order, unique.
  • 2019-5-30-UML基础 - huangtengxiao
  • 2019-5-30-UML用例图 - huangtengxiao

本文会经常更新,请阅读个人博客原文: https://xinyuehtx.github.io/ ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名黄腾霄(包含链接: https://xinyuehtx.github.io/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 。

你可能感兴趣的:(uml)