活动图activity diagram
活动图activity diagram
系列文章
[UML]UML系列——用例图中的各种关系(include、extend)
[UML]UML系列——类图class的关联关系(聚合、组合)
[UML]UML系列——类图class的实现关系Realization
活动图的引入:先上实例
实例描述:假如现在有一个简单的音乐盒,用户根据歌曲名称搜索自己喜爱的音乐,找到后,用户可以以MP3模式播放(同步显示歌词),也可以以MV模式播放。由于音乐和歌词都来自于互联网,因此在播放之前应连接这些文件。
根据上述描述,该音乐盒的用例图如下:

描述MP3播放功能:

实例引入:活动图的作用

求最大分数:

该过程的代码描述:

1 public class assistant
2 {
3 public int id;
4 ……
5 public int max(int score1, int score2, int score3)
6 {
7 int temp;
8 temp = score1;
9 if (score2 > temp)
10 temp = score2;
11 if (score3 > temp)
12 temp = score3;
13 return temp;
14 }
15 }

活动图的概念及作用
概念
活动图本质上是一种流程图,它描述活动的序列,即系统从一个活动到另一个活动的控制流。
活动图的作用
描述用例,描述类的操作,另外,可以用来描述算法(单独使用)。
活动图的基本符号

活动(动作)
1、活动的概念
表示工作流过程中命令的执行或活动的进行。
2、活动的符号

状态

注意:一个活动图中只能有一个开始状态,但可以有多个结束状态。(例如上面的MP3活动图,就有2个结束状态)
转移(动作流)
活动之间、活动与状态之间的转换。

分支与合并

分支
根据条件的取值决定动作的流向。

合并
合并将俩条路径连接到一起,合并成一条路径。

活动图的其他符号
分叉和汇合
分叉
用于将一个控制流分为两个或多个并发运行的分支。

汇合
用于将两个或多个控制流合并到一起形成一个单向的控制流,符号与分叉相同。
如果一个控制流在其他控制流到达之前到达了连接,它将会等待,知道所有控制流都到达了才会向连接传递控制权。

实例:销售合同从签订到履约的过程
销售合同签订后,要进行核对。如果发现错误,则终止履约;如果没有错误,则要核对货物清单确定是否有货,还要核对付款单确定对方是否已经付款,只有这两项都完成,才可以发货。如果无货或对方尚未付款,则终止履约。则活动图如下:

泳道
泳道表明每个活动是由哪些人或哪些部门负责完成。

在活动图中泳道区分了负责活动的对象,它明确地表示了哪些活动是由哪些对象进行的。
在包含泳道的活动图中每个活动只能明确地属于一个泳道。
简单模拟卓越网的购物流程

添加泳道之后:

从左到右:顾客、运输部、财务部
对象流
用活动图描述某个对象时,可以将涉及到的对象放到活动图中,并用一个依赖将其连接到活动或状态上,对象的这种使用方法就构成对象流。

上面的购物过程的活动图加入对象流之后:

活动图的Rose建模
一、创建活动图
右击use case view ->new->activity diagram”

二、重命名活动图并双击打开活动图窗口

三、绘制活动图的关键步骤
1、添加泳道
(1)添加泳道:单击工具栏上的泳道按纽,在活动图窗口中单击。
(2)重命名泳道:双击泳道标签,弹出如下窗口

(3)调整泳道的宽度:拖动泳道间的调整线

(4)删除泳道
方法1:右击泳道->delete

此删除操作产生的效果:
泳道被删除(非彻底删除,可恢复)
泳道内的图形也会同时被删除(非彻底删除,可恢复)
方法2:在浏览器中右击泳道->delete

此删除操作产生的效果:
泳道被删除(彻底删除,不可恢复)
泳道内的图形也会同时被删除(非彻底删除,可恢复)
2、设置转移条件

3、添加对象与对象流
(1)将对象与对象流按纽显示在绘图工作栏中
右击绘图工具栏空白处,选择“Customize”,弹出如下窗口,将这两项添加到绘图工具栏。

(2)添加与设置对象



