图书目录

目录

第1章软件体系结构的起源和发展1

1.1软件的产生与发展1

1.2软件危机的出现与软件工程的兴起2

1.3软件体系结构的诞生与发展5

1.3.1软件体系结构诞生的背景及意义5

1.3.2软件体系结构概念的形成与发展8

1.4软件体系结构在软件生命周期中的定位12

1.5软件体系结构的研究内容、原理及标准14

1.5.1软件体系结构的研究内容14

1.5.2软件体系结构的设计原理15

1.5.3软件体系结构标准16

1.6软件体系结构的3个层次级别18

1.7小结21

第2章软件体系结构风格和模式23

2.1软件体系结构风格和模式基础23

2.2管道过滤器风格25

2.2.1概述25

2.2.2优缺点26

2.2.3案例27

2.3面向对象风格30

2.3.1概述30

2.3.2优缺点31

2.3.3案例32

2.4事件驱动风格37

2.4.1概述37

2.4.2优缺点39

2.4.3案例402.5分层风格45

2.5.1概述45

2.5.2优缺点46

2.5.3案例47

2.6数据共享风格50

2.6.1概述50

2.6.2优缺点51

2.6.3案例51

2.7解释器风格54

2.7.1概述54

2.7.2优缺点55

2.7.3案例55

2.8反馈控制环风格58

2.8.1概述58

2.8.2优缺点58

2.8.3案例58

2.9云体系结构风格59

2.9.1概述59

2.9.2优缺点62

2.9.3案例62

2.10体系结构风格比较65

2.11异构风格的集成66

2.12小结68

附录2A案例一: SMCSP 项目69

2A.1项目背景69

2A.2功能需求70

2A.3系统设计73

2A.4系统实现74

2A.5案例小结89

附录2B案例二: Recommender项目89

2B.1项目背景89

2B.2功能需求89

2B.3系统设计90

2B.4系统实现92

2B.5案例小结96

第3章软件体系结构描述98

3.1软件体系结构建模概述98

3.1.1软件体系结构建模问题98

3.1.2软件体系结构描述方法99

3.2基于UML的软件体系结构描述100

3.2.1UML概述100

3.2.2UML结构分析101

3.2.3UML的软件体系结构描述105

3.3UML体系结构描述方式案例分析109

3.3.1“4+1”视图模型109

3.3.2教务管理系统的非形式化描述案例111

3.4基于ADL的软件体系结构描述117

3.4.1ADL概述118

3.4.2ADL结构分析121

3.5ADL体系结构描述方式案例分析125

3.5.1构件与连接器描述126

3.5.2配置的描述129

3.6可扩展体系结构语言基础框架FEAL133

3.6.1设计意图133

3.6.2FEAL结构135

3.6.3FEAL映射器136

3.6.4FEAL应用示例136

3.7小结138

第4章软件体系结构级别的设计策略139

4.1软件体系结构设计的重用139

4.2体系结构设计空间与规则140

4.3SADPBA141

4.3.1总览141

4.3.2使用设计空间对设计过程进行拆分142

4.3.3SADPBA的追踪机制144

4.3.4软件体系结构的生命周期模型144

4.3.5实践中的SADPBA145

4.4示例:  MEECS151

4.4.1MEECS简介151

4.4.2将SADPBA应用到MEECS152

4.5小结158

第5章软件体系结构集成开发环境159

5.1软件体系结构集成开发环境的作用159

5.1.1软件体系结构集成开发环境的优点159

5.1.2软件体系结构集成开发环境的作用159

5.2体系结构IDE原型162

5.2.1用户界面层163

5.2.2模型层163

5.2.3基础层165

5.2.4体系结构集成开发环境设计策略165

5.3ArchStudio 5系统166

5.3.1ArchStudio 5简介166

5.3.2安装ArchStudio 5169

5.3.3ArchStudio 5概况169

5.3.4ArchStudio 5的使用174

5.4其他开发环境178

5.4.1ArchWare: 体系结构改进开发环境178

5.4.2自适应软件体系结构开发环境178

5.4.3面向UniCore体系结构的集成开发环境180

5.4.4图文法规则制导的软件体系结构开发环境180

5.5小结181

第6章软件体系结构评估183

6.1软件体系结构评估概述183

6.1.1质量属性183

6.1.2评估的必要性185

6.1.3评估方法分类186

6.2质量属性专题研讨会方法189

6.3软件构架分析方法190

6.3.1SAAM的一般步骤190

6.3.2场景生成191

6.3.3体系结构描述191

6.3.4场景的分类和优先级确定192

6.3.5间接场景的单个评估192

6.3.6对场景关联的评估193

6.3.7形成总体评估193

6.4体系结构权衡分析方法194

6.4.1最初的ATAM195

6.4.2改进版ATAM196

6.4.3ATAM的一般过程197

6.4.4体系结构描述及收集与评估有关的信息199

6.4.5以体系结构为中心进行分析201

6.4.6以风险承担者为中心进行分析202

6.4.7提交评估结果203

6.5积极的中间设计审核方法203

6.6体系结构层次上的软件可维护性预测方法204

6.7基于度量的评估方法205

6.8评估方法比较205

6.8.1比较框架206

6.8.2评估方法概览和比较208

6.9小结223

第7章柔性软件体系结构225

7.1什么是柔性软件体系结构225

7.1.1动态软件体系结构225

7.1.2基于行为视角的πADL227

7.1.3基于反射视角的MARMOL232

7.1.4基于协调视角的LIME238

7.1.5柔性软件体系结构243

7.2为什么使用柔性软件体系结构246

7.3怎样使用柔性软件体系结构248

7.3.1Rainbow248

7.3.2MADAM250

7.4小结253

第8章软件体系结构的前景255

8.1国内外软件体系结构应用255

8.1.1全球软件产业状况255

8.1.2软件体系结构在系统中的应用260

8.1.3五大计算的软件体系结构264

8.2软件体系结构研究的不足和展望270

8.3小结272

参考文献273