1.1软件开发简史1
1.1.1编程语言的进化——抽象级别2
1.1.2软件开发的进化——关注点3
1.1.3软件体系结构的起源和发展6
1.2软件体系结构简介8
1.2.1基本术语9
1.2.2理解IEEE 1471—200011
1.2.3软件体系结构中的视图14
1.2.4为什么软件体系结构是必要的24
1.2.5软件生命周期中的软件体系结构定位27
1.2.6云计算与软件体系结构29
小结30
第2章软件体系结构风格和模式32
2.1软件体系结构风格和模式基础32
2.2管道过滤器风格35
2.2.1概述35
2.2.2优缺点36
2.2.3案例37
2.3面向对象风格41
2.3.1概述41
2.3.2优缺点42
2.3.3案例43
2.4事件驱动风格50
2.4.1概述50[1][2][1][2]2.4.2优缺点52
2.4.3案例54
2.5分层风格60
2.5.1概述60
2.5.2优缺点61
2.5.3案例62
2.6数据共享风格67
2.6.1概述67
2.6.2优缺点68
2.6.3案例69
2.7解释器风格72
2.7.1概述72
2.7.2优缺点73
2.7.3案例73
2.8反馈控制环风格77
2.8.1概述77
2.8.2优缺点77
2.8.3案例78
2.9体系结构风格比较78
2.10异构风格的集成80
小结81
第3章软件体系结构风格的应用与分析83
3.1SMCSP简介83
3.1.1项目背景83
3.1.2技术路线85
3.1.3功能设计86
3.2系统实现90
3.2.1模式选择90
3.2.2交互机制95
3.2.3移动协同的实现98
3.2.4基于知识库的设计105
小结109
第4章软件体系结构描述110
4.1软件体系结构建模概述110
4.1.1软件体系结构建模问题110
4.1.2软件体系结构描述方法111
4.2基于UML的软件体系结构描述112
4.2.1UML概述112
4.2.2UML结构分析113
4.2.3UML的软件体系结构描述118
4.3UML体系结构描述方式案例分析123
4.3.1“4+1”视图模型123
4.3.2教务管理系统的非形式化描述案例125
4.4基于ADL的软件体系结构描述132
4.4.1ADL概述134
4.4.2ADL结构分析137
4.4.3CSP——形式化行为描述的语义基础142
4.5ADL体系结构描述方式案例分析155
4.5.1构件与连接器描述156
4.5.2配置的描述160
4.5.3风格描述162
4.6FEAL: 构造ADL的基础平台165
4.6.1设计意图165
4.6.2FEAL结构167
4.6.3FEAL映射器168
4.6.4FEAL应用示例168
小结170
第5章软件体系结构级别的设计策略172
5.1体系结构设计的重用173
5.2体系结构设计空间与规则174
5.3SADPBA175
5.3.1总览175
5.3.2使用设计空间对设计过程进行拆分177
5.3.3SADPBA的追踪机制178
5.3.4软件体系结构的生命周期模型179
5.3.5实践中的SADPBA180
5.4示例: MEECS182
5.4.1MEECS简介182
5.4.2将SADPBA应用到MEECS184
小结192
第6章软件体系结构集成开发环境193
6.1软件体系结构集成开发环境的作用193
6.1.1形式化描述方法的比较193
6.1.2体系结构集成开发环境的作用193
6.2体系结构IDE原型196
6.2.1用户界面层197
6.2.2模型层199
6.2.3基础层201
6.2.4体系结构集成开发环境设计策略 201
6.3ArchStudio 5系统202
6.3.1简介202
6.3.2安装ArchStudio 5205
6.3.3ArchStudio 5概况206
6.3.4ArchStudio 5的使用211
小结216
第7章软件体系结构评估217
7.1软件体系结构评估概述217
7.1.1质量属性217
7.1.2评估的必要性219
7.1.3评估方法分类220
7.2SAAM软件构架分析方法224
7.2.1SAAM的一般步骤225
7.2.2场景生成226
7.2.3体系结构描述227
7.2.4场景的分类和优先级确定227
7.2.5间接场景的单个评估228
7.2.6对场景关联的评估229
7.2.7形成总体评估229
7.3ATAM体系结构权衡分析方法230
7.3.1最初的ATAM231
7.3.2改进版ATAM232
7.3.3ATAM的一般过程234
7.3.4体系结构描述及收集评估有关信息236
7.3.5以体系结构为中心进行分析238
7.3.6以风险承担者为中心进行分析240
7.3.7提供最终评估报告241
7.4评估方法比较241
7.4.1比较框架241
7.4.2评估方法概览和比较245
小结262
第8章柔性软件体系结构264
8.1什么是柔性软件体系结构264
8.1.1动态软件体系结构265
8.1.2柔性软件体系结构286
8.2为什么使用柔性软件体系结构288
8.3怎样使用柔性软件体系结构291
8.3.1Rainbow291
8.3.2MADAM293
小结297
第9章软件体系结构的前景299
9.1现代工业中的软件体系结构299
9.1.1全球软件行业299
9.1.2软件产品线301
9.2软件体系结构在系统中的应用306
9.3当今软件体系结构研究的不足310
9.4软件体系结构的研究展望311
小结312
参考文献313
