![]()
内容推荐 随着软件工程的不断发展,软件体系结构逐渐成长起来,目前已独立于软件工程研究之外成为计算机科学的一个重要分支,成为软件系统开发的重要组成部分,以及当今业界学术界的热点研究领域。软件体系结构的目标是为软件开发者提供统一的、精确的、高度抽象和易于分析的系统信息,从而使软件系统能以最快速度、低成本、高质量地进行构建。本书详细介绍和分析了软件体系结构的理论基础、研究内容、当前的发展状况和实践应用等。通过本书,读者可以了解软件体系结构的研究背景、基本概念、描述方法、设计风格、评估方法、开发工具和柔性软件体系结构等内容。本书采用最近几年的案例、数据、图示以及其他相关材料,以反映软件体系结构的最新发展。 本书可以作为计算机、软件工程以及相关专业的研究生和本科生学习软件体系结构的教材和参考书,对从事软件体系结构研究和软件开发的科研人员也有一定的理论参考价值和实用价值。 作者简介 覃征,博士,清华大学信息学院/软件学院教授、博士生导师,教育部高等学校电子商务类专业教学指导委员会委员,国家千人计划评审专家,科技部科技奖励评审专家,教育部科技奖励评审专家。作为项目负责人。先后主持完成国家重点基础研究发展计划(973计划)项目、科技攻关计划项目、国家探索项目、国家自然科学基金项目等数十项。作为第一完成人获国家各类奖励一等奖3项,以及第43届日内瓦国际发明展览会金奖,获国家发明专利1 7项。出版学术著作、教材十余部,领导的课题组先后获国家级精品课程、国家级精品教材、清华大学教材特等奖荣誉称号。近年来在国内外重要期刊和会议发表文章数十篇,培养博士后、博士、硕士共计一百余人,遍及军队、国家研究机构、大中型企业、金融行业、大学等领域。 目录 第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 软件体系结构的四个层次级别 1.7 小结 第2章 软件体系结构风格和模式 2.1 软件体系结构风格和模式基础 2.2 管道过滤器风格 2.3 面向对象风格 2.4 事件驱动风格 2.5 分层风格 2.6 数据共享风格 2.7 解释器风格 2.8 反馈控制环风格 2.9 云体系结构风格 2.10 网格计算体系风格 2.11 体系结构风格的比较 2.12 异构风格的集成 2.13小结80第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 软件体系结构风格的选择 4.5.1 架构元素说明的组成 4.5.2 特征类别分析 4.5.3 PSAS方法主流程 4.6 小结 第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.3.3 ArchStudio 5概况 5.3.4 ArchStudio 5的使用 5.4 SysADL Studio系统 5.4.1 SysADL Studio简介 5.4.2 安装SysADL Studio 5.4.3 SysADL Studio概况 5.4.4 SysADL Studio的使用 5.5 其他开发环境 5.5.1 ArchWare: 体系结构改进开发环境 5.5.2 自适应软件体系结构开发环境 5.5.3 面向UniCore体系结构的集成开发环境 5.5.4 图文法规则制导的软件体系结构开发环境 5.6 小结 第6章 软件体系结构评估 6.1 软件体系结构评估概述 6.1.1 质量属性 6.1.2 评估的必要性 6.1.3 评估方法分类 6.2 QAW方法 6.3 SAAM 6.3.1 SAAM的一般步骤 6.3.2 场景生成 6.3.3 体系结构描述 6.3.4 场景的分类和优先级的确定 6.3.5 间接场景的单个评估 6.3.6 对场景关联的评估 6.3.7 形成总体评估 6.4 ATAM 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 ARID积极的中间设计审核方法 6.6 体系结构级别上的软件维护预测 6.7 基于度量和预测的评估方法 6.7.1 基于人工智能的定性知识管理与建模 6.7.2 构建贝叶斯信念网络的结构 6.7.3 软件体系结构评估信念网络 6.7.4 SAABNet的使用 6.7.5 SAABNet的验证 6.8 评估方法比较 6.8.1 比较框架 6.8.2 评估方法概览和比较 6.9 小结 第7章 柔性软件体系结构 7.1 动态软件体系结构 7.1.1 动态软件体系结构的定义 7.1.2 动态软件体系方法的分类 7.1.3 πADL: 行为视角 7.1.4 MARMOL: 反射视角 7.1.5 LIME: 协调视角 7.2 柔性软件体系结构 7.2.1 柔性软件体系结构的定义 7.2.2 柔性软件体系结构场景举例 7.3 柔性软件体系结构案例 7.3.1 Rainbow 7.3.2 MADAM 7.4 柔性软件体系结构的适用范围 |