[图解]《分析模式》漫谈02-第2章图的多重性错误

news2025/1/15 12:51:24

1
00:00:01,400 --> 00:00:02,790
今天,我们来看

2
00:00:04,440 --> 00:00:06,190
分析模式的第2章

3
00:00:06,960 --> 00:00:09,820
一个图上面的一些小问题

4
00:00:13,130 --> 00:00:15,320
第2章的图2.4

5
00:00:16,500 --> 00:00:22,190
带有层级关系的一个组织超类型

6
00:00:24,980 --> 00:00:28,730
我把要讲的点标了号在这里

7
00:00:28,860 --> 00:00:33,840
1234,我们来看第一个

8
00:00:34,360 --> 00:00:38,240
第一个就是说组织的名称问题

9
00:00:38,490 --> 00:00:39,970
我们来看,它这里说

10
00:00:41,270 --> 00:00:45,450
一个Aroma咖啡机分成这个这个

11
00:00:46,920 --> 00:00:48,510
我们来看这几个

12
00:00:50,070 --> 00:00:51,140
Operating unit

13
00:00:52,340 --> 00:00:54,820
这是经营单位的意思

14
00:00:55,190 --> 00:00:58,500
就是说,它具有独立的

15
00:00:58,510 --> 00:01:00,770
会计核算能力的一个组织

1
00:00:00,880 --> 00:00:02,740
下一个,division

2
00:00:04,140 --> 00:00:05,380
这个的话和

3
00:00:05,670 --> 00:00:06,820
department不是

4
00:00:06,830 --> 00:00:08,220
一个东西

5
00:00:08,790 --> 00:00:10,870
division说的是分部或者事业部

6
00:00:10,880 --> 00:00:12,850
它是一个很大的单位

1
00:00:00,770 --> 00:00:04,600
Division一般是分离出去的

2
00:00:04,610 --> 00:00:06,410
它有独立的管理权

3
00:00:06,980 --> 00:00:10,020
而这个department,它是部门

4
00:00:10,030 --> 00:00:13,870
一个机构内部按照功能来分

5
00:00:13,880 --> 00:00:15,790
但是它们往往是一起合作的

6
00:00:17,140 --> 00:00:17,930
这个要小得多

7
00:00:20,450 --> 00:00:22,200
我们来看之前的翻译

8
00:00:22,210 --> 00:00:25,830
你看,2004中译本,这里翻译叫部门

9
00:00:25,960 --> 00:00:27,540
这个就不太对了

10
00:00:28,210 --> 00:00:32,480
像这个分公司,区域,还好

11
00:00:33,280 --> 00:00:34,390
也能说得过去

12
00:00:35,340 --> 00:00:39,580
2020中译本,这个就更合理一点

13
00:00:40,150 --> 00:00:42,690
分部或者事业部

14
00:00:43,790 --> 00:00:47,100
2024年,我们也叫分部了

15
00:00:51,540 --> 00:00:53,170
下一个名称就是这个

16
00:00:54,010 --> 00:00:55,370
Parent这个问题

17
00:00:56,720 --> 00:00:59,750
Parent这个我们平时翻译

18
00:00:59,760 --> 00:01:00,670
叫母公司

19
00:01:00,960 --> 00:01:02,110
不叫父公司

20
00:01:02,430 --> 00:01:05,010
我们说,母公司、子公司

21
00:01:06,510 --> 00:01:08,830
所以这里应该写母,不是写父

22
00:01:11,280 --> 00:01:13,900
我们来看,2004年,父节点

23
00:01:15,220 --> 00:01:17,650
节点这个是原文没有的

24
00:01:17,860 --> 00:01:19,950
原文只写了一个parent在那里

25
00:01:21,160 --> 00:01:24,330
母就可以了

26
00:01:28,130 --> 00:01:30,150
2020中译本,父节点

27
00:01:30,440 --> 00:01:34,000
我们这里,我们写母就可以了

28
00:01:34,170 --> 00:01:36,390
母、子这样

29
00:01:36,400 --> 00:01:38,350
到底你是公司还是集团

30
00:01:38,480 --> 00:01:41,130
还是事业部,这个再说了

31
00:01:41,140 --> 00:01:45,660
这是第二点

1
00:00:01,380 --> 00:00:03,850
这是第一点,名称的问题

2
00:00:04,020 --> 00:00:04,970
我们看第二点

