目 录 1
第1章引论 1
1.1软件工程概述 1
1.2软件工程模式 2
1.2.1传统软件工程模式 2
1.2.2现代软件工程模式 5
本章小结 8
思考题 8
第2章现代软件需求 9
2.1软件需求概述 9
2.1.1软件需求的定义 9
2.1.2软件需求分析技术 10
2.1.3软件需求开发过程 13
2.1.4软件需求的形式化 15
方法 15
2.2软件需求管理 18
2.2.1软件需求管理概述 18
2.2.2软件需求管理的技术 21
2.2.3软件需求管理的工具 23
本章小结 26
思考题 26
第3章现代软件体系结构 27
3.1软件体系结构概述 27
3.1.1软件体系结构的意义和目标 27
3.1.2软件体系结构的发展·及研究热点 30
3.1.3软件体系结构风格 33
3.1.4体系结构描述语言 36
3.1.5软件体系结构分析和设计的工具 37
3.2新型软件体系结构概述 40
3.2.1新型软件体系结构 40
3.2.2分布式软件体系结构 44
3.2.3软件体系架构 46
本章小结 47
思考题 48
第4章面向对象开发方法 49
4.1面向对象开发方法概述 49
4.1.1传统的软件工程方法的缺陷 49
4.1.2面向对象技术的基本概念 50
方法 55
4.1.3面向对象软件开发 55
4.2基于对象模型的技术 58
4.2.1三种对象模型 58
4.2.2 OMT方法的开发 59
过程 59
4.3面向对象角色分析和建模技术(OOram) 62
4.3.1 OOram概述 62
4.3.2 OOrarm方法的优点 63
与不足 63
4.3.3 OOram方法与OMT 63
方法的比较 63
4.4.1 Booch方法的基本 65
模型 65
4.4 Booch方法 65
4.4.2基于Booch方法的开发过程 67
4.4.3 Booch方法的特点 68
4.5 Coad-Yourdon方法 69
4.5.1面向对象的分析 69
(OOA) 69
4.5.2面向对象的设计 78
(OOD) 78
4.6层次化面向对象设计方法 81
4.6.1 HOOD的基本思想 81
4.6.2 HOOD的设计表示 82
及过程 82
关系 85
4.6.3 HOOD与OOD的 85
本章小结 86
思考题 86
第5章UML软件工程 87
5.1标准建模语言UML概述 87
5.1.1 UML简介 87
5.1.2 UML的概念模型 89
5.2 UML的静态建模机制 92
5.2.1建模机制用例图 92
5.2.2类图、对象图和包图 94
5.2.3构件图和配置图 98
5.3.1信息传递过程 100
5.3.2状态图 100
5.3 UML的动态建模机制 100
5.3.3顺序图 101
5.3.4合作图 102
5.3.5活动图 103
5.4 UML开发方法及支持环境 104
5.4.1 UVL柔性软件 105
开发过程 105
5.4.2 UML集成化支持 106
环境 106
本章小结 109
思考题 109
6.1分布式应用概述 111
6.1.1分布式应用的特征、分类和形式 111
第6章分布式系统的软件开发 111
6.1.2分布式的两种 116
结构模型 116
6.2分布式系统开发的关键 118
基础技术 118
6.2.1基于Web的应用 118
结构 118
6.2.2中间件技术 120
6.2.3分布式对象技术 123
本章小结 124
思考题 124
第7章基于构件的软件开发 126
7.1软件复用概述 126
7.1.1软件复用的定义 126
7.1.2软件复用的形式 126
7.1.3软件复用的过程 127
7.1.4软件复用的意义 128
7.2构件与构件技术 128
7.2.1构件的定义及基本 128
特征 128
7.2.2构件技术的产生与 129
基本思想 129
7.3构件与构件系统 130
7.3.1对可复用构件的要求 130
7.3.2构件模型及系统 131
7.3.3构件的分类 133
7.3.4构件库的管理 134
7.4.1领域分析概述 135
7.4领域工程 135
7.4.2领域模型的建立 137
7.4.3 DSSA的定义及其 138
产生 138
7.4.4结构建模和结构点 139
7.5基于构件的软件开发 140
7.5.1 CBSE/CBD概述 140
7.5.2 CBSE过程 142
7.5.3基于构件的系统的 143
开发 143
7.5.4建造构件 144
7.6 CBD与传统的软件开发 145
方法的比较 145
思考题 149
本章小结 149
8.1分布式对象技术 150
8.1.1微软的COM/DCOM 150
第8章CORBA与DCOM技术 150
8.1.2 CORBA 151
8.1.3 IBM的SOM/DSOM 152
8.2 CORBA的设计模式 152
8.3 DCOM技术 156
8.4 CORBA与DCOM的主要 160
异同 160
本章小结 162
思考题 162
9.1.1 Java的运行机制 163
及特点 163
9.1 Java技术概述 163
第9章基于Java的软件开发 163
9.1.2 Java对软件开发 166
的影响 166
9.1.3 Java的发展 167
9.2 JavaBears技术 168
9.2.1 JavaBeans特性 168
9.2.2 JavaBeans的基本 169
设计 169
9.2.3 JavaBeans的目标 170
9.3 J2EE技术 170
9.3.1 J2EE核心概述 170
9.3.2 J2EE核心技术 173
9.3.3 J2EE的主要优点 176
9.4 EJB技术 177
9.4.1 EJB的体系结构 177
9.4.2 EJB构件 179
9.4.3 FJB编程模型 181
9.4.4EJB中各角色的分析 181
9.4.5 FJB构件模型的目标 182
9.4.6 EJB和其他技术的 182
关系 182
本章小结 184
思考题 184
10.1.1概述 185
10.1.2测试的基本知识 185
10.1软件测试的理论和实践 185
第10章现代软件测试与评估 185
10.2综合测试的基本方法 187
10.3软件测试原则 190
10.4面向对象软件的测试 190
10.4.1 面向对象测试模型(Ob-ject-Orient TestModel) 191
10.4.2面向对象分析的 192
测试 192
10.4.3面向对象设计的 194
测试 194
10.4.4面向对象编程的 195
测试 195
测试 196
10.4.5面向对象的单元 196
10.4.6面向对象的集成 197
测试 197
10.4.7面向对象的系统 198
测试 198
10.5分布式对象测试 199
10.5.1分布式对象测试 199
概述 199
10.5.2一般分布式模型的 202
测试 202
10.5.3最大的分布式系统——Internet 205
10.6 CMM及其应用 207
10.6.1 CMM简介 208
10.6.2 CMM与ISO 212
本章小结 215
思考题 215
第11章典型实例分析 216
11.1面向对象软件技术 216
开发实例 216
11.2分布式软件开发实例 222
11.3 Java软件开发实例 227
11.4 UML软件工程实例 233
11.5 DCOM技术开发实例 238
本章小结 242
思考题 243
附录专业术语英汉对照 244
参考文献 249