基础篇 2
第1章 软件工程概述 2
1.1软件、软件危机和软件工程的定义 2
1.1.1软件及其特点 4
1.1.2软件危机 5
1.1.3软件工程的定义 5
1.1.4软件工程的基本原理 6
1.2软件开发生命周期 7
1.3软件过程模型 9
1.3.1常见的生命周期模型 9
1.3.2生命周期模型的应用 14
1.4软件工程方法学 15
本章小结 16
习题1 16
第2章 结构化程序设计与面向对象程序设计 17
2.1概述 17
2.2结构化方法的基本原理 17
2.2.1结构化分析过程 17
2.2.2结构化分析工具 18
2.3面向对象方法学的基本概念和原则 24
2.3.1基本概念 24
2.3.2主要原则 26
2.4面向对象方法与结构化方法比较 27
2.4.1实例 27
2.4.2面向对象方法与结构化方法比较 29
2.4.3两种方法的综合运用 30
本章小结 32
习题2 32
第3章 统一建模语言与现代软件工程 33
3.1软件工程的发展趋势及成功经验 33
3.1.1现代软件工程研究中的热点内容 33
3.1.2现代软件工程的成功经验 35
3.2统一建模语言概述 37
3.2.1什么是软件建模 37
3.2.2什么是UML 37
3.2.3 UML的历史 38
3.2.4 UML中的五类图 38
3.2.5 UML建模的基本过程 38
3.2.6统一建模语言在现代软件工程中的作用 39
本章小结 40
习题3 40
第4章 用例图 41
4.1用例图概述 41
4.1.1用例建模的目的 41
4.1.2定义用例图 42
4.1.3用例图的主要组件 42
4.2识别参与者 44
4.2.1捕获需求 44
4.2.2识别参与者 44
4.3识别用例 45
4.3.1识别用例的方法 45
4.3.2用例的命名规则 46
4.4用例间的关系 47
4.4.1泛化关系 47
4.4.2包含关系 47
4.4.3扩展关系 49
4.5用例文档 50
4.6重构系统的用例模型 53
本章小结 54
习题4 54
第5章 静态模型 56
5.1静态模型的基本概述 56
5.2类图 56
5.2.1类图概述 56
5.2.2类图的基本组件 57
5.2.3关系 61
5.2.4关联关系的不同重数与代码的映射 67
5.2.5如何建模类图 68
5.2.6实例——“饮料自动售货机系统”的类图 69
5.3对象图 70
5.3.1对象图的概念 70
5.3.2对象图和类图的区别 70
5.4包图 71
5.4.1包图的概念 71
5.4.2包图建模 71
本章小结 71
习题5 72
第6章 动态模型 74
6.1动态模型概述 74
6.2活动图 74
6.2.1定义活动图 75
6.2.2如何建模活动图 76
6.2.3实例——活动图在用例模型中的作用 76
6.2.4活动图与其他模型 78
6.3顺序图 80
6.3.1定义顺序图 80
6.3.2关于消息 81
6.3.3对象的创建和销毁 82
6.3.4顺序图的主要用途 83
6.3.5顺序图实例 83
6.4协作图 87
6.4.1定义协作图 87
6.4.2综合实例 87
6.5状态图 91
6.5.1定义状态图 91
6.5.2为什么要建模状态图 92
6.5.3状态图映射成代码 92
6.5.4状态图实例 93
本章小结 96
习题6 97
第7章UML实现与部署 99
7.1建模实现方式图的目的 99
7.2组件图 99
7.2.1组件图的概念 99
7.2.2组件图的关键技术 100
7.2.3组件图与类图、包图的关系 102
7.2.4购物车的组件图实现 103
7.3部署图 105
7.3.1部署图的概念 105
7.3.2节点 105
7.3.3通信关联 106
7.3.4部署图的建模 106
7.3.5组件图与部署图 107
7.4建模实现方式图 107
本章小结 108
第8章 数据库建模 109
8.1数据库建模的流程 109
8.1.1什么是数据库建模 109
8.1.2数据库建模基本流程 109
8.2需求分析 110
8.2.1需求分析的任务 110
8.2.2如何表达用户的数据需求 111
8.3建立概念模型 112
8.3.1什么是概念模型 112
8.3.2如何建立概念模型 112
8.4建立逻辑数据模型 117
8.4.1什么是逻辑数据模型 117
8.4.2如何建立逻辑数据模型 117
8.5建立物理数据模型 122
8.5.1什么是物理数据模型 122
8.5.2如何建立物理数据模型 124
8.6数据模型的优化与发布 126
本章小结 126
习题8 127
实践篇 129
第9章 软件建模过程概览 129
9.1概述 129
9.2面向对象的软件建模过程 129
9.2.1面向对象的软件建模过程概览 129
9.2.2面向对象的软件建模过程中类图的变迁 135
9.3面向对象的软件建模过程与面向数据的软件建模过程 136
本章小结 136
第10章 需求分析 137
10.1需求分析概述 137
10.1.1什么是软件需求 137
10.1.2需求分析的目的 138
10.1.3需求的类型 139
10.1.4需求验证 139
10.1.5实例——需求验证 140
10.2捕获及整理需求 140
10.2.1信息收集的方法及策略 140
10.2.2整理需求的一般方法 141
10.2.3实例——完善需求 142
10.3需求建模 143
10.3.1需求建模的意义 143
10.3.2需求建模的内容 143
10.3.3建立用例模型的步骤 143
10.3.4实例——需求建模 143
10.4案例完善:书店借书系统需求整理 149
10.5案例完善:书店借书系统需求建模 153
10.5.1确定系统边界 153
10.5.2识别参与者 153
10.5.3识别用例 153
10.5.4建立用例图 153
10.5.5书写用例文档 154
10.5.6通过关系整理用例 155
本章小结 156
实战模拟 超市收银系统的需求建模 157
第11章 系统分析 159
11.1系统分析的内容及方法 159
11.1.1系统分析与分析模型 159
11.1.2建立分析模型的方法 159
11.2如何识别对象 161
11.2.1确定问题域内的对象 161
11.2.2确定对象间的关联关系 162
11.2.3确定对象的属性 162
11.2.4建立继承关系 163
11.2.5定义服务 163
11.2.6实例——建模“电子办公桌系统”的类模型 164
11.3识别实体对象 165
11.3.1识别实体对象的方法 165
11.3.2实例——超市收银系统的实体类图 166
11.4建立分析模型 167
11.4.1建立分析模型的方法 167
11.4.2实例——“网上购物系统”的分析模型 167
11.5案例完善:书店借书系统的分析模型 169
11.5.1建模实体类图 169
11.5.2建模分析模型 169
本章小结 172
实战模拟 172
第12章 系统设计 173
12.1系统设计的内容及方法 173
12.1.1选择技术方案——设计前的工作 173
12.1.2架构设计 174
12.1.3由分析类到设计类 177
12.1.4设计类库结构 177
12.2数据库建模 178
12.2.1定义数据需求 178
12.2.2定义概念模型 179
12.2.3设计逻辑数据模型 180
12.2.4设计物理数据模型 181
12.2.5数据模型的优化与发布 182
12.3案例完善:书店借书系统设计模型 183
12.3.1选择技术方案 183
12.3.2架构设计 183
12.3.3由分析类到设计类 184
12.3.4另一种解决方案 185
本章小结 187
实战模拟 超市收银系统的系统设计 187
第13章 逆向工程 188
13.1软件再工程 188
13.2逆向工程 189
13.3一个逆向工程应用的案例 189
本章小结 202
实战模拟 202
第14章 新闻发布系统的实例 205
14.1新闻发布系统概述 205
14.1.1关于系统规模和目标的报告书 205
14.1.2捕获及整理需求 206
14.1.3系统的功能与要求 207
14.2建模新闻发布系统用例模型 208
14.2.1识别参与者与用例 208
14.2.2建立用例图 208
14.2.3用例文档 209
14.2.4通过关系整理用例 210
14.3建模新闻发布系统分析模型 211
14.3.1使用的模式 211
14.3.2建立分析模型 212
14.4建模新闻发布系统设计模型 213
14.4.1系统的体系结构 213
14.4.2技术方案选择 213
14.4.3数据库的设计 214
14.4.4前台界面设计 216
14.4.5后台界面设计 218
14.4.6建立类图模型 219
14.4.7建立顺序图模型 220
14.4.8建立包图及程序代码结构图 220
14.4.9建立组件图及部署图 221
14.5建模新闻发布系统实现模型 222
14.5.1数据库实施 222
14.5.2数据库连接 223
14.5.3部分实现代码 225
工具篇 229
第15章Rational Rose使用精解 229
15.1 Rational Rose概述 229
15.2 Rational Rose的安装 229
15.2.1安装前的准备 229
15.2.2安装步骤 230
15.3 Rational Rose的使用 234
15.3.1 Rational Rose的启动 234
15.3.2 Rational Rose的主界面 235
15.3.3 Rose模型的4种视图 237
15.3.4 Rose的基本操作 237
15.3.5关于用例图 241
15.3.6活动图的画法 242
15.3.7关于类图 242
15.3.8关于顺序图 245
15.3.9顺序图与协作图的相互转化 245
15.3.10借助协作图的工具绘制对象图 246
15.3.11关于状态图 247
15.3.12图形的布局 248
15.3.13发布模型 249
15.4 Rational Rose的逆向工程 250
第16章PowerDesigner使用精解 254
16.1 PowerDesigner概述 254
16.2 PowerDesigner的安装和启动 254
16.2.1 PowerDesigner的安装 254
16.2.2 PowerDesigner的启动 257
16.3 PowerDesigner的使用 258
16.3.1业务处理模型 258
16.3.2概念数据模型 265
16.3.3物理数据模型 271
16.3.4面向对象模型 277
参考文献 282