
1
 00:00:00,900 --> 00:00:02,690
 这个就是一个块定义图了
2
 00:00:03,790 --> 00:00:04,780
 简称BDD
3
 00:00:05,610 --> 00:00:08,070
 实际上就是UML里面的类图
4
 00:00:08,080 --> 00:00:09,950
 和组件图的一个结合体
5
 00:00:13,150 --> 00:00:14,690
 我们这里用到的
6
 00:00:14,970 --> 00:00:17,280
 实际上主要是类图这部分的内容了
7
 00:00:18,320 --> 00:00:21,660
 泛化关联还有属性等等
8
 00:00:22,040 --> 00:00:23,930
 当然它现在不叫类了
9
 00:00:23,940 --> 00:00:28,940
 叫块,block,不一定是类
10
 00:00:29,030 --> 00:00:32,840
 不一定软件这个类
11
 00:00:32,850 --> 00:00:36,820
 可以是描述一个很具体的一个东西
12
 00:00:39,150 --> 00:00:41,600
 当然,如果我们在这里
13
 00:00:41,610 --> 00:00:43,280
 是建立概念模型
14
 00:00:43,290 --> 00:00:44,360
 这一点来说的话
15
 00:00:45,540 --> 00:00:48,340
 如果我们是软件系统的
16
 00:00:48,510 --> 00:00:50,020
 显然这里的block
17
 00:00:50,030 --> 00:00:54,970
 和我们的类是等同的
18
 00:00:55,490 --> 00:00:57,190
 如果你做的不是这个级别的
19
 00:00:57,200 --> 00:00:59,360
 那么这个block就有很多含义了
20
 00:00:59,370 --> 00:01:03,120
 你甚至可以用block来表达一个组织
21
 00:01:04,160 --> 00:01:06,770
 表达一个组织、一个系统、一个子系统
22
 00:01:06,780 --> 00:01:08,370
 一个子系统里面子子系统
23
 00:01:09,000 --> 00:01:12,180
 到里面一个软件的类,都可以
24
 00:01:13,560 --> 00:01:14,840
 block里面有部件
25
 00:01:19,990 --> 00:01:22,960
 部件有的是什么
26
 00:01:24,550 --> 00:01:28,400
 它是组合了另外一个block作为部件
27
 00:01:28,410 --> 00:01:31,870
 有的可能是比较简单的一些部件
28
 00:01:31,880 --> 00:01:41,120
 比如说值,比较简单类型的部件它就叫值
29
 00:01:41,540 --> 00:01:42,770
 如果是复杂的
30
 00:01:42,780 --> 00:01:44,240
 就叫部件
31
 00:01:45,830 --> 00:01:49,960
 然后,block有操作
32
 00:01:50,130 --> 00:01:52,080
 比如说,屏幕有一个操作点击
33
 00:01:54,840 --> 00:01:58,100
 block之间有关系,关系有关联
34
 00:02:00,060 --> 00:02:04,520
 关联带有一个菱形的,黑色菱形
35
 00:02:04,530 --> 00:02:09,430
 实心菱形的,叫组合关联
36
 00:02:10,110 --> 00:02:11,700
 这种倒三角的,泛化
37
 00:02:12,270 --> 00:02:13,230
 下面就是子
38
 00:02:14,780 --> 00:02:15,860
 上面是父
39
 00:02:16,690 --> 00:02:22,960
 意思是LCD屏幕
40
 00:02:22,970 --> 00:02:25,280
 是屏幕的一种
41
 00:02:25,290 --> 00:02:31,400
 什么是什么的一种,泛化关系
42
 00:02:34,830 --> 00:02:37,020
 像这个值,实际上就是对一些
43
 00:02:38,370 --> 00:02:41,910
 基本类型的一个组合了
44
 00:02:42,560 --> 00:02:44,860
 把一些基本类型作为部件的时候
45
 00:02:45,210 --> 00:02:47,450
 它这里就出来一个值
46
 00:02:48,120 --> 00:02:49,820
 比如说长度
47
 00:02:51,200 --> 00:02:52,070
 是一个
48
 00:02:52,840 --> 00:02:53,800
 值类型
49
 00:02:56,900 --> 00:03:01,480
 值类型,长度我们定义单位为厘米
50
 00:03:02,570 --> 00:03:07,330
 然后那个数值是一个实数的一个值类型
51
 00:03:09,260 --> 00:03:11,250
 这个怎么定义,怎么做出来
52
 00:03:11,380 --> 00:03:13,370
 我们一会在EA里面演示
53
 00:03:13,970 --> 00:03:17,750
 显然,这里面实数是系统
54
 00:03:18,310 --> 00:03:20,880
 提供的一些原生的值类型
55
 00:03:21,050 --> 00:03:22,280
 原生的值类型
56
 00:03:23,080 --> 00:03:26,070
 我们在这个基础上把它和单位结合起来
57
 00:03:27,590 --> 00:03:32,600
 就得到一个我们领域里面的一个值类型
58
 00:03:32,610 --> 00:03:34,720
 比如说长度,是我们这个领域里面特有的
59
 00:03:35,600 --> 00:03:37,670
 但实数都不是了
60
 00:03:37,680 --> 00:03:39,620
 实数是一个数学的概念
61
 00:03:39,630 --> 00:03:42,850
 长度是我们这个领域里面的概念
62
 00:03:45,530 --> 00:03:46,280
 块定义图

 1
