第1章 面向对象方法概论 3
1.1 传统软件开发方法中存在的问题 3
第一部分 概述 3
1.2 面向对象的基本思想 5
1.3 面向对象的主要概念及基本原则 6
1.3.1 面向对象的主要概念 6
1.3.2 面向对象的基本原则 9
1.4 面向对象方法的主要优点 13
1.5 面向对象方法与技术的发展史及现状简介 17
习题 18
2.1 分析面临的主要问题 21
第二部分 面向对象分析 21
第2章 什么是面向对象的分析 21
2.2 面向对象的分析综述 24
习题 28
第3章 用况图 29
3.1 系统边界 29
3.2 参与者 30
3.2.1 概念与表示法 31
3.2.2 识别参与者 32
3.3 用况 32
3.3.1 概念与表示法 33
3.3.2 用况和参与者之间的关系 35
3.3.3 用况之间的关系 36
3.3.4 捕获用况 38
3.3.5 用况模板 40
3.4 用况图 41
3.5 检查与调整 41
3.6 例题 43
习题 46
第4章 类图 47
4.1 对象与类 47
4.1.1 概念与表示法 47
4.1.2 识别对象与类 48
4.1.3 审查与筛选 50
4.1.4 抽象出类并进行调整 52
4.1.5 认识对象的主动行为并识别主动对象 53
4.1.6 类的命名 54
4.1.7 建立类图的对象层 54
4.2 定义属性与操作 55
4.2.1 定义属性 55
4.2.2 定义操作 58
4.3 建立关系 61
4.3.1 继承 62
4.3.2 关联 72
4.3.3 聚合 83
4.4 接口 86
4.3.4 依赖 86
习题 89
第5章 顺序图 90
5.1 概念与表示法 90
5.2 建立顺序图 95
习题 96
第6章 统一建模语言中的几种其他图 97
6.1 协作图 97
6.1.1 概念与表示法 97
6.2 状态图 99
6.1.2 建立协作图 99
6.2.1 概念与表示法 100
6.2.2 建立状态图 110
6.3 包图 111
6.3.1 概念与表示法 111
6.3.2 如何划分包 113
习题 114
第三部分 面向对象设计 117
第7章 什么是面向对象设计 117
7.1 面向对象设计的发展 117
7.2 OOA与OOD的关系 118
7.3 面向对象设计模型和过程 120
习题 122
第8章 问题域部分的设计 123
8.1 为复用类而增加结构 123
8.2 增加一般类以建立共同协议 124
8.3 按编程语言调整继承 125
8.4 提高性能 128
8.5 为实现永久对象的存储增补属性与操作 130
8.6 对复杂关联的转化并决定关联的实现方式 131
8.7 调整与完善属性 132
8.9 决定对象间的可访问性 134
8.8 构造或优化算法 134
8.10 定义对象实例 135
8.11 其他 136
习题 136
第9章 人机交互部分的设计 137
9.1 什么是人机交互部分 137
9.2 人机交互部分的分析 138
9.3 人机界面的设计准则 140
9.4 人机交互的面向对象设计 142
9.4.1 设计输入与输出 142
9.4.2 命令的组织 144
9.4.3 用面向对象概念表达所有的界面成分 147
习题 150
10.1 什么是控制驱动部分 151
第10章 控制驱动部分的设计 151
10.2 控制流 152
10.3 如何设计控制驱动部分 153
10.3.1 识别控制流 153
10.3.2 审查 155
10.3.3 定义控制流 155
10.3.4 进程间和线程间的通信 156
10.3.5 控制流间的同步 158
习题 160
11.2 数据库和数据库管理系统 161
第11章 数据管理部分的设计 161
11.1 什么是数据管理部分 161
11.2.1 关系数据库 162
11.2.2 面向对象数据库 163
11.3 如何进行数据管理部分设计 164
11.3.1 针对关系数据库的数据存储设计 164
11.3.2 针对面向对象数据库的数据存储设计 171
11.3.3 针对文件的数据存储设计 172
习题 172
12.1 构件图 173
12.1.1 构件 173
第12章 构件及其部署的设计 173
12.1.2 构件图 175
12.2 部署图 177
12.2.1 节点 177
12.2.2 部署图 179
习题 179
第13章 OOD的评价准则 180
13.1 耦合 180
13.2 内聚 181
13.3 复用 181
13.4 其他评判准则 182
习题 183
第四部分 面向对象的编程实现 187
第14章 面向对象的编程实现 187
14.1 面向对象的程序设计 187
14.1.1 面向对象程序设计语言简介 187
14.1.2 用非面向对象程序设计语言实现OOD模型 191
14.1.3 为实现OOD模型选择程序设计语言 191
14.2 用具体的面向对象语言实现面向对象概念 193
14.3 数据管理部分的实现 205
14.4 状态图的实现 211
习题 215
15.1 系统与子系统 219
第15章 系统与模型 219
第五部分 系统与模型 219
15.1.1 对体系结构模式建模 220
15.1.2 划分子系统 221
15.2 模型 223
15.2.1 模型的含义 224
15.2.2 模型的视图 224
15.2.3 模型的层次性 226
15.2.4 模型间的一致性检查 226
习题 227
16.1 系统的功能需求 231
第16章 案例:会议文件审批系统 231
第六部分 建模实例 231
16.2 需求捕获 233
16.2.1 建立界面原型 233
16.2.2 识别参与者 235
16.2.3 识别用况 235
16.2.4 对需求进行捕获与描述 236
16.3 分析 245
16.3.1 寻找类 245
16.3.2 绘制状态图 246
16.3.3 建立类图 247
16.3.4 建立顺序图 251
16.4 设计 253
习题 263
附录 267
附录A 面向对象的软件建模工具 267
A.1 为什么需要软件建模工具 267
A.2 建模工具简介 268
A.3 面向对象的软件建模工具所应具有的功能 269
A.4 面向对象工具遵循的标准 272
A.5 面向对象的软件建模工具JBOO 3.0简介 273
A.5.1 JBOO 3.0是一种面向对象的软件建模工具 273
A.5.2 JBOO 3.0的功能 274
B.2 用况图文档 280
B.1 总体说明文档 280
附录B 文档编制指南 280
B.3 类图文档 281
B.4 顺序图文档 282
B.5 协作图文档 282
B.6 状态图文档 283
B.7 活动图文档 283
B.8 构件图文档 284
B.9 部署图文档 284
B.10 包图文档 284
附录C 英汉术语对照表 286
参考文献 288