【UML】第16篇 活动图

news2024/11/19 23:30:15

目录

一、什么是活动图

二、应用场景:

三、绘图符号的说明:

四、语法:

五、例图

六、建模的流程

6.1 对业务流程建模时

6.2 对用例进行活动图建模时


一、什么是活动图

活动图(Activity Diagram)是UML中用于描述工作流程或操作执行流程的一种行为图。它展示了操作的流程,包括决策、并行处理、循环等,以及这些流程中涉及的各个活动或动作。

二、应用场景

  1. 业务流程建模:活动图非常适合描述复杂的业务流程,因为它可以清晰地展示流程中的各个步骤、决策点、并行流程等。
  2. 软件需求分析:在软件需求分析阶段,活动图可以帮助分析人员更好地理解系统的功能需求,特别是那些涉及多个用户、多个系统或并行处理的功能。
  3. 系统设计:活动图可以作为系统设计的一部分,描述系统或组件在执行特定功能时的行为。
  4. 工作流建模:对于需要明确指定任务执行顺序的系统,如生产流程控制系统或项目管理系统,活动图可以用来描述工作流。

三、绘图符号的说明

  • 动作/活动(Action/Activity):表示流程中的一个步骤或动作,用矩形表示。
  • 起始节点(Initial Node):表示流程的开始,用实心小黑圆点表示。
  • 活动终点(Activity Final Node):表示流程的正常结束,用带有内圆圈的空心圆表示。
  • 流控制(Flow Control):表示流程的方向,用带箭头的线连接各个活动或节点。
  • 决策/分支(Decision/Branch):表示基于某个条件的决策点,用菱形表示,菱形内通常包含决策条件。
  • 合并(Merge):表示多个分支合并为一个流程的点,也用菱形表示,但通常没有条件。
  • 分叉(Fork)和汇合(Join):表示流程的并行处理,分叉用一条线分为多条线表示,汇合则用多条线合并为一条线表示。
  • 对象流(Object Flow):表示对象在活动之间的流动,用带有标签的虚线箭头表示。

四、语法

在UML中,活动图的语法并不是像编程语言那样的严格规则集合,而是指如何使用上述绘图符号来构建图表。活动图的构建通常遵循以下原则:

  1. 起始节点表示流程的开始。
  2. 活动表示需要执行的任务或步骤。
  3. 决策节点用于根据条件选择不同的流程路径。
  4. 分叉和汇合用于表示并行处理。
  5. 活动终点表示流程的正常结束。
  6. 流控制箭头指示流程的方向。
  7. 对象流表示对象如何在活动之间传递。

活动图通常是通过UML建模工具以图形方式创建的,但也可以用文本或伪代码来描述,特别是在早期的需求分析阶段。然而,对于复杂的系统或流程,图形表示通常更加直观和易于理解。

五、例图

也可以是泳道图来对用例或者对象建模。

六、建模的流程

在建模时,通常选择对业务流程建模或对用例的交互进行建模。

6.1 对业务流程建模时

  1. 选择要描述的业务过程,找出业务过程中的关键对象或参与者,将重要的对象或参与者从左到右依次排开;
  2. 为反应动作状态的执行者,为这些对象或参与者添加泳道;
  3. 找出业务的关键动作状态或活动节点,在对应的泳道中添加动作状态或活动;
  4. 确定业务的起始点及结束状态,为活动图添加初始状态和结束状态;
  5. 从起始状态开始,按照动作的发生次序,依次添加到活动图中;
  6. 连接动作状态,并根据业务情况,添加分叉与汇合、分支与合并等节点;
  7. 如需描述对象的情况,使用对象流来补充活动图。
  8. 审查活动图中是否有遗漏或需要进一步说明的地方,是否需要使用另外一个活动图进一步描述某些活动。

6.2 对用例进行活动图建模时

  1. 选定要建模的用例,确定用例执行的基本流程;
  2. 通过用例的事件流找出参与者的主动动作,把这些动作整理为活动图中的动作状态或活动状态;
  3. 为参与到用例基本流程的参与者和系统添加泳道;
  4. 把动作状态和活动状态添加到对应的泳道中;
  5. 使用分叉与汇合、分支与合并来描述用例执行中的并发动作和特殊事件的备选动作;
  6. 审查活动图是否符合实际情况,是否有遗漏,以及是否需要借助另外一个活动图来描述活动的情况。

(未来会做更详细的探讨,敬请关注)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1371167.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python 基础 面向对象

类 class Student:name Nonegender Nonenationality Nonenative_place Noneage Nonedef say_hi(self):print(self.name)def dowork(self,work):print(f"{self.name} {work}") student1 Student() student1.name "xxx" student1.gender "男&qu…

2024年寒假即将来临 如何实现高质量亲子陪伴?

近日,各地陆续公布了寒假放假时间安排,孩子们期待着迎来一个休闲和轻松的假期。然而,对于许多家长来说,他们也意识到寒假不仅是一个放松的时间,更是一个增进亲子关系的宝贵机会,可以为孩子提供有意义的学习陪伴。 自“双减”政策落地后,学生的课业负担减轻许多,拥有了更多的空余…

机器学习顶会ICML 2024今日开放投稿,CCF A类,中稿率27.94%(附ICML23杰出论文+18篇高分论文)

ICML 2024今天开放投稿了!距离截稿还有24天,想冲ICML的同学速度! ICML 全称 International Conference on Machine Learning,由国际机器学习学会(IMLS)举办,与NIPS一同被认为是人工智能、机器学…

