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
顺序下来的分支之外