3
00:00:06,580 --> 00:00:09,290
母组织跟子组织的多重性

4
00:00:09,300 --> 00:00:11,210
在原书里面颠倒了

5
00:00:12,990 --> 00:00:17,610
原书里面这个多重性意味着是零到多

6
00:00:18,940 --> 00:00:20,300
这个是0到1

7
00:00:21,520 --> 00:00:24,320
原书这样画的话

8
00:00:24,330 --> 00:00:25,000
意味着什么

9
00:00:25,780 --> 00:00:31,710
一个子公司对应多个母公司,这不对

10
00:00:31,720 --> 00:00:32,390
颠倒了

11
00:00:32,980 --> 00:00:35,730
应该是一个母公司下面有多个子公司

12
00:00:36,120 --> 00:00:37,880
一个子公司只有一个母公司

13
00:00:40,020 --> 00:00:40,860
颠倒过来了

14
00:00:42,810 --> 00:00:47,590
2004中译本没有改过来

15
00:00:48,100 --> 00:00:50,440
原书是错的,中译本也是错的

16
00:00:53,780 --> 00:00:56,910
2020中译本,也没改过来

17
00:00:59,790 --> 00:01:00,990
我们2024中译本

18
00:01:01,000 --> 00:01:05,580
我们这样来画,母是0..1 

19
00:01:05,590 --> 00:01:07,370
子是0..*,这样来

1
00:00:00,380 --> 00:00:04,830
第三点就是关联上面它有一个约束

2
00:00:05,540 --> 00:00:06,580
hierarchy

3
00:00:07,100 --> 00:00:09,430
意思就是层级结构的意思

4
00:00:12,970 --> 00:00:16,490
在递归关联这里,有一个约束

5
00:00:16,980 --> 00:00:20,770
它用中括号来把它标出来

6
00:00:22,760 --> 00:00:26,240
2004中译本就照搬了

7
00:00:27,250 --> 00:00:28,280
这个照搬

8
00:00:28,290 --> 00:00:32,770
但是这个本身它可以翻译的

9
00:00:32,780 --> 00:00:34,730
因为它本身又不是一个

10
00:00:36,320 --> 00:00:37,590
某个语言里面的

11
00:00:37,600 --> 00:00:38,830
一个关键字什么的

12
00:00:38,840 --> 00:00:41,580
就是Fowler自己定义的

13
00:00:42,120 --> 00:00:44,990
可以翻译的,直接翻译中文,层级

1
00:00:00,810 --> 00:00:02,560
我们2024中译本

2
00:00:03,300 --> 00:00:07,040
这里翻译过来,层级

3
00:00:08,470 --> 00:00:09,300
这个写在哪里

4
00:00:09,510 --> 00:00:12,260
写在关联的属性框里面

5
00:00:13,140 --> 00:00:14,980
你双击关联,出来属性框

6
00:00:14,990 --> 00:00:16,530
然后写在哪里

7
00:00:16,540 --> 00:00:19,010
写在关联的约束里面

8
00:00:19,790 --> 00:00:21,630
约束就写层级就行了

9
00:00:21,640 --> 00:00:24,820
这个花括号是工具自己加进去的

10
00:00:24,910 --> 00:00:27,610
不需要你写花括号的

11
00:00:28,950 --> 00:00:30,930
这不是中括号了,改成花括号了

12
00:00:31,640 --> 00:00:35,990
因为在UML里面约束用花符号

13
00:00:36,000 --> 00:00:38,440
但实际上这个可以去掉了

14
00:00:38,450 --> 00:00:40,450
因为它属于意念

15
00:00:40,460 --> 00:00:43,210
你标个层级有什么意义

16
00:00:43,680 --> 00:00:43,990


17
00:00:44,000 --> 00:00:45,390
你告诉我层级

18
00:00:45,400 --> 00:00:47,830
但实际上这一对多本身就是层级

19
00:00:48,790 --> 00:00:52,170
你加上内容要有意义才可以,属于意念

20
00:00:52,180 --> 00:00:53,130
可以去掉

1
00:00:00,230 --> 00:00:03,000
第四个就是类型上的约束

2
00:00:04,820 --> 00:00:08,600
这上面标的,针对各个类型的约束

3
00:00:08,890 --> 00:00:11,440
当然这上面原来是用自然语言了

4
00:00:13,910 --> 00:00:17,650
2004中译本,自然语言

