图书目录

目录

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

1.1软件的产生与发展1

1.2软件设计的演变与软件工程的兴起3

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

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

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

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

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

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

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

1.5.3软件体系结构标准20

1.6软件体系结构的四个层次级别22

1.7本章小结26

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

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

2.2管道过滤器风格31

2.3面向对象风格36

2.4事件驱动风格42

2.5分层风格51

2.6数据共享风格56

2.7解释器风格60

2.8反馈控制环风格64

2.9云体系结构风格65

2.10网格计算体系风格72

2.11移动App体系结构风格78

2.12其他流行的体系结构80

2.12.1适用于物联网(IoT)系统的软件架构80

2.12.2微服务架构81

2.13体系结构风格比较82

2.14异构风格的集成83

2.15案例85

2.15.1案例一: SMCSP项目85

2.15.2案例二: Recommender项目105

2.15.3案例三: 图像/视频注解平台项目112

2.16本章小结120

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

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

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

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

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

3.2.1UML语言概述124

3.2.2UML语言体系125

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

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

3.3.1“4+1”视图模型132

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

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

3.4.1ADL概述140

3.4.2ADL结构分析144

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

3.5.1构件与连接器描述149

3.5.2配置的描述153

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

3.6.1FEAL设计意图156

3.6.2FEAL结构158

3.6.3FEAL映射器159

3.6.4FEAL应用示例159

3.7本章小结160

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

4.1体系结构设计的重用162

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

4.3基于体系结构的软件分析设计过程SADPBA164

4.3.1SADPBA总览164

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

4.3.3SADPBA的追踪机制167

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

4.3.5实践中的SADPBA168

4.4示例: MEECS174

4.4.1MEECS简介174

4.4.2将SADPBA应用到MEECS175

4.5软件体系结构风格选择181

4.5.1架构元素说明的组成181

4.5.2特征类别分析184

4.5.3PSAS方法主流程187

4.6本章小结188

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

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

5.1.1形式化描述方法的比较189

5.1.2体系结构集成开发环境的作用189

5.2体系结构IDE原型192

5.2.1用户界面层192

5.2.2模型层193

5.2.3基础层194

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

5.3ArchStudio 5系统196

5.3.1ArchStudio 5简介196

5.3.2ArchStudio 5安装198

5.3.3ArchStudio 5概况199

5.3.4ArchStudio 5的使用203

5.4SysADL Studio系统207

5.4.1SysADL Studio简介207

5.4.2SysADL Studio安装207

5.4.3SysADL Studio概况210

5.4.4SysADL Studio的使用211

5.5其他开发环境217

5.5.1ArchWare: 体系结构改进开发环境217

5.5.2自适应软件体系结构开发环境217

5.5.3面向UniCore体系结构的集成开发环境218

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

5.6本章小结220

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

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

6.1.1质量属性222

6.1.2评估的必要性224

6.1.3评估的时机225

6.1.4评估的结果226

6.1.5评估方法分类227

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

6.3SAAM软件构架分析方法232

6.3.1SAAM的一般步骤232

6.3.2场景生成233

6.3.3体系结构描述233

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

6.3.5间接场景的单个评估234

6.3.6对场景关联的评估235

6.3.7形成总体评估235

6.4ATAM体系结构权衡分析方法236

6.4.1最初的ATAM237

6.4.2改进版ATAM238

6.4.3ATAM的一般过程239

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

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

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

6.4.7调教最终评估报告244

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

6.6ALPSM体系结构级别上的软件维护预测247

6.7基于度量和预测的评估方法248

6.7.1基于人工智能的定性知识管理与建模248

6.7.2构建贝叶斯信念网络的结构248

6.7.3软件体系结构评估信念网络249

6.7.4SAABNet的使用251

6.7.5SAABNet的验证252

6.8评估方法比较254

6.8.1比较框架255

6.8.2评估方法概览与比较257

6.8.3软件结构化测试271

6.9本章小结273

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

7.1动态软件体系结构274

7.1.1动态软件体系结构定义274

7.1.2动态软件体系方法分类276

7.1.3πADL: 行为视角276

7.1.4MARMOL: 反射视角281

7.1.5LIME: 协调视角287

7.2柔性软件体系结构概述292

7.2.1柔性软件体系结构定义293

7.2.2柔性软件体系结构场景举例296

7.3柔性软件体系结构案例298

7.3.1Rainbow298

7.3.2MADAM299

7.4柔性软件体系结构适用范围301

7.5本章小结303

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

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

8.1.1全球软件产品业305

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

8.1.3六大计算软件平台体系结构317

8.2当今软件体系结构研究的挑战325

8.3软件体系结构的学术平台326

8.4软件体系结构的研究机遇327

8.5本章小结328

参考文献330