注意:
在同一步活动图中,同名的对象只能通过复制来创建
总结
活动图就总结到这里,这章内容有点多,涉及到的名词特别多,其实照着文章中的实例自己画一遍,就印象深刻了。活动图用的还是比较多的。
活动图activity diagram的更多相关文章
- [UML]UML系列——活动图activity diagram
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...
- 活动图 Activity Diagram
活动图 可通过一系列操作将业务流程或软件进程以工作流的形式显示出来.这些操作可以由人.软件组件或计算机来执行. 使用活动图可以描述多种类型的流程,如下: 1.用户和您的系统之间的业务流程或工作流. 2 ...
- Python设计模式 - UML - 活动图(Activity Diagram)
简介 活动图描述从一个活动到另一个活动的执行顺序.约束条件.引用对象及状态结果等方面的控制流,适用于对业务用例.工作流程或程序实现建模. 活动图建模步骤 - 确定活动图的范围和边界,对哪些工作流.哪些 ...
- 【UML】活动图Activity diagram(转)
前言 在UML状态图的总结中说道,活动图和状态图是紧密相关的.它与流程图也有很多相似的地方. 定义 活动图是状态图的一种特殊形式.其中所有或多数状态都是活动状态,而且所有或多数转移都在源状态中的活动完 ...
- UML精粹5 - 状态图,活动图,通信图,组合结构,组件图,协作,交互概述图,时间图
状态机图state machine diagram 下面是状态图的一个例子(一个城堡中的秘密保险箱的控制面板). 转换transition包括3个部分:trigger-signature [guard ...
- [UML]UML系列——状态机图statechart diagram
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...
- UML状态图和活动图
UML状态图和活动图 统一建模语言UML(Unified Modeling Language)是非专利的第三代建模和规约语言.UML是一种开放的方法,用于说明.可视化.构建和编写一个正在开发的.面向对 ...
- (转)UML实践----用例图、类图、对象图、顺序图、协作图、状态图、活动图、组件图、配置图
面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling Language™),这篇课程的目的是展示出UML ...
- 状态机图statechart diagram
[UML]UML系列——状态机图statechart diagram 系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend ...
随机推荐
- Jquery实现 TextArea 文本框根据输入内容自动适应高度
原文 Jquery实现 TextArea 文本框根据输入内容自动适应高度 在玩微博的时候我们可能会注意到一个细节就是不管是新浪微博还是腾讯微博在转发和评论的时候给你的默认文本框的高度都不会很高,这可能 ...
- [置顶] Spring中DI设置器注入
Java的反射机制可以说是在Spring中发挥的淋漓尽致,下面要看的代码就是通过反射机制来实现向一个类注入其实际依赖的类型,这个过程的实现会交由Spring容器来帮我们完成. JavaBean中针对属 ...
- 触摸屏touchstart 与 click
设计效果:当手指点击或触摸红框线menuList之外的部分时,弹框menuList消失. 问题:在优化触屏版的时候发现如图问题.当menuList弹出.手指触摸屏幕向下滑动时,menuList弹框不消 ...
- Hadoop之环境搭建
初学Hadoop之环境搭建 阅读目录 1.安装CentOS7 2.安装JDK1.7.0 3.安装Hadoop2.6.0 4.SSH无密码登陆 本文仅作为学习笔记,供大家初学Hadoop时学习参考. ...
- 前端学习笔记(zepto或jquery)——对li标签的相关操作(一)
对li标签的相关操作——点击li标签进行样式切换的两种方式 Demo演示: 1 2 3 4 // 详解: 第一种方式(以ul为基础): $("ul").bind("cli ...
- Hibernate_10_继承的例子_单表
只是建一个表,所有属性都包括在此表.使用discriminator 到父和子类之间的区别. 1)父类(Article): public class Article { private Integer ...
- 教你一步一步部署.net免费空间OpenShift系列之一------帐号注册和验证
前几天有博友发布了一篇文章<一键部署mono 免费空间支持ASP.NET MVC 再也不担心伙食费换空间了>,支持MVC3和域名绑定,觉得不错,于是自己实践了一下,发现自己实际遇到的问题真 ...
- 【百度地图API】如何制作一张魔兽地图!!——CS地图也可以,哈哈哈
原文:[百度地图API]如何制作一张魔兽地图!!--CS地图也可以,哈哈哈 摘要: 你玩魔兽不?你知道如何做一张魔兽地图不?! 快来看此文吧! ---------------------------- ...
- AlphaBlend參数BLENDFUNCTION
AlphaBlend是Window自带的GDI函数,在作GUI的时候为了达到更美丽的效果我们经常常使用它. BLENDFUNCTION是AlphaBlend用控制透明效果的重要參数. 定义例如以下: ...
- mysql 使用记号
1. 避免重复入库的插入记录方法 向一个数据库中插入且在未存在的情况下插入一行记录.若有主键可以区分则可以使用 replace into 方法, 单偏偏很多时候数据库设计者会设计自增主键,replac ...