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
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
我们只展示画完之后的结果