第1章 面向对象技术概述 1
1.1面向对象技术的产生 1
1.2面向对象思想 3
1.2.1 面向对象方法学 3
1.2.2面向对象的编程技术(OOP) 7
1.3面向对象技术要研究的问题 13
1.3.1 UML架构重用 13
1.3.2设计重用 16
1.3.3代码重用 18
习题 22
第2章 对象模型 23
2.1概述 23
2.2对象的基本元素 24
2.2.1 抽象 25
2.2.2封装 26
2.2.3模块化 27
2.2.4层次性 28
2.2.5类型 29
2.2.6并发性 30
2.2.7持久性 30
2.3对象的关系 30
2.3.1 对象 30
2.3.2对象间的关系 32
2.3.3 类 34
2.4对象的抽象机制 37
2.5抽象类 38
2.6 UML静态对象模型 40
2.6.1 UML静态视图 42
2.6.2 UML物理视图 53
2.6.3 UML扩展机制 55
习题 57
3.1.1用例视图(use case view) 59
第3章 基于对象的动态模型 59
3.1 UML动态视图 59
3.1.2状态机视图(State Machine View) 62
3.1.3 活动图(Activity View) 68
3.1.4交互视图(Interaction View) 70
3.2动态对象模型设计 74
习题 82
第4章 UML分析与设计 83
4.1 概述 83
4.2 UML柔性软件开发过程及其支持环境 83
4.2.1 UML分析与设计思想 83
4.2.2 UML支持环境基本需求 84
4.2.3 UML集成化支持环境 85
4.3 UML分析与设计过程 88
4.3.1 UML建模过程高层视图 88
4.3.2 UML实际建模过程 89
习题 97
第5章 面向对象技术原理基础 98
5.1 面向对象语言的正确性研究 98
5.1.1UML建模模型正确性判断 99
5.1.2UML用例正确性判断 102
5.2面向对象语言编译技术 121
5.2.1 面向对象程序语言的编译原理 121
5.2.2 动态运行期的存储技术 129
习题 134
第6章 应用框架技术 135
6.1 概述 135
6.2应用框架特点与应用 137
6.3应用框架设计方法 140
6.3.1 反向调用 140
6.3.2抽象类 142
6.3.3 双向通信 148
6.3.4 预设函数 158
6.3.5构造函数与反向调用 163
6.4应用框架的应用研究 171
6.4.1 Borland C++的OWL框架 171
6.4.2 Visual C++的MFC框架 176
习题 181
第7章 设计模式 182
7.1 概述 182
7.1.1什么是设计模式 182
7.1.2设计模式的描述 183
7.2设计模式的特点与应用 184
7.2.1 MVC模式思想 184
7.2.2创建型设计模式特点及应用 187
7.2.3结构型设计模式特点及应用 187
7.2.4行为型设计模式特点及应用 188
7.3.1创建型模式 189
7.3设计模式的方法 189
7.3.2结构型模式 196
7.3.3行为型模式 217
习题 240
第8章 面向对象设计原则 242
8.1概述 242
8.1.1软件设计中存在的问题 242
8.1.2面向对象中的设计原则 243
8.2设计原则的特点与应用 244
8.2.1糟糕的设计 244
8.2.2设计存在问题与原则应用 245
8.3设计原则的方法 246
8.3.1 单一职责原则(SRP) 247
8.3.2开放一封闭原则(OCP) 249
8.3.3 Liskov替换原则(LSP) 252
8.3.4依赖倒置原则(DIP) 254
8.3.5接口隔离原则(ISP) 258
8.3.6包的设计原则 264
习题 277
第9章 构件技术 278
9.1 概述 278
9.1.1构件技术的发展 278
9.1.2构件技术的些基本概念 279
9.2面向构件的思想 281
9.2.1 构件技术的基本思想 281
9.2.2构件对象模型COM 282
9.2.3公共对象请求中介结构CORBA 288
9.2.4 Java和Java2环境平台企业版J2EE 293
9.2.5 3种技术的比较 300
9.2.6总结 303
9.3构件的应用 304
9.3.1基于COM模型的应用 304
9.3.2基于CORBA模型的分布式应用 309
习题 313
第10章 面向对象测试技术 314
10.1概述 314
10.1.1软件测试背景 314
10.1.2软件测试的原则及过程 315
10.1.3软件测试的模型 317
10.2面向对象软件测试 317
10.2.1 概述 318
10.2.2面向对象软件测试模型(Obiect-OrientTest Model) 318
10.2.3面向对象软件测试方法 319
10.3测试技术特点及应用 325
10.3.1单元测试 326
10.3.2回归测试 328
10.4自动化测试技术 331
习题 344
参考文献 345