图书介绍

UML面向对象建模与设计 第2版PDF|Epub|txt|kindle电子书版本网盘下载

UML面向对象建模与设计 第2版
  • (美)Michael Blaha,(美)James Rumbaugh著;车皓阳,杨眉译 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:7115142238
  • 出版时间:2006
  • 标注页数:389页
  • 文件大小:23MB
  • 文件页数:407页
  • 主题词:面向对象语言,UML-程序设计-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

UML面向对象建模与设计 第2版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 简介1

1.1 什么是面向对象?1

目录1

1.2 什么是OO开发?3

1.2.1 要建模的是概念,而非实现3

1.2.2 OO方法论3

1.2.3 三种模型4

1.3 OO主题5

1.3.1 抽象5

1.3.2 封装5

1.3.3 组合数据和行为5

1.3.5 强调对象的本质6

1.3.6 协同(synergy)6

1.3.4 共享6

1.4 关于OO开发有效性的证据7

1.5 OO建模历史7

1.6 本书的组织结构8

参考文献注释8

参考文献9

习题9

第一部分 建模的概念13

第2章 建模是一种设计技术13

2.1 建模13

2.2 抽象13

2.3 三种模型14

2.3.1 类模型14

2.3.2 状态模型14

参考文献注释15

2.4 小结15

2.3.3 交互模型15

2.3.4 模型间的关系15

习题16

第3章 类建模18

3.1 对象和类的概念18

3.1.1 对象18

3.1.2 类18

3.1.3 类图19

3.1.4 值和属性20

3.1.5 操作和方法21

3.1.6 类表示法小结22

3.2 链接和关联的概念22

3.2.1 链接和关联22

3.2.2 多重性24

3.2.3 关联终端名25

3.2.6 关联类27

3.2.4 排序27

3.2.5 包和序列27

3.2.7 限定关联29

3.3 泛化和继承30

3.3.1 定义30

3.3.2 泛化的用途32

3.3.3 覆写特征33

3.4 类模型的一个示例33

3.5 类模型导航35

3.5.1 遍历类模型的OCL制品36

3.5.2 构建OCL表达式37

3.5.3 OCL表达式的示例37

3.6 实践技巧39

3.7 小结40

参考文献注释40

参考文献41

习题42

第4章 高级类建模49

4.1 高级对象和类的概念49

4.1.1 枚举49

4.1.2 多重性50

4.1.3 作用域50

4.1.4 可见性51

4.2 关联终端51

4.3 n元关联52

4.4 聚合54

4.4.1 聚合与关联54

4.4.2 聚合与组合55

4.4.3 操作的传播55

4.5 抽象类56

4.6.1 多重继承的种类57

4.6 多重继承57

4.6.2 多重分类58

4.6.3 应对方案59

4.7 元数据61

4.8 具体化61

4.9 约束62

4.9.1 对象上的约束62

4.9.2 泛化集上的约束62

4.9.3 链接上的约束63

4.9.4 使用约束63

4.10 派生数据63

4.11 包64

4.12 实践技巧65

4.13 小结65

参考文献注释66

参考文献67

习题67

第5章 状态建模72

5.1 事件72

5.1.1 信号事件72

5.1.2 变更事件73

5.1.3 时间事件73

5.2 状态74

5.3 迁移和状态75

5.4 状态图76

5.4.1 状态图示例76

5.4.2 单触发状态图77

5.4.3 状态图的基本表示法小结78

5.5.2 do活动79

5.5.1 活动效应79

5.5 状态图行为79

5.5.3 进入和退出活动80

5.5.4 完成迁移81

5.5.5 发送信号81

5.5.6 状态图示例82

5.6 实践技巧82

5.7 小结83

参考文献注释83

参考文献84

习题84

第6章 高级状态建模88

6.1 嵌套状态图88

6.1.1 平面状态图的问题88

6.1.2 扩展状态88

6.2 嵌套状态89

6.3 信号泛化91

6.4.1 聚合并发92

6.4 并发92

6.4.2 对象内的并发93

6.4.3 并发活动的同步93

6.5 状态模型示例94

6.6 类和状态模型的关系99

6.7 实践技巧99

6.8 小结100

参考文献注释101

参考文献101

习题101

7.1 用例模型105

7.1.1 执行者105

第7章 交互建模105

7.1.2 用例106

7.1.3 用例图107

7.1.4 用例模型的准则108

7.2 顺序模型109

7.2.1 场景109

7.2.2 顺序图109

7.2.3 顺序模型的准则111

7.3 活动模型112

7.3.1 活动113

7.3.2 分支113

7.3.3 初始和终止114

7.3.4 并发活动114

7.3.5 可执行活动图114

参考文献注释115

7.4 小结115

7.3.6 活动模型的准则115

参考文献116

习题116

第8章 高级交互建模118

8.1 用例关系118

8.1.1 包含关系118

