内容简介
第1章 软件体系结构的起源和发展
1.1 软件的产生与发展
1.2 软件危机的出现与软件工程的兴起
1.3 软件体系结构的诞生与发展
1.3.1 软件体系结构诞生的背景及意义
1.3.2 软件体系结构概念的形成与发展
1.4 软件体系结构在软件生命周期中的定位
1.5 软件体系结构的研究内容、原理及标准
1.5.1 软件体系结构的研究内容
1.5.2 软件体系结构的设计原理
1.5.3 软件体系结构标准
1.6 软件体系结构的3个层次级别
1.7 小结
第2章 软件体系结构风格和模式
2.1 软件体系结构风格和模式基础
2.2 管道-过滤器风格
2.2.1 概述
2.2.2 优缺点
2.2.3 案例
2.3 面向对象风格
2.3.1 概述
2.3.2 优缺点
2.3.3 案例
2.4 事件驱动风格
2.4.1 概述
2.4.2 优缺点
2.4.3 案例
2.5 分层风格
2.5.1 概述
2.5.2 优缺点
2.5.3 案例
2.6 数据共享风格
2.6.1 概述
2.6.2 优缺点
2.6.3 案例
2.7 解释器风格
2.7.1 概述
2.7.2 优缺点
2.7.3 案例
2.8 反馈控制环风格
2.8.1 概述
2.8.2 优缺点
2.8.3 案例
2.9 云体系结构风格
2.9.1 概述
2.9.2 优缺点
2.9.3 案例
2.10 体系结构风格比较
2.11 异构风格的集成
2.12 小结
附录2A 案例一:SMCSP项目
2A.1 项目背景
2A.2 功能需求
2A.3 系统设计
2A.4 系统实现
2A.5 案例小结
附录2B 案例二:Recommender项目
2B.1 项目背景
2B.2 功能需求
2B.3 系统设计
2B.4 系统实现
2B.5 案例小结
第3章 软件体系结构描述
3.1 软件体系结构建模概述
3.1.1 软件体系结构建模问题
3.1.2 软件体系结构描述方法
3.2 基于UML的软件体系结构描述
3.2.1 UML概述
3.2.2 UML结构分析
3.2.3 UML的软件体系结构描述
3.3 UML体系结构描述方式案例分析
3.3.1 “4+1”视图模型
3.3.2 教务管理系统的非形式化描述案例
3.4 基于ADL的软件体系结构描述
3.4.1 ADL概述
3.4.2 ADL结构分析
3.5 ADL体系结构描述方式案例分析
3.5.1 构件与连接器描述
3.5.2 配置的描述
3.6 可扩展体系结构语言基础框架FEAL
3.6.1 设计意图
3.6.2 FEAL结构
3.6.3 FEAL映射器
3.6.4 FEAL应用示例
3.7 小结
第4章 软件体系结构级别的设计策略
4.1 软件体系结构设计的重用
4.2 体系结构设计空间与规则
4.3 SADPBA
4.3.1 总览
4.3.2 使用设计空间对设计过程进行拆分
4.3.3 SADPBA的追踪机制
4.3.4 软件体系结构的生命周期模型
4.3.5 实践中的SADPBA
4.4 示例:MEECS
4.4.1 MEECS简介
4.4.2 将SADPBA应用到MEECS
4.5 小结
第5章 软件体系结构集成开发环境
5.1 软件体系结构集成开发环境的作用
5.1.1 软件体系结构集成开发环境的优点
5.1.2 软件体系结构集成开发环境的作用
5.2 体系结构IDE原型
5.2.1 用户界面层
5.2.2 模型层
5.2.3 基础层
5.2.4 体系结构集成开发环境设计策略
5.3 ArchStudio 5系统
5.3.1 ArchStudio 5简介
5.3.2 安装ArchStudio 5
5.3.3 ArchStudio 5概况
5.3.4 ArchStudio 5的使用
5.4 其他开发环境
5.4.1 ArchWare:体系结构改进开发环境
5.4.2 自适应软件体系结构开发环境
5.4.3 面向UniCore体系结构的集成开发环境
5.4.4 图文法规则制导的软件体系结构开发环境
5.5 小结
第6章 软件体系结构评估
6.1 软件体系结构评估概述
6.1.1 质量属性
6.1.2 评估的必要性
6.1.3 评估方法分类
6.2 质量属性专题研讨会方法
6.3 软件构架分析方法
6.3.1 SAAM的一般步骤
6.3.2 场景生成
6.3.3 体系结构描述
6.3.4 场景的分类和优先级确定
6.3.5 间接场景的单个评估
6.3.6 对场景关联的评估
6.3.7 形成总体评估
6.4 体系结构权衡分析方法
6.4.1 最初的ATAM
6.4.2 改进版ATAM
6.4.3 ATAM的一般过程
6.4.4 体系结构描述及收集与评估有关的信息
6.4.5 以体系结构为中心进行分析
6.4.6 以风险承担者为中心进行分析
6.4.7 提交评估结果
6.5 积极的中间设计审核方法
6.6 体系结构层次上的软件可维护性预测方法
6.7 基于度量的评估方法
6.8 评估方法比较
6.8.1 比较框架
6.8.2 评估方法概览和比较
6.9 小结
第7章 柔性软件体系结构
7.1 什么是柔性软件体系结构
7.1.1 动态软件体系结构
7.1.2 基于行为视角的π-ADL
7.1.3 基于反射视角的MARMOL
7.1.4 基于协调视角的LIME
7.1.5 柔性软件体系结构
7.2 为什么使用柔性软件体系结构
7.3 怎样使用柔性软件体系结构
7.3.1 Rainbow
7.3.2 MADAM
7.4 小结
第8章 软件体系结构的前景
8.1 国内外软件体系结构应用
8.1.1 全球软件产业状况
8.1.2 软件体系结构在系统中的应用
8.1.3 五大计算的软件体系结构
8.2 软件体系结构研究的不足和展望
8.3 小结
参考文献