1
00:00:01,200 --> 00:00:04,710
我们首先来看一下需求图的一些要点
2
00:00:05,810 --> 00:00:07,080
需求图用来干什么
3
00:00:07,210 --> 00:00:12,080
用来记录文本形式的一些需求
4
00:00:12,090 --> 00:00:13,480
和需求的素材
5
00:00:14,540 --> 00:00:16,030
因为有很多内容
6
00:00:16,820 --> 00:00:20,290
我们知道,前面我们画活动图也好
7
00:00:21,030 --> 00:00:22,620
块定义图也好
8
00:00:23,510 --> 00:00:26,150
它内容是比较严谨的,形式化的
9
00:00:26,160 --> 00:00:31,930
而很多内容是文本形式记录的
10
00:00:32,140 --> 00:00:33,830
没有很严谨的形式化
11
00:00:34,170 --> 00:00:36,560
特别是我们获得的一些需求的素材
12
00:00:37,840 --> 00:00:42,360
还有我们写的一些目标等等
13
00:00:42,370 --> 00:00:45,000
需求图就提供了这样一个方式来记录它们
14
00:00:45,700 --> 00:00:49,610
并且建立起它们之间的跟踪的关系
15
00:00:50,990 --> 00:00:54,260
因为你后面不管是需求也好设计也好
16
00:00:54,270 --> 00:00:55,100
你这个怎么来的
17
00:00:55,110 --> 00:00:59,100
你为什么有这个block,block为什么有这个部件之类的
18
00:01:00,760 --> 00:01:02,440
你回溯到前面的话
19
00:01:02,450 --> 00:01:07,120
它的根源都在最开始
20
00:01:07,130 --> 00:01:08,280
你去调研的时候
21
00:01:08,570 --> 00:01:10,240
需求的素材
22
00:01:11,100 --> 00:01:13,090
建立起跟踪的关系
23
00:01:14,600 --> 00:01:16,030
右边这个就是需求图
24
00:01:17,150 --> 00:01:18,210
方框是需求
25
00:01:18,220 --> 00:01:19,890
然后两个属性
26
00:01:20,220 --> 00:01:22,200
一个是id,一个text
27
00:01:24,300 --> 00:01:25,180
然后,大需求
28
00:01:26,580 --> 00:01:30,240
然后圆十字表示分解
29
00:01:32,280 --> 00:01:35,120
包含关系,这个大需求包含两个小需求
30
00:01:37,310 --> 00:01:39,200
然后下面有个satisfy
31
00:01:39,900 --> 00:01:43,210
有一个block满足这个需求
32
00:01:45,210 --> 00:01:46,220
当然可以是多对多的
33
00:01:47,260 --> 00:01:49,060
很可能一个需求要多个block满足
34
00:01:49,070 --> 00:01:50,700
一个block可以满足多个需求也可能
35
00:01:50,710 --> 00:01:56,240
主要是这两个关系是比较重要的
36
00:01:56,250 --> 00:02:01,390
还有别的关系,什么精化、跟踪等等
37
00:02:03,080 --> 00:02:08,890
我感觉这两个应该是比较常用的
38
00:02:09,270 --> 00:02:12,630
用好这两个应该是优先的
39
00:02:14,820 --> 00:02:16,250
什么叫一个需求
40
00:02:16,990 --> 00:02:20,260
SysML本身也没有定义太严谨
41
00:02:20,660 --> 00:02:22,890
你看,我们前面讲,使命需求
42
00:02:23,460 --> 00:02:25,990
本来这个说法就不太严谨
43
00:02:26,600 --> 00:02:30,020
使命这是一个很大的,Vision一样的
44
00:02:30,360 --> 00:02:32,020
应该是说一个度量指标
45
00:02:32,030 --> 00:02:33,060
改进的指标
46
00:02:34,880 --> 00:02:37,910
它应该跟我们系统的需求分开的
47
00:02:39,350 --> 00:02:41,830
结果,你到底什么需求
48
00:02:41,840 --> 00:02:44,650
你说提高安全性是需求
49
00:02:46,400 --> 00:02:48,160
然后定时检测是需求
50
00:02:49,360 --> 00:02:51,240
还是里面一个小小的步骤
51
00:02:51,250 --> 00:02:55,690
判断这个房间的某一块
52
00:02:55,980 --> 00:02:57,730
到底有没有异常是需求
53
00:02:58,380 --> 00:03:00,650
还是判断异常的规则
54
00:03:01,370 --> 00:03:03,340
你怎么判断是异常,规则是什么
55
00:03:03,930 --> 00:03:06,450
这是需求?没讲清楚
56
00:03:07,910 --> 00:03:08,980
有大有小
57
00:03:10,860 --> 00:03:14,040
SysML也没有做任何的规定,是比较宽松的
58
00:03:15,370 --> 00:03:17,120
这个是不太严谨了
59
00:03:17,130 --> 00:03:21,820
但是既然书里面都这样写了
60
00:03:21,830 --> 00:03:23,060
我们就这样做就好了
61
00:03:23,600 --> 00:03:28,010
下面我们就来看EA里面怎么画需求图
1
00:00:01,130 --> 00:00:02,880
我们开始来放需求了
2
00:00:03,210 --> 00:00:04,320
第一个,放上来
3
00:00:04,330 --> 00:00:07,160
这里是,放上来
4
00:00:07,970 --> 00:00:09,070
然后这个叫什么
5
00:00:09,080 --> 00:00:15,180
我们看是ESS使命需求
6
00:00:15,190 --> 00:00:17,780
然后ID是1,文本是这一大堆
7
00:00:17,990 --> 00:00:18,980
我们把它加上去
8
00:00:22,730 --> 00:00:30,250
这是它的名字,这里,保存
9
00:00:31,840 --> 00:00:34,980
然后ID,下面这里,1
10
00:00:36,590 --> 00:00:41,210
然后文本,就这一堆
11
00:00:41,340 --> 00:00:43,010
通过什么什么
12
00:00:50,230 --> 00:00:57,350
下面,安全性
13
00:00:59,640 --> 00:01:00,710
它没有显示出来
14
00:01:01,850 --> 00:01:05,110
因为它默认是不显示的
15
00:01:05,710 --> 00:01:06,820
应该怎么让它显示出来
16
00:01:07,030 --> 00:01:08,900
右键点这个图的空白处
17
00:01:09,350 --> 00:01:15,280
Properties,elements这里
18
00:01:15,570 --> 00:01:18,300
把tag勾上
19
00:01:18,310 --> 00:01:21,430
也就是说,id也好
20
00:01:21,840 --> 00:01:28,280
文本也好,实际上是一个扩展的内容,确定
21
00:01:29,060 --> 00:01:36,720
出来了,我们把框搞扁一点,这样,过来
22
00:01:39,020 --> 00:01:40,130
这样差不多
23
00:01:40,730 --> 00:01:43,280
我们看和这个对不对得上
24
00:01:44,070 --> 00:01:45,340
可以,就这样
25
00:01:46,110 --> 00:01:48,180
好,下面就这三个需求了
26
00:01:55,810 --> 00:02:00,170
这个是入侵者应急响应
27
00:02:07,500 --> 00:02:12,100
还有,火灾
28
00:02:20,110 --> 00:02:26,320
健康和安全
29
00:02:29,960 --> 00:02:32,810
把这个删掉
30
00:02:40,260 --> 00:02:41,900
然后把它们
31
00:02:51,500 --> 00:02:54,540
这样,高度设成一样的
32
00:03:10,360 --> 00:03:10,940
下一点
33
00:03:12,440 --> 00:03:12,740
好
34
00:03:13,380 --> 00:03:14,340
这几个有了
35
00:03:16,120 --> 00:03:18,330
接下来就要建立起它们之间的包含关系
36
00:03:18,710 --> 00:03:20,160
这是大的,这是小的
37
00:03:20,170 --> 00:03:21,350
我们怎么画
38
00:03:21,900 --> 00:03:24,250
包含在这里,可以在这里选
39
00:03:24,260 --> 00:03:26,830
也可以直接快捷箭头,从这里
40
00:03:27,160 --> 00:03:28,470
从小的往大的画
41
00:03:28,700 --> 00:03:32,450
这样画过来,嵌套,这个地方
42
00:03:44,360 --> 00:03:46,190
这样来
43
00:03:50,920 --> 00:03:54,440
好,我们看是不是一样
44
00:03:57,410 --> 00:03:58,440
可以了,就这样
45
00:03:58,530 --> 00:04:02,500
然后,1-需求,使命需求
46
00:04:04,070 --> 00:04:05,940
就这样
47
00:04:07,050 --> 00:04:11,380
这是需求图的画法