1软件产品线工程基础 1
1.1产品线工程 2
1.1.1来自制造业的案例 2
1.1.2基于平台定制产品 3
1.1.3定制产品的工程化 5
1.1.4产品线工程的益处 7
1.2软件产品线工程 8
1.2.1发展历史 9
1.2.2公共性和可变性 11
1.2.3领域工程和应用工程 12
1.2.4组织、过程和技术 14
思考与练习 16
2软件产品线的导入 17
2.1软件产品线工程的商业目标 17
2.2软件产品线市场 18
2.2.1软件产品定义策略 19
2.2.2市场战略 19
2.2.3软件产品线生存周期 20
2.2.4产品线市场战略与产品线工程的关系 22
2.3软件产品线的经济学 22
2.3.1软件产品线工程带来的经济效应 22
2.3.2简单的软件产品线经济模型 24
2.3.3软件产品线的其他经济属性 25
2.4产品的管理和范围界定 26
2.4.1产品组合管理 26
2.4.2领域潜能分析 27
2.43资产范围界定 29
2.5小结 30
思考与练习 30
3软件产品线工程过程框架 31
3.1软件产品线工程中的基本活动 31
3.1.1三大基本活动 31
3.1.2开发核心资产 33
3.1.3开发产品 37
3.1.4管理 38
3.1.5整合三大基本活动 39
3.2统一软件开发过程 40
3.3软件产品线工程过程 42
3.3.1为复用而开发 42
3.3.2两个开发过程 44
3.3.3过程框架 45
3.4领域工程 48
3.4.1核心工作流 49
3.4.2主要阶段 52
3.5应用工程 53
3.5.1核心工作流 54
3.5.2主要阶段 56
3.6产品驱动和方案驱动的软件产品线工程模式 57
3.6.1两种软件产品线类型 57
3.6.2产品驱动的软件产品线工程 58
3.6.3方案驱动的软件产品线工程 59
3.7小结 60
思考与练习 61
4可变性 62
4.1基本概念 62
4.1.1可变性是什么 62
4.1.2软件产品线工程中的可变性 64
4.1.3可变性的分类 66
4.2可变性元建模 70
4.2.1解析可变性 71
4.2.2可变性元模型 72
4.2.3正交可变性 80
4.3多种视图下的可变性 82
4.3.1 C-A-F-C-R视图 82
4.3.2多视图下的可变性 89
4.4应用工程与可变性 95
4.5小结 96
思考与练习 96
5从用例分析到特征模型 97
5.1需求工程 97
5.1.1概述 97
5.1.2软件产品线中的需求工程 102
5.2在领域工程中进行需求分析 106
5.2.1领域工程中需求分析的主要工作内容 107
5.2.2公共性需求 107
5.2.3可变性需求 109
5.3软件产品线的用例建模 111
5.3.1用例模型 111
5.3.2软件产品线中的用例模型 113
5.3.3在用例中对可变性建模 116
5.3.4对用例开发的进一步探讨 130
5.4软件产品线的特征建模 132
5.4.1有关特征模型和正交可变性模型的讨论 132
5.42特征建模技术 132
5.4.3扩展特征建模技术 134
5.4.4用UML进行特征建模 139
5.5小结 149
思考与练习 149
6软件产品线设计 151
6.1架构设计 151
6.1.1架构设计的作用 151
6.1.2架构设计的范围 152
6.1.3软件产品线架构设计 153
6.1.4架构评估 155
6.1.5架构演化 155
6.2基于UML的软件产品线设计 157
6.2.1软件产品线设计中的静态建模技术 157
6.2.2软件产品线动态建模:交互图法 168
6.2.3软件产品线动态建模:有限状态机法 180
6.2.4特征与类的耦合 193
6.3小结 200
思考与练习 201
7应用工程 202
7.1应用工程的开发策略 202
7.2应用工程过程实践 203
7.2.1特征模型 203
7.2.2用例模型 204
7.2.3静态模型 205
7.2.4动态模型 205
7.2.5特征-类依赖关系和类结构 207
7.3小结 208
思考与练习 208
8组织 209
8.1组织在软件产品线工程中的作用 209
8.2角色和职责 210
8.2.1产品经理 211
8.2.2领域需求工程师 211
8.2.3领域架构师 211
8.2.4领域开发工程师 212
8.2.5领域测试工程师 212
8.2.6领域资产管理者 212
8.2.7应用需求工程师 212
8.2.8应用架构师 213
8.2.9应用开发工程师 213
8.2.10应用测试工程师 213
8.3组织结构 213
8.3.1面向产品的组织 214
8.3.2面向过程的组织 216
8.3.3矩阵型组织 217
8.3.4测试 218
8.3.5资产管理 219
8.3.6产品管理 220
8.4地域分布 222
8.5协作模式 222
8.6小结 223
思考与练习 223
参考文献 224