0
00:00:01,940 --> 00:00:05,770
下一个图是16.28
1
00:00:06,070 --> 00:00:07,170
2
00:00:07,860 --> 00:00:09,740
它把这个
3
00:00:10,020 --> 00:00:12,210
控制器,还有用户界面
4
00:00:12,210 --> 00:00:15,130
加到这个IBD里面去了
5
00:00:15,410 --> 00:00:16,350
就是
6
00:00:17,590 --> 00:00:19,750
下面这个部分
7
00:00:21,010 --> 00:00:21,273
8
00:00:21,273 --> 00:00:22,590
下面这部分
9
00:00:25,250 --> 00:00:30,008
那这个图呢,我们这个视频里面就不画了
10
00:00:30,008 --> 00:00:31,330
操作是跟
11
00:00:31,710 --> 00:00:33,130
前面一样的
12
00:00:33,410 --> 00:00:34,760
我们这里就不画了
13
00:00:41,710 --> 00:00:47,420
然后,16.29跟16.28是连在一起的
14
00:00:47,770 --> 00:00:53,266
16.29是说有3个什么端口
15
00:00:53,266 --> 00:00:54,640
那个也不画了
16
00:00:54,920 --> 00:00:56,996
那我们来画最后一个图
17
00:00:56,996 --> 00:00:58,450
就是16.30
18
00:00:59,190 --> 00:01:03,110
蒸馏器控制器的状态机图
19
00:01:03,720 --> 00:01:07,164
我们前面也画过一个状态机图
20
00:01:07,164 --> 00:01:09,231
水的三态的变化
21
00:01:09,231 --> 00:01:11,068
但是那个比较简单
22
00:01:11,068 --> 00:01:11,297
23
00:01:11,297 --> 00:01:13,823
这个状态机就比较复杂了
24
00:01:13,823 --> 00:01:16,120
你看,它有分层的
25
00:01:16,420 --> 00:01:17,400
26
00:01:18,240 --> 00:01:20,740
还有,分区的,正交的嘛
27
00:01:20,740 --> 00:01:21,740
你看
28
00:01:22,020 --> 00:01:25,280
上面这个区跟下面这个区是可以并行的
29
00:01:28,490 --> 00:01:31,080
还有内部的
30
00:01:31,370 --> 00:01:33,230
动作
31
00:01:33,530 --> 00:01:33,733
32
00:01:33,733 --> 00:01:37,810
这些就是我们前面画的状态机所没有的
33
00:01:38,630 --> 00:01:39,790
那下面呢
34
00:01:40,070 --> 00:01:43,440
我们就来画一下这个状态机图
35
00:01:46,150 --> 00:01:47,488
那我们来看
36
00:01:47,488 --> 00:01:48,560
你看,它是
37
00:01:49,930 --> 00:01:52,191
包名,控制状态机
38
00:01:52,191 --> 00:01:55,100
然后呢,控制状态
39
00:01:55,380 --> 00:01:57,791
然后这是注入中,排空中
40
00:01:57,791 --> 00:01:59,480
我把一些重要的
41
00:01:59,760 --> 00:02:01,803
英文给
42
00:02:01,803 --> 00:02:03,080
注上了
43
00:02:03,600 --> 00:02:04,954
注上了中文
44
00:02:04,954 --> 00:02:06,986
其他一看就知道的
45
00:02:06,986 --> 00:02:08,792
像这种,水位高,水位OK
46
00:02:08,792 --> 00:02:11,050
这种我们就不写了
47
00:02:11,050 --> 00:02:12,857
就不标注了
48
00:02:12,857 --> 00:02:15,114
这个是清除残渣中
49
00:02:15,114 --> 00:02:18,050
积累残渣中,你看,它用的是现在分词
50
00:02:19,490 --> 00:02:23,250
状态,它是一个形容词
51
00:02:23,530 --> 00:02:26,235
所以呢,它可以是描述性形容词
52
00:02:26,235 --> 00:02:27,692
比如说,好看、漂亮
53
00:02:27,692 --> 00:02:28,108
对吧
54
00:02:28,108 --> 00:02:30,190
也可以是过去分词
55
00:02:30,470 --> 00:02:31,430
已经什么什么
56
00:02:31,710 --> 00:02:33,930
已加热
57
00:02:34,250 --> 00:02:34,606
58
00:02:34,606 --> 00:02:35,320
59
00:02:35,600 --> 00:02:37,740
或者现在分词,加热中
60
00:02:38,750 --> 00:02:41,290
或者是不定式
61
00:02:41,570 --> 00:02:42,837
待加热
62
00:02:42,837 --> 00:02:43,260
63
00:02:46,530 --> 00:02:48,520
这里用的全部都是
64
00:02:50,130 --> 00:02:51,370
现在分词
65
00:02:51,650 --> 00:02:52,250
66
00:02:52,530 --> 00:02:52,835
67
00:02:52,835 --> 00:02:53,750
68
00:02:55,630 --> 00:02:55,868
好
69
00:02:55,868 --> 00:02:59,200
那下面我们就来画一下状态机图
0
00:00:01,780 --> 00:00:06,164
首先我们来看,这个位置添加在哪里
1
00:00:06,164 --> 00:00:09,260
它是在这个状态机
2
00:00:10,110 --> 00:00:12,163
刚才序列图那个交互
3
00:00:12,163 --> 00:00:12,620
我们
4
00:00:12,900 --> 00:00:13,880
没有
5
00:00:14,340 --> 00:00:15,143
没有这样画
6
00:00:15,143 --> 00:00:16,268
而是建了一个包
7
00:00:16,268 --> 00:00:17,715
这里面,你看,状态机
8
00:00:17,715 --> 00:00:18,840
这个,我们可以建
9
00:00:19,490 --> 00:00:21,500
控制器状态机,这是
10
00:00:22,480 --> 00:00:25,551
下面那个状态机的名字
11
00:00:25,551 --> 00:00:27,525
然后这个控制状态
12
00:00:27,525 --> 00:00:29,500
图的名字
13
00:00:30,760 --> 00:00:31,010
14
00:00:31,010 --> 00:00:31,760
怎么加
15
00:00:31,760 --> 00:00:32,260
16
00:00:32,540 --> 00:00:36,150
这个时候我们可以画在这个下面,右键点这个
17
00:00:36,580 --> 00:00:37,750
添加
18
00:00:38,030 --> 00:00:38,570
状态机
19
00:00:38,570 --> 00:00:40,190
但是我们刚才讲了
20
00:00:40,880 --> 00:00:43,140
这个它
21
00:00:44,090 --> 00:00:46,110
背后实际上是UML的
22
00:00:46,110 --> 00:00:48,737
如果你要追求跟图一样
23
00:00:48,737 --> 00:00:50,960
你看,在这里直接加就可以
24
00:00:52,600 --> 00:00:53,377
然后呢
25
00:00:53,377 --> 00:00:55,970
这个名字我们叫控制器
26
00:00:56,770 --> 00:00:58,250
状态
27
00:00:59,990 --> 00:01:00,770
机
28
00:01:07,380 --> 00:01:08,220
好
29
00:01:09,060 --> 00:01:09,308
30
00:01:09,308 --> 00:01:11,300
这里我们对比一下
31
00:01:12,370 --> 00:01:13,404
控制器状态机
32
00:01:13,404 --> 00:01:14,024
33
00:01:14,024 --> 00:01:16,299
这是控制器状态
34
00:01:16,299 --> 00:01:17,953
这个是一样的
35
00:01:17,953 --> 00:01:18,160
36
00:01:18,160 --> 00:01:20,021
那么,我们应该改哪一个
37
00:01:20,021 --> 00:01:22,090
改后面这个
38
00:01:22,760 --> 00:01:23,085
39
00:01:23,085 --> 00:01:25,690
把这改成控制器状态
40
00:01:25,970 --> 00:01:27,170
图的名字
41
00:01:27,540 --> 00:01:28,518
改一下
42
00:01:28,518 --> 00:01:30,150
这样
43
00:01:30,970 --> 00:01:31,830
好
44
00:01:34,930 --> 00:01:39,560
首先,我们就往上面加状态了
45
00:01:40,000 --> 00:01:43,629
一个、两个、三个、四个、五个、六个
46
00:01:43,629 --> 00:01:46,855
然后,第六个里面又有子状态
47
00:01:46,855 --> 00:01:47,460
我们一个一个加上去
48
00:01:47,930 --> 00:01:49,220
先加状态
49
00:01:52,400 --> 00:01:53,660
这里
50
00:01:55,420 --> 00:01:56,290
关
51
00:01:59,800 --> 00:02:00,137
52
00:02:00,137 --> 00:02:01,150
注入中
53
00:02:09,560 --> 00:02:11,318
排空中,加热中
54
00:02:11,318 --> 00:02:12,490
冷却中
55
00:02:35,310 --> 00:02:35,536
好
56
00:02:35,536 --> 00:02:37,350
下面还有一个什么
57
00:02:37,900 --> 00:02:39,180
操作中
58
00:02:47,690 --> 00:02:49,010
搞小一点
59
00:02:53,030 --> 00:02:56,220
而操作中是比较大的一个
60
00:02:57,140 --> 00:02:58,530
状态
61
00:02:59,160 --> 00:03:00,730
62
00:03:01,390 --> 00:03:02,180
63
00:03:14,410 --> 00:03:16,620
里面分了两个分区
64
00:03:16,900 --> 00:03:21,600
我们先把分区加上,右键点这个,advanced
65
00:03:22,100 --> 00:03:24,100
定义并发的
66
00:03:24,380 --> 00:03:25,110
67
00:03:25,480 --> 00:03:25,832
68
00:03:25,832 --> 00:03:26,890
子状态
69
00:03:28,220 --> 00:03:29,827
分区的名字
70
00:03:29,827 --> 00:03:30,430
我们看
71
00:03:33,980 --> 00:03:35,998
没有起名字
72
00:03:35,998 --> 00:03:36,200
就
73
00:03:36,590 --> 00:03:36,876
74
00:03:36,876 --> 00:03:38,022
75
00:03:38,022 --> 00:03:41,174
我们随便起个名字吧
76
00:03:41,174 --> 00:03:42,320
77
00:03:44,270 --> 00:03:45,580
78
00:03:52,970 --> 00:03:53,740
好
79
00:03:55,200 --> 00:03:58,562
那1分区这里呢,又有三个状态
80
00:03:58,562 --> 00:03:59,338
水位低
81
00:03:59,338 --> 00:04:00,890
水位OK,水位高
82
00:04:01,830 --> 00:04:02,730
83
00:04:04,210 --> 00:04:05,800
水位低
84
00:04:13,160 --> 00:04:15,570
水位OK
85
00:04:20,850 --> 00:04:22,560
水位高
86
00:04:31,240 --> 00:04:32,150
好
87
00:04:32,740 --> 00:04:36,900
这个分区呢两个,积累残渣中,清除残渣中
88
00:04:56,850 --> 00:04:59,560
这是状态了
89
00:05:00,280 --> 00:05:00,568
90
00:05:00,568 --> 00:05:06,630
接下来,我们再为状态添加内部的操作
91
00:05:06,950 --> 00:05:09,462
内部的这个动作
92
00:05:09,462 --> 00:05:10,090
action
93
00:05:11,990 --> 00:05:14,450
这是一个do活动
94
00:05:15,110 --> 00:05:15,950
是
95
00:05:16,830 --> 00:05:20,838
就是关闭电源灯
96
00:05:20,838 --> 00:05:21,640
对吧
97
00:05:24,460 --> 00:05:25,705
怎么做
98
00:05:25,705 --> 00:05:26,120
99
00:05:32,700 --> 00:05:34,543
do活动在哪里
100
00:05:34,543 --> 00:05:36,386
我们把这个往上拉
101
00:05:36,386 --> 00:05:37,410
就是在这里
102
00:05:37,880 --> 00:05:39,060
103
00:05:40,230 --> 00:05:41,460
关闭
104
00:05:42,470 --> 00:05:43,900
电源灯
105
00:05:46,450 --> 00:05:46,690
106
00:05:46,690 --> 00:05:48,375
把它变成动宾结构
107
00:05:48,375 --> 00:05:50,300
实际上书里面那个
108
00:05:51,560 --> 00:05:53,747
那个表达是不合适的
109
00:05:53,747 --> 00:05:55,449
应该是一个动作嘛
110
00:05:55,449 --> 00:05:56,907
动词
111
00:05:56,907 --> 00:05:57,880
动宾结构
112
00:06:01,060 --> 00:06:01,880
好
113
00:06:02,160 --> 00:06:03,970
一个个加
114
00:06:04,790 --> 00:06:06,150
这个是
115
00:06:07,110 --> 00:06:08,440
打开
116
00:06:09,330 --> 00:06:11,350
注水阀门
117
00:06:13,290 --> 00:06:14,810
打开给水阀门
118
00:06:20,120 --> 00:06:21,980
119
00:06:24,240 --> 00:06:25,870
这是
120
00:06:26,150 --> 00:06:27,180
121
00:06:27,460 --> 00:06:28,890
阀门对象
122
00:06:31,910 --> 00:06:34,510
这是打开排空阀门
123
00:06:47,280 --> 00:06:48,100
好
124
00:06:48,380 --> 00:06:49,950
这是bx1
125
00:06:50,380 --> 00:06:52,393
加热器打开
126
00:06:52,393 --> 00:06:53,400
127
00:07:06,290 --> 00:07:06,860
128
00:07:07,940 --> 00:07:08,188
好
129
00:07:08,188 --> 00:07:08,436
130
00:07:08,436 --> 00:07:11,909
你看,这里就有一个不是do活动
131
00:07:11,909 --> 00:07:13,150
是入口活动
132
00:07:13,970 --> 00:07:14,232
133
00:07:14,232 --> 00:07:16,590
入口,bx1加热器关闭
134
00:07:18,470 --> 00:07:19,870
在这里
135
00:07:20,150 --> 00:07:21,120
关闭
136
00:07:22,130 --> 00:07:24,350
bx1
137
00:07:28,210 --> 00:07:29,630
加热器
138
00:07:30,830 --> 00:07:31,433
然后呢
139
00:07:31,433 --> 00:07:32,640
do活动是什么
140
00:07:34,240 --> 00:07:36,846
打开这个阀门,打开这个阀门
141
00:07:36,846 --> 00:07:38,250
打开两个阀门
142
00:07:40,420 --> 00:07:41,930
就是把这个
143
00:07:42,640 --> 00:07:43,920
复制一下
144
00:07:44,760 --> 00:07:45,630
在这里
145
00:07:46,130 --> 00:07:48,130
打开这个阀门
146
00:07:48,410 --> 00:07:49,427
然后呢
147
00:07:49,427 --> 00:07:51,800
还有呢,第二步是
148
00:07:57,360 --> 00:08:01,550
打开这个排空阀门
149
00:08:05,820 --> 00:08:06,375
150
00:08:06,375 --> 00:08:06,930
好
151
00:08:11,760 --> 00:08:12,570
这个
152
00:08:12,850 --> 00:08:13,720
do活动
153
00:08:14,000 --> 00:08:15,857
这个运行中
154
00:08:15,857 --> 00:08:17,450
操作中,这个是
155
00:08:17,760 --> 00:08:20,670
bx加热器打开