第一篇 面向对象分析与设计 2
第1章 面向对象方法概述 2
1.1 软件生命周期和过程模型 2
1.1.1 软件生命周期 3
1.1.2 软件过程模型 4
1.2 软件开发方法 13
1.2.1 结构化软件开发方法 13
1.2.2 模块化软件开发方法 14
1.2.3 面向数据结构软件开发方法 15
1.2.4 面向对象软件开发方法 15
1.3 面向对象软件开发方法简介 16
1.3.1 面向对象的基本概念 17
1.3.2 几种典型的面向对象方法 21
1.4 本章小结 24
本章习题 24
第2章 统一建模语言 25
2.1 UML语言概述 25
2.1.1 UML的发展历史 25
2.1.2 UML的组成 26
2.1.3 UML的视图 27
2.1.4 UML的模型元素 28
2.1.5 UML的公共机制 30
2.1.6 UML建模的简单流程 31
2.2 UML静态建模 32
2.2.1 用例图 32
2.2.2 类图 35
2.2.3 对象图 38
2.2.4 包图 39
2.2.5 组件图和配置图 40
2.3 UML动态建模 42
2.3.1 顺序图 42
2.3.2 协作图 44
2.3.3 活动图 46
2.3.4 状态图 49
2.4 本章小结 53
本章习题 54
第3章 面向对象分析 56
3.1 需求分析与用例建模 56
3.1.1 确定系统的边界和范围 57
3.1.2 确定参与者 58
3.1.3 确定用例 58
3.1.4 确定用例之间的关系 59
3.2 系统分析与对象建模 60
3.2.1 发现对象 60
3.2.2 发现属性和操作 60
3.2.3 发现关联 62
3.2.4 建立对象层次结构 63
3.3 本章小结 64
本章习题 64
第4章 面向对象设计 65
4.1 问题域子系统的设计 65
4.1.1 问题域子系统的基本概念 65
4.1.2 设计过程 66
4.2 人机交互子系统的设计 68
4.2.1 人机交互子系统的设计原则 68
4.2.2 人机交互子系统的设计 69
4.3 控制驱动子系统的设计 70
4.3.1 控制驱动子系统的基本概念 70
4.3.2 控制驱动子系统的设计原则 71
4.4 数据接口子系统的设计 74
4.4.1 数据接口子系统的基本概念 74
4.4.2 对象存储方案和数据接口的设计策略 76
4.5 本章小结 78
本章习题 78
第二篇 面向对象程序设计 80
第5章 C++语言基础 80
5.1 C++语言概述 80
5.1.1 C++语言的特点 80
5.1.2 C++语言程序基本结构 81
5.1.3 C++程序开发步骤 82
5.2 C++的标准输入输出 83
5.3 标识符 84
5.4 常量与变量 85
5.4.1 常量 85
5.4.2 const说明符 85
5.4.3 变量 87
5.4.4 数据类型 87
5.5 C++运算符 88
5.5.1 运算符概述 88
5.5.2 作用域运算符 88
5.5.3 运算符new和delete 90
5.5.4 引用 93
5.6 表达式 97
5.7 C++语句 99
5.7.1 控制语句 99
5.7.2 其他形式的语句 105
5.8 函数 105
5.8.1 函数概述 105
5.8.2 内联函数 107
5.8.3 带有默认参数的函数 108
5.8.4 函数重载 109
5.9 本章小结 112
本章习题 112
第6章 类与对象 114
6.1 类与对象的定义 115
6.1.1 类的定义 115
6.1.2 对象的定义 118
6.1.3 对象数组与对象指针 121
6.1.4 向函数传递对象 125
6.2 构造函数和析构函数 128
6.2.1 构造函数 128
6.2.2 析构函数 138
6.3 友元 139
6.3.1 友元的概念 139
6.3.2 友元函数 139
6.3.3 友元类 142
6.4 类型转换 144
6.4.1 基本类型到类类型的转换 145
6.4.2 类类型到基本类型的转换 146
6.4.3 类类型到类类型的转换 148
6.5 本章小结 149
本章习题 150
第7章 继承与派生 153
7.1 继承与派生类的概念 153
7.1.1 继承与派生类的概念 154
7.1.2 继承的种类 154
7.2 派生类 155
7.2.1 派生类的定义 155
7.2.2 派生类的三种继承方式 156
7.2.3 派生类的构造函数和析构函数 161
7.2.4 多继承 164
7.3 虚基类 169
7.3.1 虚基类的概念 169
7.3.2 虚基类的初始化 170
7.3.3 虚基类的构造函数和析构函数 172
7.4 本章小结 174
本章习题 175
第8章 多态性 178
8.1 多态概述 178
8.1.1 问题的提出 178
8.1.2 多态的实现 179
8.2 函数重载 179
8.2.1 函数重载的定义 179
8.2.2 函数重载的调用 180
8.3 运算符重载 181
8.3.1 运算符重载概述 181
8.3.2 运算符重载的规则与方式 181
8.3.3 运算符重载函数的定义和调用 182
8.3.4 几种典型运算符的重载 186
8.4 虚函数与抽象类 189
8.4.1 虚函数的定义与调用 190
8.4.2 纯虚函数和抽象类 192
8.5 本章小结 198
本章习题 198
第9章 模板 201
9.1 模板概述 201
9.2 函数模板 202
9.2.1 函数模板的定义 203
9.2.2 函数模板的实例化 204
9.2.3 函数模板的重载 208
9.3 类模板 209
9.3.1 类模板的定义 209
9.3.2 类模板的实例化 211
9.3.3 类模板的派生 213
9.4 本章小结 219
本章习题 219
第10章 C++的I/O流 221
10.1 流概述 221
10.1.1 流的层次结构 222
10.1.2 iostream流类库 222
10.2 预定义的I/O流 223
10.2.1 预定义的流对象 223
10.2.2 输入输出的格式控制 224
10.3 文件I/O流 227
10.3.1 文件流 227
10.3.2 文件输出流 228
10.3.3 文件输入流 231
10.4 用户自定义的I/O流 236
10.4.1 重载提取运算符 236
10.4.2 重载插入运算符 237
10.5 本章小结 240
本章习题 240
第三篇 面向对象建模实例 244
第11章 面向对象建模实例 244
11.1 需求分析 244
11.1.1 用例建模 245
11.1.2 用例描述 247
11.2 静态结构建模 249
11.2.1 系统对象类 250
11.2.2 系统用户界面类 252
11.3 动态结构建模 256
11.3.1 状态图 256
11.3.2 顺序图 257
11.4 数据库设计与访问 261
11.4.1 数据库设计 261
11.4.2 数据库访问技术 264
11.4.3 数据库访问技术的实现 267
11.4.4 SQL语言 271
11.5 主窗体设计与实现 273
11.6 部分表单设计与实现 279
11.6.1 系统登录 279
11.6.2 图书资料管理 282
11.6.3 读者信息管理 293
11.6.4 基础数据管理 294
11.6.5 图书流通管理 300
11.6.6 信息查询 313
11.6.7 系统管理 320
11.6.8 数据库管理 326
参考文献 328