第一部分 概述 2
第1章 面向对象方法概论 2
1.1 传统开发方法中存在的问题 2
1.2 面向对象的基本思想 4
1.3 面向对象的主要概念及基本原则 6
1.3.1 面向对象的主要概念 6
1.3.2 面向对象的基本原则 8
1.4 面向对象方法的主要优点 10
1.5 面向对象方法的发展史及现状简介 13
1.6 关于统一建模语言UML 14
习题 16
第二部分 面向对象分析 18
第2章 什么是面向对象分析 18
2.1 分析面临的主要问题 18
2.2 面向对象分析综述 20
习题 23
第3章 建立需求模型——用况图 24
3.1 系统边界 24
3.2 参与者 25
3.2.1 概念与表示法 25
3.2.2 识别参与者 26
3.3 用况 27
3.3.1 概念与表示法 27
3.3.2 用况与参与者之间的关系 28
3.3.3 用况之间的关系 29
3.3.4 捕获用况 31
3.3.5 用况模板 33
3.4 用况图 33
3.5 检查与调整 35
3.6 用况模型和面向对象分析模型 36
3.7 例题 36
习题 38
第4章 建立基本模型——类图 40
4.1 对象与类 40
4.1.1 概念与表示法 40
4.1.2 识别对象与类 41
4.1.3 审查与筛选 42
4.1.4 抽象出类并进行调整 44
4.1.5 认识对象的主动行为并识别主动对象 45
4.1.6 类的命名 46
4.1.7 建立类图的对象层 46
4.2 属性与操作 46
4.2.1 属性 46
4.2.2 操作 49
4.3 关系 52
4.3.1 继承 52
4.3.2 关联 60
4.3.3 聚合 69
4.3.4 依赖 73
4.4 接口 73
习题 75
第5章 建立辅助模型 77
5.1 顺序图 77
5.1.1 概念与表示法 77
5.1.2 顺序图中的结构化控制 82
5.1.3 建立顺序图 84
5.2 通信图 85
5.2.1 概念与表示法 85
5.2.2 建立通信图 86
5.3 活动图 86
5.3.1 概念与表示法 87
5.3.2 建立活动图 90
5.4 状态机图 90
5.4.1 概念与表示法 91
5.4.2 建立状态机图 98
5.5 包图 99
5.5.1 概念与表示法 99
5.5.2 如何划分与组织包 101
习题 102
第三部分 面向对象设计 104
第6章 什么是面向对象设计 104
6.1 面向对象设计的发展 104
6.2 OOA与OOD的关系 105
6.3 面向对象设计模型和过程 107
习题 108
第7章 问题域部分的设计 109
7.1 为复用类而增加结构 109
7.2 提高性能 110
7.3 增加一般类以建立共同协议 112
7.4 按编程语言调整继承 112
7.5 转化复杂关联并决定关联的实现方式 116
7.6 调整与完善属性 117
7.7 构造及优化算法 118
7.8 决定对象间的可访问性 119
7.9 定义对象实例 120
7.10 其他 120
习题 120
第8章 人机交互部分的设计 121
8.1 什么是人机交互部分 121
8.2 如何分析人机交互部分 122
8.3 如何设计人机交互部分 123
8.3.1 设计输入与输出 124
8.3.2 命令的组织 125
8.3.3 用OO概念表达所有的界面成分 127
8.4 人机交互部分的设计准则 130
习题 131
第9章 控制驱动部分的设计 132
9.1 什么是控制驱动部分 132
9.2 控制流 132
9.3 如何设计控制驱动部分 133
9.3.1 识别控制流 133
9.3.2 审查 135
9.3.3 定义控制流 135
9.3.4 进程间和线程间的通信 135
9.3.5 控制流间的同步 137
习题 139
第10章 数据管理部分的设计 140
10.1 什么是数据管理部分 140
10.2 数据库和数据库管理系统 140
10.2.1 关系数据库 141
10.2.2 面向对象数据库 141
10.3 如何设计数据管理部分 142
10.3.1 针对关系数据库的数据存取设计 142
10.3.2 针对面向对象数据库的数据存取设计 148
10.3.3 针对文件的数据存取设计 148
习题 149
第11章 构件及部署部分的设计 150
11.1 构件设计 150
11.1.1 概念与表示法 150
11.1.2 构件的内部结构 154
11.1.3 对构件的行为建模 156
11.1.4 对构件的实现建模 157
11.2 部署设计 158
11.2.1 概念与表示法 159
11.2.2 对系统的部署建模 160
习题 161
第12章 若干典型的设计模式 162
12.1 概述 162
12.2 Facade模式 163
12.3 Adapter模式 165
12.4 Strategy模式 167
12.5 Observer模式 168
12.6 Abstract Factory模式 170
12.7 Factory Method模式 172
习题 174
第13章 OOD的评价准则 175
13.1 耦合 175
13.2 内聚 175
13.3 复用 176
13.4 其他评判准则 176
习题 178
第四部分 系统与模型 180
第14章 系统与模型 180
14.1 系统与子系统 180
14.1.1 概念与表示法 180
14.1.2 划分子系统 180
14.2 模型 182
14.2.1 模型的含义 182
14.2.2 模型和视图 183
14.2.3 模型的抽象层次 184
14.2.4 模型间的一致性检查 184
习题 185
第五部分 建模实例 188
第15章 案例:教学管理系统 188
15.1 系统的功能需求 188
15.2 建立需求模型 191
15.2.1 划分子系统 191
15.2.2 识别参与者 192
15.2.3 识别用况 192
15.2.4 对需求进行捕获与描述 193
15.3 系统分析 196
15.3.1 寻找类 196
15.3.2 建立状态机图 196
15.3.3 建立类图 197
15.3.4 建立顺序图 200
15.4 系统设计 201
15.4.1 问题域部分设计 202
15.4.2 界面部分设计 202
15.4.3 数据管理部分设计 206
习题 208
附录A 面向对象的软件建模工具 209
附录B 文档编制指南 221
参考文献 227