书籍详情
面向对象分析与设计(UML2.0版)
作者:(美)多切蒂(O'Docherty, M.)著;俞志翔译
出版社:清华大学出版社
出版时间:2006-04-01
ISBN:9787302125464
定价:¥42.00
购买这本书可以去
内容简介
《国外计算机科学经典教材:面向对象分析与设计(UML2.0版)》详细介绍了面向对象的分析与设计,全面探讨了面向对象概念、软件开发过程、UML和多层技术。《国外计算机科学经典教材:面向对象分析与设计(UML2.0版)》使用最常见的技术和方法,通过一个贯穿全书的案例分析,对面向对象的软件开发过程和使用面向对象技术的编程过程进行了透彻的讨论。首先阐述了面向对象软件项目的基本概念,然后基于广泛使用的方法,介绍了使用进行以测试为驱动的开发过程,最后研究了现实世界中的开发问题。《国外计算机科学经典教材:面向对象分析与设计(UML2.0版)》特色:·本书按照典型开发项目的步骤,整合了需求、设计、规范和测试;·案例分析清晰地说明了如何分析抽象的问题,从而最终得出一个具体的解决方案;·合作站点上的AQS(自动组卷系统)练习题使读者可以实践本书描述的技术。《国外计算机科学经典教材:面向对象分析与设计(UML2.0版)》按照典型开发项目的步骤,整合了需求、设计、规范和测试,详细介绍了面向对象的分析与设计,全面探讨了面向对象概念、软件开发过程、UML和多层技术。按理分析清晰地说明了如何分析抽象的问题,从而最终得出一个具体的解决方案。无论读者是在校师生还是参加业务培训的开发人员,或者是转向面向对象技术的有经验的程序员,《国外计算机科学经典教材:面向对象分析与设计(UML2.0版)》都会对您有所帮助。
作者简介
暂缺《面向对象分析与设计(UML2.0版)》作者简介
目录
第1章入门 1
1.1背景 1
1.2编程简史 1
1.3方法学 2
1.4关于本书 2
1.4.1内容概述 3
1.4.2案例分析 3
1.4.3导航 3
第Ⅰ部分设置场景
第2章对象的概念 7
2.1引言 7
2.2什么是对象 8
2.3相同还是相等 10
2.4描述对象 12
2.5封装 13
2.6关联和聚合 13
2.7图和树 15
2.8链接和可导航性 16
2.9消息 17
2.10启动操作 19
2.11协作示例 19
2.12面向对象程序的工作原理 21
2.13垃圾收集 22
2.14类 22
2.15类定义的内容 24
2.16共享数据和共享操作 26
2.17类型 27
2.18术语 27
2.19重用代码 29
2.20小结 32
2.21课外阅读 32
2.22复习题 32
2.23练习1的答案 33
2.24复习题答案 33
第3章继承 34
3.1引言 34
3.2设计类层次结构 35
3.3给类层次结构添加实现代码 36
3.4抽象类 38
3.5重定义方法 40
3.6实现栈类 40
3.6.1使用继承实现栈 41
3.6.2使用复合实现栈 42
3.6.3继承和复合 43
3.7多重继承 44
3.8使用继承的规则 47
3.9小结 47
3.10课外阅读 47
3.11复习题 47
3.12复习题答案 49
第4章类型系统 50
4.1引言 50
4.2动态和静态类型系统 50
4.3多态性 51
4.3.1多态变量 52
4.3.2多态消息 53
4.4动态绑定 54
4.5多态性规则 56
4.6类型转换 56
4.7显式类型转换 57
4.8使用模板进行泛化 59
4.9小结 60
4.10课外阅读 60
4.11复习题 60
4.12练习2的答案 62
4.13练习3的答案 62
4.14复习题答案 62
第5章软件开发的方法学 64
5.1引言 64
5.2软件开发中的经典阶段 65
5.2.1需求 65
5.2.2分析 66
5.2.3设计 66
5.2.4规范 66
5.2.5实现 66
5.2.6测试 66
5.2.7部署 67
5.2.8维护 67
5.2.9关键问题 67
5.3软件工程和瀑布方法学 68
5.4新方法学 71
5.4.1螺旋式方法学 71
5.4.2迭代式方法学 72
5.4.3递增式方法学 72
5.4.4合并方法学 73
5.5面向对象的方法学 74
5.5.1UML、RUP和XP 74
5.5.2开发工具的需求 75
5.6Ripple概述 76
5.6.1用例图 78
5.6.2类图(分析级别) 79
5.6.3通信图 79
5.6.4部署图 80
5.6.5类图(设计级别) 81
5.6.6顺序图 81
5.7小结 82
5.8课外阅读 82
5.9复习题 82
5.10复习题答案 83
第Ⅱ部分理解问题
第6章收集需求 87
6.1引言 87
6.2系统的诞生 88
6.3用例 89
6.4业务说明 90
6.4.1标识业务参与者 90
6.4.2编写项目术语表 91
6.4.3标识业务用例 92
6.4.4在通信图中演示用例 93
6.4.5在活动图中演示用例 94
6.5开发人员的说明 95
6.5.1使参与者特殊化 98
6.5.2用例的关系 99
6.5.3系统用例的细节 102
6.5.4前提条件、后置条件和继承 104
6.5.5辅助需求 104
6.5.6用户界面草案 104
6.5.7系统用例的优先级 105
6.6小结 107
6.7课外阅读 107
6.8复习题 107
6.9复习题答案 109
第7章分析问题 110
7.1引言 110
7.2为什么要进行分析 110
7.3分析过程概述 111
7.4静态分析 112
7.4.1确定类 112
7.4.2标识类的关系 112
7.4.3绘制类图和对象图 112
7.4.4绘制关系 114
7.4.5属性 117
7.4.6关联类 120
7.4.7有形对象和无形对象 120
7.4.8好的对象 124
7.5动态分析 124
7.5.1绘制用例的实现过程 124
7.5.2边界、控制器和实体 126
7.5.3通信图中的元素 127
7.5.4给类添加操作 128
7.5.5职责 129
7.5.6状态建模 129
7.6小结 130
7.7课外阅读 130
7.8复习题 131
7.9练习4的答案 133
7.10复习题答案 133
第Ⅲ部分设计解决方案
第8章设计系统体系结构 137
8.1引言 137
8.2设计优先级 138
8.3系统设计中的步骤 138
8.4选择联网的系统拓扑 139
8.4.1网络体系结构的简史 139
8.4.2三层体系结构 140
8.4.3个人计算机 142
8.4.4网络计算机 142
8.4.5互联网和万维网 143
8.4.6内联网 143
8.4.7外联网和虚拟私人网络 144
8.4.8客户机-服务器与
分布式体系结构 144
8.4.9用UML描述网络拓扑 146
8.5并发设计 147
8.6安全设计 148
8.6.1数字加密和解密 148
8.6.2一般安全规则 149
8.7分解软件 150
8.7.1系统和子系统 150
8.7.2层 151
8.7.3Java层:应用小程序和RMI 153
8.7.4层中的消息流 155
8.8小结 158
8.9课外阅读 158
8.10复习题 158
8.11复习题答案 159
第9章选择技术 160
9.1引言 160
9.2客户层技术 160
9.3客户层到中间层的协议 162
9.4中间层技术 163
9.5中间层到数据层的技术 164
9.6其他技术 165
9.7一般前端配置 166
9.7.1HTML/CGI和脚本 166
9.7.2HTML/CGI和服务小程序 167
9.7.3RMI 168
9.7.4CORBA 169
9.7.5EJB 170
9.8后端配置 171
9.9Java电子商务配置 171
9.10UML包 174
9.11小结 177
9.12课外阅读 177
9.13复习题 178
9.14复习题答案 178
第10章设计子系统 179
10.1引言 179
10.2把分析的类模型映射为
设计的类模型 180
10.2.1映射操作 180
10.2.2变量类型 180
10.2.3字段的可见性 180
10.2.4访问器 181
10.2.5映射类、属性和复合 181
10.2.6映射其他类型的关联 182
10.2.7通用标识符 186
10.3使用关系数据库实现存储 187
10.3.1数据库管理系统 187
10.3.2关系模型 188
10.3.3映射实体类 190
10.3.4映射关联 190
10.3.5映射对象状态 193
10.4最终确定用户界面 196
10.5设计业务服务 200
10.5.1使用代理和副本 201
10.5.2给业务服务分类 203
10.5.3会话标识符 204
10.5.4业务服务的实现 204
10.6使用模式、框架和库 206
10.7事务 206
10.7.1保守并发和开放并发 207
10.7.2使用事务和对象的
一般规则 207
10.7.3上层中的事务 207
10.8处理多个活动 208
10.8.1控制多个任务 208
10.8.2控制多个线程 208
10.8.3线程安全 209
10.9小结 212
10.10课外阅读 212
10.11复习题 212
10.12复习题答案 213
第11章可重用的设计模式 214
11.1引言 214
11.1.1模式简史 214
11.1.2目前的软件模式 215
11.2模式模板 215
11.3常见的设计模式 216
11.3.1观察器模式 216
11.3.2单一模式 220
11.3.3多重模式 223
11.3.4迭代器模式 224
11.3.5工厂方法和抽象工厂 226
11.3.6状态模式 227
11.3.7门面模式 231
11.3.8适配器模式 231
11.3.9策略模式和模板方法 233
11.3.10次轻量级模式 235
11.3.11复合模式 236
11.3.12代理模式 239
11.4使用模式 240
11.5发现、合并和调整模式 241
11.6小结 243
11.7课外阅读 243
第12章指定类的接口 244
12.1引言 244
12.2规范的定义 245
12.3正式规范 245
12.4非正式规范 247
12.5动态检查 248
12.6面向对象的规范 250
12.6.1OCL中的正式规范 250
12.6.2Eiffel中的非正式规范 251
12.7按合同设计 252
12.7.1合同和继承 255
12.7.2减少错误检查代码 256
12.7.3履行合同 258
12.7.4应用程序防火墙 259
12.8Java中的非正式规范 259
12.8.1使用注释编写合同文档 259
12.8.2动态检查条件 260
12.8.3使用RuntimeException
发出违反合同的信号 260
12.8.4外部系统 261
12.8.5启用和禁用动态检查 263
12.9小结 264
12.10课外阅读 264
12.11复习题 265
12.12复习题答案 265
第13章不间断的测试 266
13.1引言 266
13.2测试术语 266
13.2.1黑盒子测试 267
13.2.2白盒子测试 268
13.3测试的类型 268
13.3.1单元测试 269
13.3.2完整性测试 269
13.3.3Alpha测试 269
13.3.4 beta测试 270
13.3.5用例测试 270
13.3.6组件测试 270
13.3.7构建测试 271
13.3.8负载测试 272
13.3.9安装测试 273
13.3.10接受测试 273
13.3.11衰退测试 273
13.3.12说明文档测试 274
13.3.13安全测试 274
13.3.14衡量标准 274
13.4测试的自动化 275
13.5准备测试 276
13.6测试策略 277
13.6.1开发过程中的测试 277
13.6.2测试阶段中的测试 278
13.6.3发布后的测试 278
13.7测试的内容 278
13.8测试驱动的开发 281
13.9使用JUnit进行测试驱动
的开发示例 282
13.9.1测试Car类 283
13.9.2实现Car类 284
13.9.3重新安排测试 286
13.9.4为衰退测试创建测试套件 288
13.9.5测试Across方法 290
13.9.6完成Store类 290
13.10小结 292
13.11课外阅读 293
附录ARipple小结 294
附录BiCoot案例分析 297
B.1业务需求 297
B.1.1顾客的任务陈述 297
B.1.2参与者列表 297
B.1.3用例列表 298
B.1.4用例的通信图 298
B.1.5用例的活动图 298
B.1.6用例的细节 299
B.2系统需求 302
B.2.1用户界面草图 302
B.2.2参与者列表 303
B.2.3用例列表 303
B.2.4用例图 304
B.2.5用例调查 304
B.2.6用例细节 305
B.2.7辅助需求 308
B.2.8用例的优先级 308
B.3分析 308
B.3.1类图 308
B.3.2属性 309
B.3.3操作列表 309
B.3.4预约的状态机 311
B.3.5用例的实现 311
B.4系统设计 316
B.4.1选择技术 316
B.4.2层图 317
B.4.3层交互策略 318
B.4.4包 318
B.4.5部署图 319
B.4.6安全策略 320
B.4.7并发策略 320
B.5子系统设计 320
B.5.1业务服务 321
B.5.2ServletsLayer类图 321
B.5.3ServletsLayer的字段列表 321
B.5.4ServletsLayer的消息列表 322
B.5.5ServerLayer类图 322
B.5.6ServerLayer的字段列表 323
B.5.7ServerLayer的消息列表 323
B.5.8BusinessLayer类图 324
B.5.9BusinessLayer的字段列表 325
B.5.10协议对象的类图 328
B.5.11数据库模式 329
B.5.12用户界面设计 330
B.5.13业务服务的实现 330
B.6类的规范 342
B.6.1服务器类的规范 342
B.6.2业务逻辑类的规范 344
B.7测试计划概述 346
B.7.1引言 346
B.7.2螺旋式递增方式的作用 346
B.7.3非代码制品的测试 347
B.7.4代码的评估 347
B.7.5测试驱动的开发 347
B.7.6断言 347
B.7.7测试阶段 347
B.7.8说明文档的测试 348
B.7.9构建测试 348
B.7.10测试建档和记录日志 348
B.7.11分阶段的测试活动 348
B.8术语表 350
附录CUML表示法小结 356
1.1背景 1
1.2编程简史 1
1.3方法学 2
1.4关于本书 2
1.4.1内容概述 3
1.4.2案例分析 3
1.4.3导航 3
第Ⅰ部分设置场景
第2章对象的概念 7
2.1引言 7
2.2什么是对象 8
2.3相同还是相等 10
2.4描述对象 12
2.5封装 13
2.6关联和聚合 13
2.7图和树 15
2.8链接和可导航性 16
2.9消息 17
2.10启动操作 19
2.11协作示例 19
2.12面向对象程序的工作原理 21
2.13垃圾收集 22
2.14类 22
2.15类定义的内容 24
2.16共享数据和共享操作 26
2.17类型 27
2.18术语 27
2.19重用代码 29
2.20小结 32
2.21课外阅读 32
2.22复习题 32
2.23练习1的答案 33
2.24复习题答案 33
第3章继承 34
3.1引言 34
3.2设计类层次结构 35
3.3给类层次结构添加实现代码 36
3.4抽象类 38
3.5重定义方法 40
3.6实现栈类 40
3.6.1使用继承实现栈 41
3.6.2使用复合实现栈 42
3.6.3继承和复合 43
3.7多重继承 44
3.8使用继承的规则 47
3.9小结 47
3.10课外阅读 47
3.11复习题 47
3.12复习题答案 49
第4章类型系统 50
4.1引言 50
4.2动态和静态类型系统 50
4.3多态性 51
4.3.1多态变量 52
4.3.2多态消息 53
4.4动态绑定 54
4.5多态性规则 56
4.6类型转换 56
4.7显式类型转换 57
4.8使用模板进行泛化 59
4.9小结 60
4.10课外阅读 60
4.11复习题 60
4.12练习2的答案 62
4.13练习3的答案 62
4.14复习题答案 62
第5章软件开发的方法学 64
5.1引言 64
5.2软件开发中的经典阶段 65
5.2.1需求 65
5.2.2分析 66
5.2.3设计 66
5.2.4规范 66
5.2.5实现 66
5.2.6测试 66
5.2.7部署 67
5.2.8维护 67
5.2.9关键问题 67
5.3软件工程和瀑布方法学 68
5.4新方法学 71
5.4.1螺旋式方法学 71
5.4.2迭代式方法学 72
5.4.3递增式方法学 72
5.4.4合并方法学 73
5.5面向对象的方法学 74
5.5.1UML、RUP和XP 74
5.5.2开发工具的需求 75
5.6Ripple概述 76
5.6.1用例图 78
5.6.2类图(分析级别) 79
5.6.3通信图 79
5.6.4部署图 80
5.6.5类图(设计级别) 81
5.6.6顺序图 81
5.7小结 82
5.8课外阅读 82
5.9复习题 82
5.10复习题答案 83
第Ⅱ部分理解问题
第6章收集需求 87
6.1引言 87
6.2系统的诞生 88
6.3用例 89
6.4业务说明 90
6.4.1标识业务参与者 90
6.4.2编写项目术语表 91
6.4.3标识业务用例 92
6.4.4在通信图中演示用例 93
6.4.5在活动图中演示用例 94
6.5开发人员的说明 95
6.5.1使参与者特殊化 98
6.5.2用例的关系 99
6.5.3系统用例的细节 102
6.5.4前提条件、后置条件和继承 104
6.5.5辅助需求 104
6.5.6用户界面草案 104
6.5.7系统用例的优先级 105
6.6小结 107
6.7课外阅读 107
6.8复习题 107
6.9复习题答案 109
第7章分析问题 110
7.1引言 110
7.2为什么要进行分析 110
7.3分析过程概述 111
7.4静态分析 112
7.4.1确定类 112
7.4.2标识类的关系 112
7.4.3绘制类图和对象图 112
7.4.4绘制关系 114
7.4.5属性 117
7.4.6关联类 120
7.4.7有形对象和无形对象 120
7.4.8好的对象 124
7.5动态分析 124
7.5.1绘制用例的实现过程 124
7.5.2边界、控制器和实体 126
7.5.3通信图中的元素 127
7.5.4给类添加操作 128
7.5.5职责 129
7.5.6状态建模 129
7.6小结 130
7.7课外阅读 130
7.8复习题 131
7.9练习4的答案 133
7.10复习题答案 133
第Ⅲ部分设计解决方案
第8章设计系统体系结构 137
8.1引言 137
8.2设计优先级 138
8.3系统设计中的步骤 138
8.4选择联网的系统拓扑 139
8.4.1网络体系结构的简史 139
8.4.2三层体系结构 140
8.4.3个人计算机 142
8.4.4网络计算机 142
8.4.5互联网和万维网 143
8.4.6内联网 143
8.4.7外联网和虚拟私人网络 144
8.4.8客户机-服务器与
分布式体系结构 144
8.4.9用UML描述网络拓扑 146
8.5并发设计 147
8.6安全设计 148
8.6.1数字加密和解密 148
8.6.2一般安全规则 149
8.7分解软件 150
8.7.1系统和子系统 150
8.7.2层 151
8.7.3Java层:应用小程序和RMI 153
8.7.4层中的消息流 155
8.8小结 158
8.9课外阅读 158
8.10复习题 158
8.11复习题答案 159
第9章选择技术 160
9.1引言 160
9.2客户层技术 160
9.3客户层到中间层的协议 162
9.4中间层技术 163
9.5中间层到数据层的技术 164
9.6其他技术 165
9.7一般前端配置 166
9.7.1HTML/CGI和脚本 166
9.7.2HTML/CGI和服务小程序 167
9.7.3RMI 168
9.7.4CORBA 169
9.7.5EJB 170
9.8后端配置 171
9.9Java电子商务配置 171
9.10UML包 174
9.11小结 177
9.12课外阅读 177
9.13复习题 178
9.14复习题答案 178
第10章设计子系统 179
10.1引言 179
10.2把分析的类模型映射为
设计的类模型 180
10.2.1映射操作 180
10.2.2变量类型 180
10.2.3字段的可见性 180
10.2.4访问器 181
10.2.5映射类、属性和复合 181
10.2.6映射其他类型的关联 182
10.2.7通用标识符 186
10.3使用关系数据库实现存储 187
10.3.1数据库管理系统 187
10.3.2关系模型 188
10.3.3映射实体类 190
10.3.4映射关联 190
10.3.5映射对象状态 193
10.4最终确定用户界面 196
10.5设计业务服务 200
10.5.1使用代理和副本 201
10.5.2给业务服务分类 203
10.5.3会话标识符 204
10.5.4业务服务的实现 204
10.6使用模式、框架和库 206
10.7事务 206
10.7.1保守并发和开放并发 207
10.7.2使用事务和对象的
一般规则 207
10.7.3上层中的事务 207
10.8处理多个活动 208
10.8.1控制多个任务 208
10.8.2控制多个线程 208
10.8.3线程安全 209
10.9小结 212
10.10课外阅读 212
10.11复习题 212
10.12复习题答案 213
第11章可重用的设计模式 214
11.1引言 214
11.1.1模式简史 214
11.1.2目前的软件模式 215
11.2模式模板 215
11.3常见的设计模式 216
11.3.1观察器模式 216
11.3.2单一模式 220
11.3.3多重模式 223
11.3.4迭代器模式 224
11.3.5工厂方法和抽象工厂 226
11.3.6状态模式 227
11.3.7门面模式 231
11.3.8适配器模式 231
11.3.9策略模式和模板方法 233
11.3.10次轻量级模式 235
11.3.11复合模式 236
11.3.12代理模式 239
11.4使用模式 240
11.5发现、合并和调整模式 241
11.6小结 243
11.7课外阅读 243
第12章指定类的接口 244
12.1引言 244
12.2规范的定义 245
12.3正式规范 245
12.4非正式规范 247
12.5动态检查 248
12.6面向对象的规范 250
12.6.1OCL中的正式规范 250
12.6.2Eiffel中的非正式规范 251
12.7按合同设计 252
12.7.1合同和继承 255
12.7.2减少错误检查代码 256
12.7.3履行合同 258
12.7.4应用程序防火墙 259
12.8Java中的非正式规范 259
12.8.1使用注释编写合同文档 259
12.8.2动态检查条件 260
12.8.3使用RuntimeException
发出违反合同的信号 260
12.8.4外部系统 261
12.8.5启用和禁用动态检查 263
12.9小结 264
12.10课外阅读 264
12.11复习题 265
12.12复习题答案 265
第13章不间断的测试 266
13.1引言 266
13.2测试术语 266
13.2.1黑盒子测试 267
13.2.2白盒子测试 268
13.3测试的类型 268
13.3.1单元测试 269
13.3.2完整性测试 269
13.3.3Alpha测试 269
13.3.4 beta测试 270
13.3.5用例测试 270
13.3.6组件测试 270
13.3.7构建测试 271
13.3.8负载测试 272
13.3.9安装测试 273
13.3.10接受测试 273
13.3.11衰退测试 273
13.3.12说明文档测试 274
13.3.13安全测试 274
13.3.14衡量标准 274
13.4测试的自动化 275
13.5准备测试 276
13.6测试策略 277
13.6.1开发过程中的测试 277
13.6.2测试阶段中的测试 278
13.6.3发布后的测试 278
13.7测试的内容 278
13.8测试驱动的开发 281
13.9使用JUnit进行测试驱动
的开发示例 282
13.9.1测试Car类 283
13.9.2实现Car类 284
13.9.3重新安排测试 286
13.9.4为衰退测试创建测试套件 288
13.9.5测试Across方法 290
13.9.6完成Store类 290
13.10小结 292
13.11课外阅读 293
附录ARipple小结 294
附录BiCoot案例分析 297
B.1业务需求 297
B.1.1顾客的任务陈述 297
B.1.2参与者列表 297
B.1.3用例列表 298
B.1.4用例的通信图 298
B.1.5用例的活动图 298
B.1.6用例的细节 299
B.2系统需求 302
B.2.1用户界面草图 302
B.2.2参与者列表 303
B.2.3用例列表 303
B.2.4用例图 304
B.2.5用例调查 304
B.2.6用例细节 305
B.2.7辅助需求 308
B.2.8用例的优先级 308
B.3分析 308
B.3.1类图 308
B.3.2属性 309
B.3.3操作列表 309
B.3.4预约的状态机 311
B.3.5用例的实现 311
B.4系统设计 316
B.4.1选择技术 316
B.4.2层图 317
B.4.3层交互策略 318
B.4.4包 318
B.4.5部署图 319
B.4.6安全策略 320
B.4.7并发策略 320
B.5子系统设计 320
B.5.1业务服务 321
B.5.2ServletsLayer类图 321
B.5.3ServletsLayer的字段列表 321
B.5.4ServletsLayer的消息列表 322
B.5.5ServerLayer类图 322
B.5.6ServerLayer的字段列表 323
B.5.7ServerLayer的消息列表 323
B.5.8BusinessLayer类图 324
B.5.9BusinessLayer的字段列表 325
B.5.10协议对象的类图 328
B.5.11数据库模式 329
B.5.12用户界面设计 330
B.5.13业务服务的实现 330
B.6类的规范 342
B.6.1服务器类的规范 342
B.6.2业务逻辑类的规范 344
B.7测试计划概述 346
B.7.1引言 346
B.7.2螺旋式递增方式的作用 346
B.7.3非代码制品的测试 347
B.7.4代码的评估 347
B.7.5测试驱动的开发 347
B.7.6断言 347
B.7.7测试阶段 347
B.7.8说明文档的测试 348
B.7.9构建测试 348
B.7.10测试建档和记录日志 348
B.7.11分阶段的测试活动 348
B.8术语表 350
附录CUML表示法小结 356
猜您喜欢