[图解]EA从数据库逆向得到分析类模型-01

1
00:00:00,840 --> 00:00:02,400
今天,我们来说一下

2
00:00:02,670 --> 00:00:06,320
一个最近几天不止一个同学问的问题

3
00:00:06,490 --> 00:00:11,410
就是说,怎样把一个数据库

4
00:00:13,740 --> 00:00:16,720
转到分析类图

5
00:00:18,570 --> 00:00:20,260
要注意,这是分析类模型

6
00:00:21,550 --> 00:00:22,980
不是设计类

7
00:00:25,800 --> 00:00:26,910
什么叫分析类

8
00:00:28,720 --> 00:00:32,890
左边,就是分析模型,你看,类、关系

9
00:00:34,450 --> 00:00:36,050
它是非常简洁的

10
00:00:36,060 --> 00:00:38,130
没有冗余的概念在上面

11
00:00:41,000 --> 00:00:42,630
只有领域的知识

12
00:00:44,670 --> 00:00:46,060
右边就是设计模型

13
00:00:46,350 --> 00:00:47,980
比如说,这是用C#

14
00:00:48,880 --> 00:00:51,540
实现左边这个的这三个类

15
00:00:51,550 --> 00:00:53,140
你看这个订单

16
00:00:53,790 --> 00:00:55,810
你看多了一个id

17
00:00:56,690 --> 00:00:59,960
每个类都有id

18
00:01:00,670 --> 00:01:02,850
然后,它这里订单项关联过来

19
00:01:02,860 --> 00:01:06,400
它这里就有个订单项的实现

20
00:01:06,410 --> 00:01:11,830
我们用一个列表来实现

21
00:01:11,960 --> 00:01:14,250
它有个订单项的集合

22
00:01:16,110 --> 00:01:18,270
然后它有个配送地址,类型是地址

23
00:01:20,530 --> 00:01:24,370
同样,下面有订单项的类,地址类,这样的

24
00:01:25,290 --> 00:01:27,680
而这几个里面

25
00:01:27,970 --> 00:01:30,540
就不需要再有什么关联

26
00:01:30,630 --> 00:01:33,820
因为这里已经表达了订单有这些

27
00:01:37,630 --> 00:01:40,670
你看右边,看不出左边那个

28
00:01:41,390 --> 00:01:43,280
不能很明显看出左边那个关系

29
00:01:43,610 --> 00:01:44,320
你得观察这个这个

30
00:01:45,860 --> 00:01:48,150
第二个,有很多冗余的内容

31
00:01:48,360 --> 00:01:50,830
因为要在代码里面来表现

32
00:01:54,160 --> 00:01:59,160
得到这个,是有很多途径的

33
00:01:59,840 --> 00:02:02,510
比如说,我们数据库模型

34
00:02:02,720 --> 00:02:05,670
我们可以用,现在很多持久化的框架

35
00:02:07,010 --> 00:02:09,260
比如说,像.net

36
00:02:09,270 --> 00:02:12,570
我们可以用Entity Framework

37
00:02:13,590 --> 00:02:15,180
然后用它的逆向工程

38
00:02:16,170 --> 00:02:17,760
得到C#的代码

39
00:02:19,330 --> 00:02:21,270
然后代码再用EA的逆向工程

40
00:02:23,120 --> 00:02:24,800
可以得到设计类图

41
00:02:25,130 --> 00:02:29,890
就像这个一样,这个很容易得到

42
00:02:30,440 --> 00:02:31,750
但要得到这个

43
00:02:34,740 --> 00:02:36,060
光靠EA本身不够的

44
00:02:36,270 --> 00:02:38,300
实际上现在很多工具都没有这个能力

45
00:02:38,310 --> 00:02:41,280
就是说把这些拉拉杂杂去掉

46
00:02:42,190 --> 00:02:43,590
返回来得到这些东西

47
00:02:46,610 --> 00:02:50,830
最简洁的形态,没有

48
00:02:51,980 --> 00:02:53,540
EA里面有一个插件

49
00:02:53,830 --> 00:02:54,940
第三方的插件

50
00:02:55,680 --> 00:02:57,370
官方的功能是没有的

51
00:02:57,380 --> 00:02:59,700
但EA有一个好处

52
00:02:59,710 --> 00:03:03,290
就是有很多第三方提供的插件可以用

53
00:03:03,780 --> 00:03:05,420
这里有一个插件

54
00:03:07,510 --> 00:03:10,810
先用EA本身的逆向工程

