[UML]UML系列——用例图中的各类关系(include、extend)算法
[UML]UML系列——类图class的关联关系(聚合、组合)并发
[UML]UML系列——类图class的实现关系Realizationurl
实例描述:假如如今有一个简单的音乐盒,用户根据歌曲名称搜索本身喜好的音乐,找到后,用户能够以MP3模式播放(同步显示歌词),也能够以MV模式播放。因为音乐和歌词都来自于互联网,所以在播放以前应链接这些文件。3d
根据上述描述,该音乐盒的用例图以下:code
描述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 }
概念
活动图本质上是一种流程图,它描述活动的序列,即系统从一个活动到另外一个活动的控制流。
活动图的做用
描述用例,描述类的操做,另外,能够用来描述算法(单独使用)。
活动(动做)
一、活动的概念
表示工做流过程当中命令的执行或活动的进行。
二、活动的符号
状态
注意:一个活动图中只能有一个开始状态,但能够有多个结束状态。(例如上面的MP3活动图,就有2个结束状态)
转移(动做流)
活动之间、活动与状态之间的转换。
分支与合并
分支
根据条件的取值决定动做的流向。
合并
合并将俩条路径链接到一块儿,合并成一条路径。
分叉和汇合
分叉
用于将一个控制流分为两个或多个并发运行的分支。
汇合
用于将两个或多个控制流合并到一块儿造成一个单向的控制流,符号与分叉相同。
若是一个控制流在其余控制流到达以前到达了链接,它将会等待,知道全部控制流都到达了才会向链接传递控制权。
实例:销售合同从签定到履约的过程
销售合同签定后,要进行核对。若是发现错误,则终止履约;若是没有错误,则要核对货物清单肯定是否有货,还要核对付款单肯定对方是否已经付款,只有这两项都完成,才能够发货。若是无货或对方还没有付款,则终止履约。则活动图以下:
泳道
泳道代表每一个活动是由哪些人或哪些部门负责完成。
在活动图中泳道区分了负责活动的对象,它明确地表示了哪些活动是由哪些对象进行的。
在包含泳道的活动图中每一个活动只能明确地属于一个泳道。
简单模拟卓越网的购物流程
添加泳道以后:
从左到右:顾客、运输部、财务部
对象流
用活动图描述某个对象时,能够将涉及到的对象放到活动图中,并用一个依赖将其链接到活动或状态上,对象的这种使用方法就构成对象流。
上面的购物过程的活动图加入对象流以后:
1、建立活动图
右击use case view ->new->activity diagram”
2、重命名活动图并双击打开活动图窗口
3、绘制活动图的关键步骤
一、添加泳道
(1)添加泳道:单击工具栏上的泳道按纽,在活动图窗口中单击。
(2)重命名泳道:双击泳道标签,弹出以下窗口
(3)调整泳道的宽度:拖动泳道间的调整线
(4)删除泳道
方法1:右击泳道->delete
此删除操做产生的效果:
泳道被删除(非完全删除,可恢复)
泳道内的图形也会同时被删除(非完全删除,可恢复)
方法2:在浏览器中右击泳道->delete
此删除操做产生的效果:
泳道被删除(完全删除,不可恢复)
泳道内的图形也会同时被删除(非完全删除,可恢复)
二、设置转移条件
三、添加对象与对象流
(1)将对象与对象流按纽显示在绘图工做栏中
右击绘图工具栏空白处,选择“Customize”,弹出以下窗口,将这两项添加到绘图工具栏。
(2)添加与设置对象
注意:
在同一步活动图中,同名的对象只能经过复制来建立
活动图就总结到这里,这章内容有点多,涉及到的名词特别多,其实照着文章中的实例本身画一遍,就印象深入了。活动图用的仍是比较多的。