第1章 软件架构中面向对象、基于组件、面向代理和面向服务的范式 1
1.1 引言 1
1.2 历史 2
1.2.1 面向对象范式 2
1.2.2 基于组件范式 3
1.2.3 面向代理范式 3
1.2.4 面向服务范式 4
1.3 软件架构 6
1.3.1 面向对象软件架构 6
1.3.2 基于组件软件架构 7
1.3.3 面向代理软件架构 8
1.3.4 面向服务架构 10
1.4 概念框架的两个维度:定量和定性 12
1.4.1 概念差异 12
1.4.2 定量维度 19
1.4.3 定性维度 24
1.5 集成开发范式方法 33
1.6 小结与讨论 35
1.7 结语 37
1.8 参考书目 37
第2章 参考架构 42
2.1 引言 42
2.2 参考架构的定义 42
2.2.1 参考架构与参考模型的对比 43
2.2.2 参考架构与产品线架构的对比 44
2.3 参考架构模型 45
2.4 参考架构设计 48
2.4.1 信息源调查 49
2.4.2 架构需求确立 50
2.4.3 参考架构设计 51
2.4.4 参考架构评估 53
2.5 参考架构的用途 53
2.6 参考架构的示例 56
2.7 参考架构的前景 57
2.8 结语 59
2.9 参考书目 60
第3章 多层次/多视图软件架构 64
3.1 引言 64
3.2 现有视点方法 65
3.2.1 引言 65
3.2.2 需求规格中的视图 65
3.2.3 系统建模中的视图 66
3.2.4 编程中的视图 66
3.3 软件架构中的视图 67
3.3.1 视图在软件架构中的贡献 67
3.3.2 “4+1”视图模型 68
3.3.3 ISO/IEC/IEEE 42010 69
3.3.4 视图及超越方法 69
3.3.5 小结 72
3.3.6 当前软件架构方法的局限性 74
3.4 多层次/多视图软件架构的定义和基本概念 74
3.4.1 定义 74
3.4.2 概念和基础知识 75
3.5 MoVAL:基于模型、视图和抽象级别的架构 83
3.5.1 引言 83
3.5.2 MoVAL 84
3.5.3 MoVAL元模型 87
3.5.4 案例分析 89
3.6 结语 92
3.7 参考书目 93
第4章 软件架构与工具:分布与协调动态重配置管理 95
4.1 引言 95
4.2 背景 96
4.3 分布式应用的动态重配置管理机制 98
4.3.1 集中动态重配置管理 98
4.3.2 分布式系统集中解决方案的局限性 100
4.3.3 分布式重配置管理的优势与风险 101
4.3.4 现有协调机制 102
4.4 重配置基础设施的专门化 104
4.4.1 行为的专门化 105
4.4.2 适配机制分布的专门化 105
4.5 分布式系统动态重配置的局限性和难点总结 106
4.6 重配置管理机制的实施方法 107
4.7 分布动态重配置管理的架构模型 108
4.7.1 用于适配管理的组件类型 109
4.7.2 动态重配置管理的分布 110
4.7.3 适配管理器架构模型 112
4.7.4 重配置机制的专门化 113
4.7.5 重配置过程的协调 115
4.8 结语 128
4.9 参考书目 129
第5章 产品线软件架构 133
5.1 软件生产线简介 133
5.1.1 3种开发风格 135
5.1.2 可变性管理 135
5.1.3 产品线中的架构概念 137
5.2 音乐商店示例 139
5.2.1 领域 139
5.2.2 SongStock产品线 139
5.2.3 功能需求 140
5.2.4 其他主要需求 140
5.3 领域工程 141
5.3.1 领域分析 141
5.3.2 集成可变性用例 142
5.3.3 特征模型 143
5.3.4 领域设计 144
5.3.5 设计产品线架构 145
5.4 产品工程 148
5.4.1 产品的配置 149
5.4.2 产品衍生 149
5.5 参考架构设计过程 151
5.6 延伸阅读 153
5.6.1 PLA与参考架构 154
5.6.2 具有影响力的旧文献 155
5.7 结语 158
5.8 参考书目 158
第6章 软件架构:Web服务复合环境下的服务适配技术 165
6.1 引言 165
6.2 Web服务复合和验证 167
6.3 Web服务不兼容和适配 171
6.4 适配方法 173
6.5 结语 182
6.6 参考书目 182