55
00:03:11,060 --> 00:03:13,470
把数据库模型转成DDL

56
00:03:14,370 --> 00:03:20,310
DDL再通过这个插件转成分析类图

57
00:03:23,510 --> 00:03:26,510
这个插件的下载地址在这里

58
00:03:27,520 --> 00:03:28,690
下面我们就演示一下

59
00:03:29,290 --> 00:03:30,680
怎样从数据库

60
00:03:31,410 --> 00:03:33,880
转到分析类图的过程

1
00:00:01,300 --> 00:00:06,900
我们来看导入XML的菜单在哪里

2
00:00:08,590 --> 00:00:09,140
在这里

3
00:00:10,270 --> 00:00:10,550


4
00:00:10,910 --> 00:00:12,020
配置模型

5
00:00:12,030 --> 00:00:15,190
然后转换,导入引用数据

6
00:00:17,250 --> 00:00:20,710
选择D盘,EA 

7
00:00:20,720 --> 00:00:22,030
选中这个

8
00:00:23,050 --> 00:00:30,480
然后导入,另外两个我们也导进来

9
00:00:35,500 --> 00:00:44,140


10
00:00:50,140 --> 00:00:50,710


11
00:01:05,320 --> 00:01:06,180
好,导入之后

12
00:01:06,780 --> 00:01:13,930
你看,这里面,设计,转换,这里,应用转换

13
00:01:16,280 --> 00:01:19,720
就有DDL to Logical

14
00:01:19,730 --> 00:01:20,960
什么之类的

15
00:01:22,640 --> 00:01:24,870
就是刚才那些内容

16
00:01:25,580 --> 00:01:30,760
现在我们就来导入一个数据库

17
00:01:30,770 --> 00:01:32,730
把它变成类图看看了

 

1
00:00:01,430 --> 00:00:03,140
我们导哪个数据库

2
00:00:03,910 --> 00:00:08,730
我们就导SQL Server里面的案例的数据库

3
00:00:09,260 --> 00:00:15,660
pubs,数据库的表在这里

4
00:00:16,440 --> 00:00:16,680


5
00:00:18,520 --> 00:00:20,670
有出版商

6
00:00:20,760 --> 00:00:28,360
有标题、作者等等,出版信息、折扣

7
00:00:29,290 --> 00:00:31,040
销售、商店等等

8
00:00:33,640 --> 00:00:38,940
表里面现在有一些数据了

9
00:00:38,950 --> 00:00:40,100
当然这数据本身

10
00:00:40,110 --> 00:00:41,550
一会导的时候

11
00:00:41,850 --> 00:00:43,510
肯定不会体现在模型里了

12
00:00:44,840 --> 00:00:48,740
首先我们就要把这个导成

13
00:00:48,750 --> 00:00:50,090
就跟刚才讲的路线一样

14
00:00:50,260 --> 00:00:51,570
先导成DDL

15
00:00:51,580 --> 00:00:53,850
再把DDL导成分析类图

16
00:00:54,260 --> 00:00:55,890
我们看,怎样把这个导成DDL

17
00:00:56,140 --> 00:00:58,000
EA本身就有这个功能了

18
00:00:58,980 --> 00:01:00,130
怎么导,我们来看一下

 

1
00:00:00,550 --> 00:00:03,030
导在哪里,放这里,随便搞一个

2
00:00:03,040 --> 00:00:05,750
哪个包,我们就拿这个来就行了

3
00:00:06,250 --> 00:00:06,620
这个包

4
00:00:07,770 --> 00:00:08,610
先把这个删掉

5
00:00:11,770 --> 00:00:12,720
放这里就行了

6
00:00:14,250 --> 00:00:17,740
在哪里导,这里,开发

7
00:00:18,750 --> 00:00:22,030
这里,import,导入

8
00:00:22,850 --> 00:00:25,470
然后选择一个数据库

9
00:00:27,120 --> 00:00:28,710
数据源

10
00:00:29,040 --> 00:00:32,530
它用的是ODBC这个来导入的

11
00:00:32,920 --> 00:00:35,770
这还没有,新建一个

12
00:00:37,080 --> 00:00:39,110
无法使用,用户也行

13
00:00:39,700 --> 00:00:47,700
下一页,SQL Server,名称,我们

14
00:00:47,710 --> 00:00:51,500
就随便搞一个方式,描述

15
00:00:54,730 --> 00:00:57,600
选哪一个,就是服务器的名字了

  • 45
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值