1
 00:00:00,230 --> 00:00:04,000
 接下来,就是这个签名
2
 00:00:04,670 --> 00:00:05,610
 在这个地方
3
 00:00:06,240 --> 00:00:07,390
 签名这个地方
4
 00:00:08,260 --> 00:00:10,660
 你看,它是一个值
5
 00:00:12,280 --> 00:00:15,440
 这个值在哪里添加上去呢
6
 00:00:16,170 --> 00:00:17,250
 那么这里我们要注意的
7
 00:00:17,260 --> 00:00:18,410
 你在这里添加
8
 00:00:18,420 --> 00:00:19,530
 像我们画类图这样
9
 00:00:19,540 --> 00:00:24,990
 选中这个,添加属性,签名
10
 00:00:28,800 --> 00:00:29,600
 这肯定不行的
11
 00:00:31,010 --> 00:00:34,480
 出不来这个值,把它删掉
12
 00:00:35,880 --> 00:00:43,160
 另外一个,加这里,添加一个部件
13
 00:00:43,170 --> 00:00:49,430
 选择它类型
14
 00:00:49,750 --> 00:00:50,620
 实际上也不行
15
 00:00:54,150 --> 00:00:54,900
 应该怎么加
16
 00:00:55,270 --> 00:00:56,180
 首先我们来看
17
 00:00:59,240 --> 00:01:02,470
 签名这个是一个值
18
 00:01:03,310 --> 00:01:05,690
 我们得添加一个值类型
19
 00:01:07,070 --> 00:01:08,700
 值类型我们之前也添加了
20
 00:01:08,710 --> 00:01:10,220
 但是我们把它添加成block
21
 00:01:12,820 --> 00:01:13,850
 但实际上应该是什么
22
 00:01:13,860 --> 00:01:16,700
 应该添加成这个值类型
23
 00:01:16,710 --> 00:01:19,780
 所以我们这里,这些以前的先不改了
24
 00:01:19,790 --> 00:01:20,740
 后面有需要再改
25
 00:01:21,530 --> 00:01:22,520
 我们怎么加
26
 00:01:22,530 --> 00:01:24,040
 你看,右键点这个值类型
27
 00:01:25,080 --> 00:01:26,100
 添加一个图
28
 00:01:26,640 --> 00:01:29,380
 同样添加块定义图,值类型
29
 00:01:31,560 --> 00:01:33,880
 然后放上一个值类型
30
 00:01:36,460 --> 00:01:38,400
 我们就起名叫签名
31
 00:01:47,640 --> 00:01:53,260
 它的构造型是SysML 1.5值类型
32
 00:01:53,770 --> 00:01:54,250
 签名
33
 00:01:55,150 --> 00:01:58,230
 好,这里有一个值类型
34
 00:01:58,770 --> 00:02:01,960
 然后我们看,怎么把它跟它挂接起来
35
 00:02:01,970 --> 00:02:03,000
 你拖上来也不行
36
 00:02:03,550 --> 00:02:03,990
 怎么做
37
 00:02:06,220 --> 00:02:12,060
 目前我摸索出来正确的做法是这样的
38
 00:02:12,430 --> 00:02:17,450
 出这个效果得这样,右键点这个,添加一个图
39
 00:02:20,640 --> 00:02:21,440
 添加一个图
40
 00:02:22,980 --> 00:02:24,530
 就是给入侵者
41
 00:02:24,700 --> 00:02:30,170
 添加一个内部块图,IBD,入侵者,OK
42
 00:02:30,180 --> 00:02:36,470
 然后把值类型拖上去
43
 00:02:38,880 --> 00:02:40,030
 这里不能先链接
44
 00:02:40,200 --> 00:02:44,950
 因为这里
45
 00:02:45,040 --> 00:02:48,060
 入侵者对它是一个引用
46
 00:02:48,070 --> 00:02:52,690
 说我的值是这个类型
47
 00:02:52,700 --> 00:02:57,990
 所以这里选,我的值是这个类型的
48
 00:02:59,660 --> 00:03:04,620
 但是我的属性的各个,也就是说,
49
 00:03:04,630 --> 00:03:07,410
 入侵者可以用这个类型作为它的值
50
 00:03:07,920 --> 00:03:11,170
 别的类,别的block也可以的
51
 00:03:11,710 --> 00:03:14,790
 注意我们要区分定义跟实例的区别
52
 00:03:15,070 --> 00:03:17,010
 所以拖上来的是实例
53
 00:03:18,030 --> 00:03:18,600
 Ok
54
 00:03:21,310 --> 00:03:22,900
 它有一个签名
55
 00:03:24,880 --> 00:03:25,950
 作为它的值
56
 00:03:25,960 --> 00:03:27,230
 这时候我们再返回来
57
 00:03:27,240 --> 00:03:29,540
 刚才那个地方,你看,这里就有了
58
 00:03:29,550 --> 00:03:30,900
 你看,跟这个一样
59
 00:03:33,590 --> 00:03:37,710
 你看,这里,values有个签名
60
 00:03:39,440 --> 00:03:45,270
 这样来,我们展示这么多就可以了
61
 00:03:45,280 --> 00:03:47,350
 剩下的操作应该是一样的
62
 00:03:47,440 --> 00:03:49,310
 我们在视频里面
63
 00:03:49,320 --> 00:03:52,980
 就不一个一个画了,太占时间
64
 00:03:53,510 --> 00:03:55,570
 我们只展示画完之后的结果