5
00:00:20,640 --> 00:00:22,170
2020中译本

6
00:00:22,180 --> 00:00:23,810
自然语言

7
00:00:24,700 --> 00:00:28,650
这次我们把它改成形式语言

8
00:00:28,740 --> 00:00:30,330
用OCL来表达

9
00:00:32,850 --> 00:00:39,020
你看这个,经营单位,母是空的

10
00:00:39,150 --> 00:00:41,220
没有母单位

11
00:00:41,430 --> 00:00:42,460
没有母组织

12
00:00:45,630 --> 00:00:46,740
这个约束必须为真

13
00:00:48,590 --> 00:00:50,600
地区

14
00:00:51,670 --> 00:00:56,370
原文是说父节点(原文无“节点”)必须是经营单位

15
00:00:56,620 --> 00:01:00,290
那么我们OCL表达

16
00:01:00,300 --> 00:01:04,580
就是母的类型是经营单位

17
00:01:05,790 --> 00:01:07,540
这个必须为真,下面一样

18
00:01:08,510 --> 00:01:11,270
就是说,这个值必须为真

19
00:01:12,970 --> 00:01:14,890
下面这几个应该还有什么

20
00:01:14,900 --> 00:01:17,270
这个不为空

21
00:01:17,280 --> 00:01:21,960
下面这个子单位

22
00:01:21,970 --> 00:01:24,030
它的上级单位不为空

23
00:01:24,830 --> 00:01:27,460
但是批量刷就没有必要了

24
00:01:27,470 --> 00:01:29,600
像这种批量刷的,没有必要

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1819587.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

美丽的拉萨,神奇的布达拉宫

原文链接:美丽的拉萨,神奇的布达拉宫 2022年11月30日,可能将成为一个改变人类历史的日子——美国人工智能开发机构OpenAI推出了聊天机器人ChatGPT-3.5,将人工智能的发展推向了一个新的高度。2023年11月7日,OpenAI首届…

Cloudflare 错误 1006、1007、1008 解决方案 | 如何修复

根据不完全统计,使用 Cloudflare 的网站比例已经接近 20%。因此,在日常工作中,比如进行网页抓取时,您可能经常会遇到一些因 Cloudflare 而产生的困难。例如,遇到 Cloudflare 错误 1006、1007 和 1008,这些错…

Windows下基于Frida查看内存基址和修改寄存器

使用Frida能够方便地获取到DLL基址,还能修改寄存器值。首先要通过任务管理器获得进程的PID,然后写Python脚本把Frida附加到这个PID进程,根据IDA分析出来的函数地址,HOOK到目标函数,修改寄存器的值,最终实现…

PHP聚合通多平台支付平台源码

源码介绍 php聚合通多平台支付平台源码,源码搭建了一下,这个源码不复杂,修改一下数据库账号密码然后导入数据库就可以,和网站恢复备份一样简单! 源码截图 源码下载 PHP聚合通多平台支付平台源码

vite配置unocss

在vue3vitetseslintprettierstylelinthuskylint-stagedcommitlintcommitizencz-git介绍了关于vitevue工程化搭建,现在在这个基础上,我们增加一下unocss unocss官方文档 具体开发中使用遇到的问题可以参考不喜欢原子化CSS得我,还是在新项目中使…

C++面向对象:多态性

多态性 1.概念 多态性是面向对象的程序设计的一个重要特征。在面向对象的方法中一般是这样表述多态的:向不同的对象发送同一个信息,不同的对象在接收时会产生不同的行为。也就是说,每个对象用自己的方式去响应共同的消息。 2.典例 下面这…

免费个人站 独立站 wordpress 自建网站

制作免费网站 | 免费网站构建器 | WordPress.com https://bioinformatics7.wordpress.com WordPress.com

第2章 Rust初体验5/8:match表达式和模式匹配:更富表达力:猜骰子冷热游戏

讲动人的故事,写懂人的代码 2.5 故事3: 比较答案与点数之和 贾克强:“同学们,我们开始用三种语言来实现故事3吧!” 2.5.1 Rust版故事3 这个故事实在是轻松容易地实现了。赵可菲照着书,一下子就写好了。 @@ -1,4 +1,5 @@use rand::Rng; +use std::cmp::Ordering;use std…

PgSQL技术内幕 - psql与服务端连接与交互机制

