第1部分 领域工程概述 1
第1章 需求工程 3
1.1引言 3
1.2基础知识 3
1.2.1需求的定义 3
1.2.2需求的不同类型 4
1.2.3需求工程的主要活动 5
1.2.4需求工程的参与者 5
1.3可行性分析 6
1.4需求诱导 7
1.4.1需求的来源 7
1.4.2需求诱导的主要困难 8
1.4.3需求诱导的技术手段 8
1.5需求分析 9
1.5.1需求分类 10
1.5.2需求的概念性建模 10
1.5.3系统体系结构设计与需求分配 11
1.5.4需求协商 11
1.6需求规约化 11
1.6.1系统需求规约文档 12
1.6.2软件需求规约文档 12
1.6.3需求规约文档的评价指标 12
1.7需求确认 13
1.7.1需求审查 13
1.7.2需求原型化 14
1.7.3模型确认 14
1.7.4接受性测试的设计 14
1.8需求管理 14
1.8.1需求过程的迭代性 14
1.8.2需求变更管理 15
1.8.3需求的属性 15
1.8.4需求的可追踪性 15
1.9总结 16
第2章 领域工程 17
2.1引言 17
2.2领域及领域工程 17
2.2.1领域工程与应用工程 18
2.2.2领域工程与复用成熟度 20
2.2.3领域工程投资回报点 20
2.3领域工程关键问题 21
2.3.1领域工程的目标 21
2.3.2领域范围的确定 22
2.3.3领域共性和变化性需求的建模 22
2.3.4DSSA的设计 25
2.3.5各阶段制品之间的可追踪性 26
2.4领域工程的规划与管理 27
2.4.1规划问题 27
2.4.2管理问题 28
2.4.3组织方式 29
2.4.4问题与决定 29
2.5领域工程的代表性方法 30
2.5.1FODA/FORM 30
2.5.2Software Product Lines 30
2.5.3FAST 31
2.5.4PuLSE 31
2.5.5FeatuRSEB 31
2.5.6青鸟领域工程方法 32
2.6总结 32
第2部分 领域分析方法 33
第3章 面向特征的领域分析方法 35
3.1引言 35
3.2具体步骤 35
3.2.1上下文分析 35
3.2.2领域建模 37
3.2.3体系结构建模 43
3.3应用实例 44
3.3.1窗口管理系统 44
3.3.2上下文分析 46
3.3.3领域建模 48
3.4总结 60
第4章 面向特征的复用方法 61
4.1引言 61
4.2基本思想 61
4.2.1面向特征 61
4.2.2工程原则 62
4.2.3工程过程 63
4.3具体步骤 64
4.3.1领域工程 64
4.3.2应用工程 70
4.4总结 74
第5章 领域特定的软件体系结构 75
5.1引言 75
5.2DSSA概述 75
5.2.1定义 75
5.2.2基本概念与术语 76
5.2.3建模框架 77
5.2.4涉及的制品 77
5.2.5参考体系结构 78
5.2.6基于体系结构的开发方法 79
5.2.7体系结构描述语言 81
5.2.8与体系结构风格的比较 82
5.3DSSA过程 82
5.3.1工程问题 84
5.3.2阶段1:定义领域工程的范围 84
5.3.3阶段2:定义领域特定的元素 87
5.3.4阶段3:定义领域特定的设计和实现约束 90
5.3.5阶段4:开发领域体系结构 92
5.3.6阶段5:生产或收集可复用软件制品 95
5.4DSSA实例 97
5.4.1概述 97
5.4.2领域模型 98
5.4.3参考需求 104
5.4.4参考体系结构 106
5.5总结 110
第6章 青鸟领域工程方法 111
6.1青鸟领域工程方法概述 111
6.1.1领域工程的定义 111
6.1.2领域工程的基本假定 111
6.1.3领域工程的基本活动 111
6.1.4领域模型与DSSA 112
6.1.5变化性与关系 114
6.1.6可追踪性 115
6.1.7问题与解决 115
6.1.8参与领域工程的人员 116
6.1.9领域工程的准备工作 117
6.2领域分析 117
6.2.1目标与活动 117
6.2.2产品 120
6.2.3过程与指南 121
6.3领域设计 122
6.3.1目标与活动 122
6.3.2产品 122
6.3.3过程与指南 123
6.4领域实现 123
6.4.1目标 123
6.4.2产品 123
6.4.3过程与指南 124
6.5总结 124
第3部分 面向特征的领域建模方法 125
第7章 面向特征的需求分析 127
7.1引言 127
7.2基础知识 128
7.2.1特征的定义 128
7.2.2特征的规约属性 129
7.2.3特征的操作化:责任分析 130
7.2.4责任分配 130
7.2.5资源容器 132
7.3特征依赖关系 132
7.3.1精化关系 132
7.3.2约束关系 133
7.3.3影响关系 135
7.3.4交互关系 135
7.4依赖关系之间的关联 137
7.4.1由精化导致的约束 137
7.4.2约束与交互 138
7.4.3影响与交互 138
7.5特征模型的剪裁检验 139
7.5.1特定领域、基于定制的需求复用 139
7.5.2在一组绑定时间上对特征模型进行剪裁 140
7.5.3三条检验准则 140
7.6一种具体形式的特征模型及其建模过程 142
7.6.1一种具体形式的特征模型 142
7.6.2建模过程 143
7.7总结 145
第8章 特征驱动的软件体系结构设计 146
8.1引言 146
8.2一个简单的文档编辑器 147
8.3特征与构件的解耦合 148
8.4软件体系结构的构造 149
8.4.1概览 149
8.4.2特征的操作化 150
8.4.3资源容器分析 151
8.4.4交互分析 151
8.4.5种子构件的建立 151
8.4.6责任分配 152
8.4.7概念构件分析 154
8.5总结 155
第9章 面向特征的需求分析支持工具 156
9.1引言 156
9.2项目管理服务 156
9.3视图管理服务 157
9.4特征建模服务 158
9.5辅助性编辑服务 159
第4部分 基于UML构件规约的需求建模 161
第10章 UML构件规约 163
10.1构件的定义 163
10.2构件的接口 164
10.3构件的端口 165
10.4连接件 167
10.5构件的内部结构 169
第11章 一种基于UML构件规约的需求建模方法 171
11.1方法概述 171
11.2构件规约模型 172
11.3捕获需求 173
11.3.1建立业务模型 173
11.3.2建立系统的初步构架 173
11.3.3建立用况模型 174
11.4建立面向构件的分析模型 174
11.4.1识别构件之间的关系 174
11.4.2对构件的规约 178
第12章 面向构件的软件系统建模工具 182
12.1构件图 182
12.2制品图 189
12.3部署图 190
第5部分 面向复用的需求建模实践 195
第13章 文档编辑器领域建模实践 197
13.1引言 197
13.2文档编辑器特征分析 197
13.2.1特征精化关系 197
13.2.2特征约束关系 198
13.3文档编辑器的高层软件体系结构设计 200
13.3.1特征操作化与责任分配 200
13.3.2高层软件体系结构设计 200
13.4总结 205
第14章 网上购物软件领域建模实践 206
14.1引言 206
14.2网上购物软件的特征分析 206
14.3基于网上购物软件特征模型的定制 207
14.4网上购物软件的高层体系结构 208
14.5总结 211
第15章 信贷管理领域建模实践 212
15.1引言 212
15.2建模过程 212
15.2.1领域范围的建立 213
15.2.2共性与变化性分析 214
15.2.3特征模型的建立 217
15.3总结 218
第16章 奥运会信息系统领域建模实践 219
16.1引言 219
16.2奥运会信息系统简介 219
16.3注册制证系统需求概述 222
16.4面向对象建模 225
16.4.1注册制证系统整体业务模型 225
16.4.2注册制证系统用况图 225
16.4.3业务模型的实现 227
16.4.4注册管理子系统业务模型 227
16.4.5注册管理子系统用况图 228
16.5特征建模 230
16.5.1注册制证系统的特征模型 230
16.5.2注册管理 231
16.6总结 234
第17章 中间件领域的建模实践 235
17.1引言 235
17.2软件中间件的特征模型 235
17.2.1协同特征 236
17.2.2可靠性特征 239
17.2.3其他特征 240
17.3基于软件中间件特征模型的定制 241
17.3.1CORBA中间件的特征模型 241
17.3.2Web Services的特征模型 242
17.3.3反射式中间件的特征模型 243
17.4总结 243
参考文献 244