
 
 
1
 00:00:00,000 --> 00:00:07,200
 目前来说,这个菱形到底是分还是合
2
 00:00:07,200 --> 00:00:13,600
 这个是靠入边出边的数量来判断的
3
 00:00:13,600 --> 00:00:22,560
 有的方法学,它可能会这样搞一些花样
4
 00:00:22,560 --> 00:00:28,160
 比如说,横的,把它横过来,这样,比较扁
5
 00:00:28,160 --> 00:00:40,800
 这表示是入边(口误)横过来就是决策点,竖起来就是合并点
6
 00:00:40,800 --> 00:00:48,240
 也有的是在这里面放一个D,放一个M
7
 00:00:48,240 --> 00:00:55,760
 但是目前UML没有这个,就根据数量来判断
8
 00:00:55,760 --> 00:01:02,160
 进来出去的数量
9
 00:01:02,160 --> 00:01:12,960
 这个决策的表达,你看我们这里,令牌进来
10
 00:01:12,960 --> 00:01:20,160
 令牌进来的话,这个判断用的数据是从哪里来的
11
 00:01:20,160 --> 00:01:26,320
 它这里就会有一个进来的
12
 00:01:26,320 --> 00:01:32,880
 所以你看这里面,查找账户,这边有账户出来
13
 00:01:32,880 --> 00:01:36,880
 有账户流出来,带着令牌了
14
 00:01:36,880 --> 00:01:42,320
 然后过来,这里面,账户余额小于0,走这边
15
 00:01:42,320 --> 00:01:49,280
 大于0,走这边
16
 00:01:49,280 --> 00:01:52,480
 小于0走这里,大于0走这里
17
 00:01:52,480 --> 00:01:56,640
 else是等于0,走这里
18
 00:01:56,640 --> 00:02:02,080
 这是一个表达方式,直接在这里这样一个一个表达
19
 00:02:02,080 --> 00:02:09,920
 但是这样就显得这个重复了,账户.余额重复了
20
 00:02:09,920 --> 00:02:19,680
 另外一种就是把判断表达式附加到决策点
21
 00:02:19,680 --> 00:02:23,680
 这里绑定一个账户.余额
22
 00:02:23,680 --> 00:02:27,680
 但是这个在规范里面,不是说
23
 00:02:27,680 --> 00:02:32,480
 有时候我们画的是这里命名,这里给它起个名字,账户.余额
24
 00:02:32,480 --> 00:02:34,480
 但是它不认这个命名
25
 00:02:34,480 --> 00:02:41,520
 它必须要在这里绑定一个这样的构造型
26
 00:02:41,520 --> 00:02:47,520
 才表示说这个表达式被绑定到这里面来
27
 00:02:47,520 --> 00:02:51,520
 相当于把这个表达式在这里先算了
28
 00:02:51,520 --> 00:02:55,520
 你看,这本来出来是账户嘛
29
 00:02:55,520 --> 00:03:01,520
 然后账户通过这个行为之后,它就变成一个余额
30
 00:03:01,520 --> 00:03:05,520
 这里面经过这个行为表达式之后,它变成一个余额
31
 00:03:05,520 --> 00:03:09,520
 这个余额是一个数字
32
 00:03:09,520 --> 00:03:15,520
 然后针对这个数字来判断,是<0,>0,=0
33
 00:03:15,520 --> 00:03:21,520
 当然我们这里不是很严谨了
34
 00:03:21,520 --> 00:03:25,520
 这个就不是=0了,应该是说
35
 00:03:25,520 --> 00:03:27,520
 因为它不是整数
36
 00:03:27,520 --> 00:03:31,520
 这个我们就意思一下
37
 00:03:31,520 --> 00:03:37,520
 应该说和0的差在多少之内
38
 00:03:37,520 --> 00:03:45,520
 这个符号,EA15都没有办法支持
39
 00:03:45,520 --> 00:03:49,520
 EA16才可以绑定这么一个
40
 00:03:49,520 --> 00:03:55,520
 你选中它,会看到它下面有相应的项目
41
 00:03:55,520 --> 00:03:59,520
 然后在这个注释框这里,你附加上以后
42
 00:03:59,520 --> 00:04:03,520
 连接相应的特性
43
 00:04:03,520 --> 00:04:07,520
 然后才会出现这个
44
 00:04:07,520 --> 00:04:11,520
 但是这个的话
45
 00:04:11,520 --> 00:04:15,520
 如果你不想要这样做
46
 00:04:15,520 --> 00:04:19,520
 后面如果不想要生成代码什么之类的
47
 00:04:19,520 --> 00:04:23,520
 你就直接给它命名在这里都可以
48
 00:04:23,520 --> 00:04:27,520
 但是它语义上不认
49
 00:04:27,520 --> 00:04:31,520
 它认的是这样的一个东西上面的表达式
50
 00:04:31,520 --> 00:04:37,520
 决策点
51
 00:04:37,520 --> 00:04:39,520
 下一个知识就是说
52
 00:04:39,520 --> 00:04:43,520
 如果有多次决策的
53
 00:04:43,520 --> 00:04:45,520
 就是if else,if else
54
 00:04:45,520 --> 00:04:47,520
 条件1满足,就这个
55
 00:04:47,520 --> 00:04:49,520
 如果不满足,再判断条件2,满足就这个
56
 00:04:49,520 --> 00:04:51,520
 如果再不满足,再下面,这样
57
 00:04:51,520 --> 00:04:53,520
 相当于多次决策
58
 00:04:53,520 --> 00:04:55,520
 图就类似这样
59
 00:04:55,520 --> 00:04:57,520
 先判断条件1
60
 00:04:57,520 --> 00:04:59,520
 满足就这个
61
 00:04:59,520 --> 00:05:01,520
 不满足就往上走
62
 00:05:01,520 --> 00:05:03,520
 再判断条件2
63
 00:05:03,520 --> 00:05:05,520
 满足就这个
64
 00:05:05,520 --> 00:05:07,520
 不满足再过来
65
 00:05:07,520 --> 00:05:09,520
 这个合并
66
 00:05:09,520 --> 00:05:11,520
 这整个相当于一个
67
 00:05:11,520 --> 00:05:13,520
 相当于一个合并
68
 00:05:13,520 --> 00:05:15,520
 一个嘛
69
 00:05:15,520 --> 00:05:17,520
 然后这整个又是一个
70
 00:05:17,520 --> 00:05:19,520
 就两个合并
71
 00:05:19,520 --> 00:05:21,520
 这整个又是一个
72
 00:05:21,520 --> 00:05:23,520
 两个菱形之间
73
 00:05:23,520 --> 00:05:29,520
 这样来决策
74
 00:05:29,520 --> 00:05:31,520
 或者说分支也可以
75
 00:05:31,520 --> 00:05:37,520
 除了这种
76
 00:05:37,520 --> 00:05:39,520
 顺序下来的分支之外