第1章 软件过程 1
1.1 软件开发的本质 1
1.1.1 软件开发的不变事实 2
1.1.2 软件开发的“意外事件” 3
1.1.3 开发还是集成 10
复习小测验1.1 10
1.2 系统规划 10
1.2.1 SWOT方法 11
1.2.2 VCM方法 12
1.2.3 BPR方法 13
1.2.4 ISA方法 14
复习小测验1.2 15
1.3 三级管理系统 15
1.3.1 事务处理系统 16
1.3.2 分析处理系统 16
1.3.3 知识处理系统 17
复习小测验1.3 18
1.4 软件开发生命周期 18
1.4.1 开发方法 18
1.4.2 生命周期的阶段 20
1.4.3 跨越生命周期的活动 24
复习小测验1.4 26
1.5 开发模型与方法 26
1.5.1 螺旋模型 27
1.5.2 IBM Rational统一过程 27
1.5.3 模型驱动的体系结构 28
1.5.4 敏捷软件开发 29
1.5.5 面向方面的软件开发 30
复习小测验1.5 31
1.6 实例研究的问题陈述 31
1.6.1 大学注册 32
1.6.2 音像商店 32
1.6.3 关系管理 33
1.6.4 电话销售 33
1.6.5 广告支出 34
1.6.6 时间记录 34
1.6.7 货币兑换 35
小结 35
关键术语 36
选择题 37
问题 38
复习小测验答案 39
选择题答案 40
奇数编号问题的答案 40
第2章 需求确定 44
2.1 从业务过程到解决方案构想 44
2.1.1 过程层次建模 44
2.1.2 业务过程建模 45
2.1.3 解决方案构想 49
复习小测验2.1 51
2.2 需求引导 51
2.2.1 系统需求 52
2.2.2 需求引导的传统方法 53
2.2.3 需求引导的现代方法 56
复习小测验2.2 58
2.3 需求协商与确认 59
2.3.1 超出范围的需求 59
2.3.2 需求依赖矩阵 59
2.3.3 需求风险和优先级 60
复习小测验2.3 60
2.4 需求管理 60
2.4.1 需求标识与分类 60
2.4.2 需求层次 61
2.4.3 变更管理 61
2.4.4 需求可跟踪性 62
复习小测验2.4 62
2.5 需求业务模型 62
2.5.1 系统范围模型 63
2.5.2 业务用例模型 64
2.5.3 业务词汇表 65
2.5.4 业务类模型 66
复习小测验2.5 68
2.6 需求文档 68
2.6.1 文档模板 68
2.6.2 项目准备 68
2.6.3 系统服务 69
2.6.4 系统约束 69
2.6.5 项目的其他问题 70
2.6.6 附录 70
复习小测验2.6 70
小结 70
关键术语 71
选择题 72
问题 73
练习:广告支出 73
练习:时间记录 74
复习小测验答案 74
选择题答案 75
奇数编号问题的答案 75
练习的解决方案:AE 76
第3章 可视化建模基础 80
3.1 用例视图 80
3.1.1 参与者 81
3.1.2 用例 81
3.1.3 用例图 82
3.1.4 用例文档化 83
复习小测验3.1 84
3.2 活动视图 84
3.2.1 动作 84
3.2.2 活动图 85
复习小测验3.2 86
3.3 结构视图 86
3.3.1 类 87
3.3.2 属性 88
3.3.3 关联 89
3.3.4 聚合 90
3.3.5 泛化 90
3.3.6 类图 90
复习小测验3.3 92
3.4 交互视图 92
3.4.1 顺序图 92
3.4.2 通信图 93
3.4.3 类方法 93
复习小测验3.4 94
3.5 状态机视图 95
3.5.1 状态和转换 95
3.5.2 状态机图 96
复习小测验3.5 97
3.6 实现视图 97
3.6.1 子系统和包 97
3.6.2 构件和构件图 99
3.6.3 节点和部署图 100
复习小测验3.6 100
小结 100
关键术语 101
选择题 102
问题 103
练习 103
练习:音像商店 104
复习小测验答案 105
选择题答案 105
奇数编号问题的答案 105
奇数编号练习的解决方案 106
奇数编号练习的解决方案:音像商店 107
第4章 需求规格说明 110
4.1 体系结构优先权 110
4.1.1 模型-视图-控制器 111
4.1.2 J2EE的核心体系结构 112
4.1.3 表示-控制器-bean-中介者-实体-资源 112
复习小测验4.1 115
4.2 状态规格说明 115
4.2.1 类建模 115
4.2.2 关联建模 126
4.2.3 聚合及复合关系建模 129
4.2.4 泛化关系建模 131
4.2.5 接口建模 133
4.2.6 对象建模 134
复习小测验4.2 135
4.3 行为规格说明 135
4.3.1 用例建模 135
4.3.2 活动建模 139
4.3.3 交互建模 141
4.3.4 操作建模 143
复习小测验4.3 145
4.4 状态变化规格说明 145
4.4.1 对象状态建模 145
复习小测验4.4 146
小结 147
关键术语 147
选择题 148
问题 149
练习:音像商店 150
练习:关系管理 150
练习:大学注册 151
复习小测验答案 151
选择题答案 152
奇数编号问题的答案 152
练习的解决方案:大学注册 155
第5章 从分析到设计 159
5.1 高级类建模 159
5.1.1 扩展机制 159
5.1.2 可见性与封装 162
5.1.3 导出信息 167
5.1.4 限定关联 168
5.1.5 关联类与具体化类 169
复习小测验5.1 170
5.2 高级泛化与继承建模 170
5.2.1 泛化和可替换性 171
5.2.2 继承与封装 171
5.2.3 接口继承 171
5.2.4 实现继承 172
复习小测验5.2 177
5.3 高级聚合与委托建模 177
5.3.1 给聚合增加更多的语义 178
5.3.2 作为泛化的可选方案的聚合 179
5.3.3 聚合与整体构件——一些仅供思考的材料 181
复习小测验5.3 182
5.4 高级交互建模 182
5.4.1 生命线和消息 182
5.4.2 片段 186
5.4.3 交互使用 187
复习小测验5.4 189
小结 189
关键术语 189
选择题 190
问题 190
练习 191
练习:时间记录 191
练习:广告支出 192
复习小测验答案 193
选择题答案 193
奇数编号问题的答案 193
奇数编号练习的解决方案 195
练习的解决方案:时间记录 196
第6章 系统体系结构与程序设计 200
6.1 分布式物理体系结构 200
6.1.1 对等体系结构 201
6.1.2 分层体系结构 201
6.1.3 数据库为中心的体系结构 202
复习小测验6.1 203
6.2 多层逻辑体系结构 203
6.2.1 体系结构的复杂性 204
6.2.2 体系结构模式 208
复习小测验6.2 217
6.3 体系结构建模 218
6.3.1 包 218
6.3.2 构件 219
6.3.3 结点 221
复习小测验6.3 222
6.4 程序设计与复用原则 222
6.4.1 类的内聚与耦合 222
6.4.2 复用策略 229
复习小测验6.4 230
6.5 协作建模 230
6.5.1 协作 230
6.5.2 复合结构 231
6.5.3 从用例到复合协作 232
6.5.4 从协作到交互 234
6.5.5 从交互到复合结构 237
复习小测验6.5 238
小结 238
关键术语 239
选择题 240
问题 240
练习:音像商店 241
练习:广告支出 242
复习小测验答案 244
选择题答案 245
奇数编号问题的答案 245
练习的解决方案:广告支出 247
第7章 图形用户界面设计 250
7.1 GUI设计原则 250
7.1.1 从GUI原型到实现 250
7.1.2 良好GUI设计指南 252
复习小测验7.1 254
7.2 桌面GUI设计 254
7.2.1 主窗口 254
7.2.2 辅窗口 258
7.2.3 菜单和工具栏 259
7.2.4 按钮及其他控件 260
复习小测验7.2 261
7.3 Web GUI设计 261
7.3 Web应用系统的使能技术 261
7.3.2 内容设计 263
7.3.3 导航设计 267
7.3.4 利用GUI框架支持Web设计 270
复习小测验7.3 273
7.4 GUI导航建模 274
7.4.1 用户体验故事情节 274
7.4.2 UX元素建模 276
7.4.3 行为性UX协作 277
7.4.4 结构性UX协作 279
复习小测验7.4 279
小结 280
关键术语 280
选择题 280
问题 281
练习:关系管理 281
练习:电话销售 282
复习小测验答案 284
选择题答案 284
奇数编号问题的答案 284
练习的解决方案:关系管理 286
第8章 持久性与数据库设计 290
8.1 业务对象和持久性 290
8.1.1 数据库管理系统 290
8.1.2 数据模型的层次 291
8.1.3 集成应用系统与数据库建模 291
8.1.4 对象-数据库映射基础 292
复习小测验8.1 293
8.2 关系数据库模型 293
8.2.1 列、域和规则 294
8.2.2 表 294
8.2.3 引用完整性 295
8.2.4 触发器 297
8.2.5 存储过程 298
8.2.6 视图 299
8.2.7 范式 299
复习小测验8.2 300
8.3 对象-关系映射 300
8.3.1 映射实体类 300
8.3.2 映射关联 301
8.3.3 映射聚合 302
8.3.4 映射泛化 303
复习小测验8.3 305
8.4 管理持久对象的模式 305
8.4.1 检索持久对象 306
8.4.2 装载持久对象 307
8.4.3 释放持久对象 308
复习小测验8.4 309
8.5 设计数据库访问和事务 309
8.5.1 SQL程序设计的层次 309
8.5.2 设计业务事务 310
复习小测验8.5 314
小结 314
关键术语 314
选择题 315
问题 316
练习:关系管理 316
练习:电话销售 317
复习小测验答案 317
选择题答案 317
奇数编号问题的答案 317
练习的解决方案:关系管理 319
第9章 质量与变更管理 323
9.1 质量管理 323
9.1.1 质量保证 324
9.1.2 质量控制 326
复习小测验9.1 332
9.2 变更管理 332
9.2.1 工具与管理变更请求 333
9.2.2 可追踪性 335
复习小测验9.2 340
小结 340
关键术语 340
选择题 341
问题 341
复习小测验答案 342
选择题答案 342
奇数编号问题的答案 342
第10章 复习巩固指南 344
10.1 用例建模 344
10.1.1 参与者 344
10.1.2 用例 345
10.1.3 用例图 346
10.1.4 编写用例文档 347
10.2 活动建模 347
10.2.1 动作 347
10.2.2 活动图 348
10.3 类建模 348
10.3.1 类 348
10.3.2 属性 349
10.3.3 关联 349
10.3.4 聚合 350
10.3.5 泛化 350
10.3.6 类图 351
10.4 交互建模 352
10.4.1 顺序图 352
10.4.2 通信图 354
10.5 状态机建模 356
10.5.1 状态和转换 356
10.5.2 状态机图 356
10.6 实现模型 357
10.6.1 子系统 357
10.6.2 包 357
10.6.3 构件 358
10.6.4 注释 359
10.7 对象协作设计 360
10.7.1 用例设计规格说明 361
10.7.2 用户界面原型 363
10.7.3 顺序图 364
10.7.4 设计层类图 365
10.8 窗口导航设计 366
10.8.1 用户体验元素 366
10.8.2 行为性UX协作 366
10.8.3 结构性UX协作 366
10.9 数据库设计 368
10.9.1 对象-关系映射 368
10.9.2 引用完整性设计 369
小结 369
练习:在线购物 371
附录A 对象技术基础 373
参考文献 396