8.1.2 扩展关系118

8.1.3 泛化119

8.1.4 用例关系的组合120

8.1.5 用例关系的准则121

8.2 过程化顺序模型121

8.2.1 带有被动对象的顺序图121

8.2.2 带有临时对象的顺序图122

8.3.1 发送和接收信号123

8.3 活动模型的特殊制品123

8.2.3 过程化顺序模型的准则123

8.3.2 泳道124

8.3.3 对象流125

8.4 小结125

参考文献126

习题126

第9章 概念小结129

9.1 类模型129

9.2 状态模型129

9.3 交互模型129

9.4 模型之间的关系130

9.4.1 泛化130

9.4.2 聚合131

10.1 开发阶段135

10.1.1 系统构思135

第10章 过程概述135

第二部分 分析和设计135

10.1.2 分析136

10.1.3 系统设计136

10.1.4 类设计137

10.1.5 实现137

10.1.6 测试137

10.1.7 培训137

10.1.8 部署137

10.1.9 维护137

10.2 开发生命周期138

10.2.1 瀑布式开发138

10.2.2 迭代开发138

10.3 小结138

习题139

参考文献注释139

第11章 系统构思140

11.1 形成系统概念140

11.2 阐释概念140

11.3 准备问题陈述142

11.4 小结144

习题144

第12章 领域分析146

12.1 分析概述146

12.2 领域类模型147

12.2.1 寻找类148

12.2.2 保留正确的类149

12.2.3 准备数据词典150

12.2.4 寻找关联150

12.2.5 保留正确的关联151

12.2.7 保留正确的属性155

12.2.6 寻找属性155

12.2.8 使用继承来细化156

12.2.9 测试访问路径158

12.2.10 迭代类模型159

12.2.11 变换抽象的层次161

12.2.12 把类组织成包162

12.3 领域状态模型162

12.3.1 确定具有状态的类163

12.3.2 寻找状态163

12.3.3 寻找事件163

12.3.4 构建状态图164

12.3.5 评价状态图164

12.4 领域交互模型165

12.5 分析迭代165

12.5.1 细化分析模型165

12.6 小结166

12.5.2 重述需求166

12.5.3 分析和设计166

参考文献注释167

参考文献167

习题167

第13章 应用分析174

13.1 应用程序交互模型174

13.1.1 确定系统边界174

13.1.2 寻找参与者175

13.1.3 寻找用例175

13.1.4 寻找初始和终止事件176

13.1.5 准备普通场景176

13.1.6 增加变化和异常场景177

13.1.7 寻找外部事件177

13.1.10 检查领域类模型180

13.1.9 组织参与者和用例180

13.1.8 编制复杂用例的活动图180

13.2 应用类模型181

13.2.1 确定用户界面181

13.2.2 定义边界类182

13.2.3 确定控制器182

13.2.4 检查交互模型183

13.3 应用状态模型183

13.3.1 使用状态来确定应用类184

13.3.2 寻找事件184

13.3.3 构建状态图184

13.3.4 检查其他状态图186

13.3.5 检查类模型187

13.4.3 购物清单操作188

13.4.2 来自用例的操作188

13.4.1 来自类模型的操作188

13.4 增加操作188

13.3.6 检查交互模型188

13.4.4 简化操作189

13.5 小结190

参考文献注释190

参考文献191

习题191

第14章 系统设计194

14.1 系统设计概述194

14.2 估算性能195

14.3 制订复用计划195

14.3.1 库195

14.3.2 框架196

14.3.3 模式196

14.4 将系统拆分成子系统197

14.4.1 分层198

14.4.2 分区198

14.4.3 组合分层和分区198

14.5 确定并发性199

14.5.1 识别内部的并发性200

14.5.2 定义并发任务200

14.6 分配子系统200

14.6.1 估算硬件资源需求200

14.6.2 权衡硬件和软件201

14.6.3 给处理器分配任务201

14.6.4 确定物理连通性202

14.7 管理数据存储202

14.8 处理全局资源203

14.9.1 过程驱动型控制204

14.9 选择软件控制策略204

14.9.2 事件驱动型控制205

14.9.3 并发控制205

14.9.4 内部控制205

14.9.5 其他范型205

14.10 处理边界条件206

14.11 设定权衡优先级206

14.12 常见的架构风格207

14.12.1 批处理转换207

14.12.2 连续型转换208

14.12.3 交互式界面209

14.12.4 动态仿真209

14.12.5 实时系统210

14.12.6 事务管理器210

14.13 ATM系统的架构210

14.14 小结211

参考文献注释212

习题213

参考文献213

第15章 类设计218

15.1 类设计概述218

15.2 填补空白区219

15.3 实现用例220

15.4 设计算法221

15.4.1 选择算法221

15.4.2 选择数据结构222

15.4.3 定义内部类和操作223

15.4.4 把操作分配给类223