PgSQL技术内幕 - 客户端psql与服务端连接与交互机制 简单来说,PgSQL的psql客户端向服务端发起连接请求,服务端接收到请求后,fork出一个子进程,之后由该子进程和客户端进行交互,处理客户端的SQL等,并将结果返…

2024/06/13--代码随想录算法3/17|01背包问题 二维、01背包问题 一维、416. 分割等和子集

01背包问题 二维 卡码网链接 动态规划5步曲 确定dp数组(dp table)以及下标的含义:dp[i][j] :从下标为[0,i-1]个物品中任取,放进容量为j的背包,价值总和最大为多少。确定递推公式, 有两个方向可…

JVM常用概念之扁平化堆容器

扁平化堆容器是OpenJDK Valhalla 项目提出的,其主要目标为将值对象扁平化到其堆容器中,同时支持这些容器的所有指定行为,从而达到不影响原有功能的情况下,显著减少内存空间的占用(理想条件下可以减少24倍)。…

使用代理IP常见问题有哪些?

代理IP在互联网数据收集和业务开展中发挥着重要作用,它充当用户客户端和网站服务器之间的“屏障”,可以保护用户的真实IP地址,并允许用户通过不同的IP地址进行操作。然而,在使用代理IP的过程中,用户经常会遇到一些问题…

Uniapp实现页面滚动Tab吸顶,点击tab内容滚动到对应tab内容位置

1.template结构 <view class"content-tabs-box"><view class"content-tabs" :class"{is-fixed: isTabFixed}"><viewv-for"(item, index) in detailTabs" :key"index" class"tab" :class"{act…

pointnet

train_classification.py 把第91行修改为自己的路径&#xff0c;就可以运行了 test_cla.py&#xff0c;需要训练完才能运行测试&#xff0c;我没训练完&#xff0c;所以报错显示我没有best.pth文件 网盘里面是我运行的训练和测试的视频&#xff0c;以及源代码&#xff0c;数…

ROS 自动驾驶多点巡航

ROS 自动驾驶多点巡航&#xff1a; 1、首先创建工作空间&#xff1a; 基于我们的artca_ws&#xff1b; 2、创建功能包&#xff1a; 进入src目录&#xff0c;输入命令: catkin_create_pkg point_pkg std_msgs rospy roscpptest_pkg 为功能包名&#xff0c;后面两个是依赖&a…

新等保2.0防护体系方案

等保2.0防护体系 吉祥学安全知识星球&#x1f517;除了包含技术干货&#xff1a;Java代码审计、web安全、应急响应等&#xff0c;还包含了安全中常见的售前护网案例、售前方案、ppt等&#xff0c;同时也有面向学生的网络安全面试、护网面试等。 最近在写一些咨询相关的材料&…

怎么把日常的文件做二维码?适用excel、word、pdf制作二维码的方法

文件转换成二维码是将文件转成一个链接&#xff0c;将链接做成二维码之后&#xff0c;扫码就可以访问该链接中的文件内容&#xff0c;通过这种方式来实现文件的快速分享。将文件生成二维码能够随时修改内容&#xff0c;可以更新替换当前文件&#xff0c;不断的通过一个二维码来…

数据通信与网络

计算机网络的组成 计算机网络是由计算机系统、网络节点和通信链路等组成的系统。 逻辑上分为资源子网和通信子网。 CCP&#xff1a;communication control processor 通信控制处理机&#xff0c;网络节点&#xff0c;交换机、路由器等设备。 逻辑组成&#xff1a; &#xf…

二阶段提交(2pc)协议

二阶段提交&#xff08;2pc&#xff09;协议 1、 简介 二阶段提交算法是一个分布式一致性算法&#xff0c;强一致、中心化的原子提交协议&#xff0c;主要用来解决分布式事务问题。在单体spring应用中我们往往通过一个Transactional注解就可以保证方法的事务性&#xff0c;但…

线性代数|机器学习-P13计算特征值和奇异值

文章目录 1. 特征值1.1 特征值求解思路1.1 相似矩阵构造 1. 特征值 1.1 特征值求解思路 我们想要计算一个矩阵的特征值&#xff0c;一般是用如下公式&#xff1a; ∣ ∣ A − λ I ∣ ∣ 0 → λ 1 , λ 2 , ⋯ , λ n \begin{equation} ||A-\lambda I||0\rightarrow \lamb…