【深入理解 ByteBuf 之三 接口类拆解】1. ObjectPool 接口设计剖析

想了一下,我决定还是做更细化的拆解,也看了很多源码剖析的文章1,以及我之前也写过,一个令人难受的点就是通篇的代码解释,通篇没什么头绪,我看着没头绪,感觉写的也没什么头绪,就是在硬…

尺寸公差分析 -DTAS手机装配公差案例-国产-智能

小细节 大麻烦,公差仿真大改造 DTAS尺寸公差分析软件-国产-智能https://www.dtas-china.com/product.html 仿真要求说明:计算长边装配间隙G1-G6 步骤一:首先双面胶②放在一个工装中,外形定位,然后将后盖①放入到工…

elementui dialog 回车时却刷新整个页面

到处都是坑,这个坑填完另一个坑还在等你。。。坑坑相连,坑坑不同。。。 使用el-dialog弹出一个表单,当我无意间敲到回车键时,整个页面被刷新了,又是一脸的懵逼。。。 经过查找文档发现解决方案为上述截图标记。。。 e…

李家的张麻子:ETL工程师的数据库编程之旅,用ChatGPT打破常规!

数据库编程大赛:一条SQL计算扑克牌24点 12月27日,NineData和云数据库技术社区主办,华为云、火山引擎、开源中国、云和恩墨、TDengine、云猿生数据、DORIS、ITPUB等协办单位和媒体,共同举办了本次《数据库编程大赛》。大赛题目「用…

基于SpringBoot的精品在线试题库系统(系统+数据库+文档)

🍅点赞收藏关注 → 私信领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目 希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅一、绪论 1. 研究背景 现在大家…

PostgreSQL ZIP版安装完全手册

前言 ZIP免安装版下载地址:社区 DL 页面 (enterprisedb.com) 选择所需的版本下载即可。 安装 将下载的zip安装包(我这里下载的是postgresql-15.5-1-windows-x64-binaries.zip)解压至D盘根路径下,解压后路径:D:/pgsq…

vue+springboot+mybatis-plus实现乡村公共文化服务系统

项目前端:https://gitee.com/anxin-personal-project/rural-public-cultural-services-front 项目后端:https://gitee.com/anxin-personal-project/rural-public-cultural-services-behind 1.系统简介 乡村公共服务文化提供给管理员、商家、村民。管理…

k8s-存储 11

一、configmapu存储 首先,确保集群正常,节点都处于就绪状态 Configmap用于保存配置数据,以键值对形式存储。configMap资源提供了向 Pod 注入配置数据的方法,旨在让镜像和配置文件解耦,以便实现镜像的可移植性和可复用…

ASM磁盘管理:从初始化参数到自动化管理的全面解析

文章目录 一、引言二、ASM初始化参数三、ASM三大系统权限四、ASM实例的启停1.Oracle ASM的启停可以通过两种方式进行2.查看集群中的资源状态3.配置 ASM资源随着系统启动而启动4.配置数据库实例随着ASM启动而启动 五、数据库实例与ASM的交互六、 启动策略详解七、 ASM后台进程八…

汇聚数据库创新力量,打造千行万业数据基石

12月28日,以“汇聚数据库创新力量,打造千行万业数据基石”为主题的openGauss Summit 2023在北京举行。会上,openGauss社区理事会理事长胡正策发表《汇聚数据库创新力量,打造千行万业数据基石》主题演讲,他表示&#xf…

面相圆润是有福气的象征

在中国传统文化中,面相是一个非常重要的概念。相信大家肯定听说过“相由心生”这个成语吧,这就是告诉我们,一个人的面貌其实是可以反映出他内心的状态和气质,也可以反映其性格、健康状况和运势等。而一个圆润的面相,则…

代码混淆:保护您的应用程序

目录 引言 什么是代码混淆? 代码混淆常见手段 代码混淆的作用 代码混淆可能带来的问题 常用的混淆工具 如何使用ipaguard进行混淆 总结 引言 在当今数字化时代,移动应用程序已经成为人们生活和工作中不可或缺的一部分。但是,随着应用…

网络之路28:二层链路聚合

正文共:1666 字 14 图,预估阅读时间:2 分钟 目录 网络之路第一章:Windows系统中的网络 0、序言 1、Windows系统中的网络1.1、桌面中的网卡1.2、命令行中的网卡1.3、路由表1.4、家用路由器 网络之路第二章:认识企业设备…

Multimodal Segmentation of Medical Images with Heavily Missing Data

F是mapping function 吐槽 图3太简单了吧。作者未提供代码

C++实现简单贪吃蛇游戏

文章目录 1 开发历程2 开发思路3 使用介绍4 源文件代码5 游戏截图6 小结 1 开发历程 游戏使用C语言开发,是博主某个下午心血来潮的结果,后面又花了点时间加了计分,记录历史得分的功能。 2 开发思路 其实贪吃蛇主要难在蛇身的移动上&#x…

0-1背包问题-例题

题目摘自《卡码网》46题 题意理解 m种材料——对应m物品 大小问n的行李箱——对应大小为n的背包 所以该问题是一个0-1背包问题,采用动态规划的一般思路来解题。 解题思路: 动规五部曲: (1)定义二维dp数组,明…

把图表题注编号由“一.1”改为“1.1“ (方法一)

前置设置: 手打章节标题,“绪论”,“ 相关理论和技术方法”。给章节标题设置样式 “标题一”,设置为一级标题。打开导航窗格,可以不开,我纯粹是为了操作方便。 1、选中第一章的标题--“绪论”,…