15.5 向下递归225

15.5.1 功能分层225

15.5.2 机制分层225

15.7 设计优化226

15.6 重构226

15.7.1 为了高效访问而增加冗余的关联227

15.7.2 为了效率而重新调整执行顺序228

15.7.3 将派生值保存下来以避免重新计算228

15.8 行为具体化229

15.9 调整继承230

15.9.1 重新调整类和操作230

15.9.2 提取公共行为230

15.9.3 使用委托来共享行为231

15.10 组织类设计233

15.10.1 信息隐藏233

15.10.2 实体的内聚性233

15.10.3 微调包234

15.11 ATM示例234

15.12 小结235

参考文献236

参考文献注释236

习题237

第16章 过程小结241

16.1 系统构思241

16.2 分析242

16.2.1 领域分析242

16.2.2 应用分析242

16.3 设计242

16.3.1 系统设计242

16.3.2 类设计242

17.1 实现概述245

17.2 微调类245

第三部分 实现245

第17章 实现建模245

17.3 微调泛化247

17.4 实现关联248

17.4.1 分析关联遍历249

17.4.2 单向关联249

17.4.3 双向关联249

17.4.4 高级关联250

17.5.1 单元测试251

17.5.2 系统测试251

17.4.5 ATM示例251

17.5 测试251

17.6 小结252

参考文献注释252

参考文献253

习题253

18.1.1 C++简介254

18.1 简介254

第18章 OO语言254

18.1.2 Java简介255

18.1.3 比较C++和Java256

18.2 节选ATM模型257

18.3 实现结构257

18.3.1 数据类型258

18.3.2 类260

18.3.3 访问控制260

18.3.4 泛化262

18.3.5 关联265

18.4 实现功能267

18.4.1 创建对象268

18.4.2 对象的生存期270

18.4.3 对象销毁271

18.4.4 链接创建272

18.4.5 链接销毁274

18.4.6 派生属性275

18.5 实践技巧275

18.6 小结276

参考文献注释277

参考文献277

习题277

第19章 数据库281

19.1 简介281

19.1.1 数据库的概念281

19.1.2 关系数据库的概念282

19.1.3 范式283

19.1.4 选择DBMS产品283

19.3.1 类284

19.3 实现结构——基础284

19.2 节选ATM模型284

19.3.2 关联285

19.3.3 泛化287

19.3.4 标识289

19.3.5 RDBMS实现的基本规则小结289

19.4 实现结构——高级290

19.4.1 外键290

19.4.2 检查约束291

19.4.3 索引291

19.4.4 视图292

19.4.5 小结RDBMS实现的高级规则292

19.5 为ATM示例实现结构292

19.6 实现功能295

19.6.1 将程序设计语言耦合到数据库中295

19.6.3 封装与查询优化297

19.6.2 数据转换297

19.6.4 使用SQL代码298

19.7 面向对象数据库298

19.8 实践技巧299

19.9 小结300

参考文献注释300

参考文献300

习题301

第20章 程序设计风格305

20.1 面向对象的风格305

20.2 可复用性305

20.2.1 可复用性的类别305

20.2.2 可复用性的风格准则306

20.2.3 使用继承307

20.3 可扩展性308

20.4 健壮性309

20.5 大规模程序设计310

20.6 小结312

参考文献注释313

参考文献313

习题313

第四部分 软件工程317

第21章 迭代开发317

21.1 迭代开发概述317

21.2 迭代开发与瀑布式开发317

21.3 迭代开发与快速原型法318

21.4 迭代的适用范围318

21.5 执行一次迭代319

21.6 规划下一次迭代320

21.7 建模和迭代开发320

21.9 小结321

21.8 识别风险321

参考文献注释322

参考文献322

第22章 管理建模323

22.1 管理建模概述323

22.2 模型的类型323

22.3 建模的缺陷324

22.4 建模会话325

22.4.1 密室建模325

22.4.2 轮转建模326

22.4.3 实况建模326

22.5 组织人员327

22.6 学习技术328

22.8.1 建模工具329

22.8 工具329

22.7 教授技术329

22.8.2 配置管理工具330

22.8.3 代码生成器330

22.8.4 模拟工具330

22.8.5 库331

22.9 估算建模工作量331

22.10 小结331

参考文献注释332

参考文献332

第23章 遗留系统334

23.1 逆向工程334

23.1.1 逆向工程与正向工程334

23.1.2 逆向工程的输入334

23.2.1 实现复原334

23.2 构造类模型335

23.1.3 逆向工程的输出结果335

23.2.2 设计复原336

23.2.3 分析复原336

23.3 构造交互模型336

23.4 构造状态模型337

23.5 逆向工程的技巧337

23.6 包装337

23.7 维护338

23.8 小结339

参考文献注释339

参考文献339

附录A UML图形化表示法341

附录B 术语表343

部分习题答案355

索引379

热门推荐