软件体系结构理论及应用

软件体系结构理论及应用"

作者:李金刚、赵石磊、杜宁
ISBN:9787302324577
定价:¥59
字数:千字
页数:
出版时间:2013.08.01
开本:
版次:1-13
装帧:
出版社:清华大学出版社
简介

软件体系结构是根植于软件工程发展起来的一门新兴学科,目前已经成为软件工程研究和应用的主要领域。本书系统地介绍了软件体系结构的基本原理和开发技术,对其在实际领域中的具体应用加以详细描述,可以满足计算机专业及软件工程专业对软件设计与体系结构知识的需求。由于软件体系结构所涉及的方法论和原理比较抽象,而这些内容又广泛地存在于软件设计中,因此,本书采用大量案例、图表和示例代码对此加以说明。本书既有较强的理论性,又有较好的实践性,语言简练,通俗易懂,重点突出。

本书是作者在多年教学和科研工作基础上形成的,可以作为高等学校计算机、软件工程及相关专业的本科生和硕士生教材,也可供该领域的研究人员及工程技术人员参考。

前言

软件体系结构的研究伴随着软件开发方法论的发展逐步进行,由最初模糊的概念发展为现今一个渐趋成熟的技术。在计算机科学和软件工程学科中,软件体系结构占据极为重要的地位,其研究成果可以从宏观上指导软件制品的分析、设计、开发和后期维护。随着软件体系结构新理论的不断涌现以及在工程实践中的有效应用,需要相关教材集中反映最新的各种成果。

作者根据多年教学经验和科研经验,在学习和总结国内外相关文献的基础上,完成了本书的编写工作。

本书的特色是文字叙述通俗易懂,对软件体系结构的基本概念和基本原理进行了准确阐述,并配合适当的例题进行深入研究,同时力图反映其应用方面的一些新进展,包括DSSA、Web Services、软件产品线、软件设计模式及云计算等方面。

本书共分为10章,第1章主要介绍软件体系结构概论、软件重用及软件构件; 第2章对软件体系结构建模尤其是采用UML的建模方法进行了介绍; 第3章详细介绍了软件体系结构的各种常用风格,重点介绍了新兴的一些软件体系结构风格; 第4章对DSSA原理和特定领域软件工程的概念尤其是DSSA的具体应用加以介绍; 第5章对Web Services和SOA加以介绍和讨论,重点关注IBM SOA解决方案,并对基于.NET和JavaEE的Web Services开发技术进行了翔实的说明; 第6章介绍了软件产品线的相关内容并辅以案例,介绍其在ERP领域的应用; 第7章介绍了软件演化的内容; 第8章介绍了软件体系结构评估手段及最新的评估技术; 第9章介绍了软件设计原则和模式以及Java代码实现; 第10章介绍了云计算的有关内容,涉及Google云计算、AWS和Windows Azure以及部分开源实现技术。

本书第1、5、9、10章由李金刚编写,第2、3、4章由赵石磊编写,第6~8章由杜宁编写,李金刚负责全书的统编。本书主编作为访问学者在哈尔滨工业大学研修期间完成了书中主要章节的编写工作。哈尔滨工业大学计算机科学与技术学院的苏小红教授对编写工作提出了很多宝贵的建议,在此深表谢意。作者还要特别感谢参考文献中所列的各位作者,是他们的独到见解为本书提供了宝贵的资料及丰富的写作源泉。限于作者的水平和学识,书中难免存在疏漏和错误之处,诚望读者不吝赐教,以便修正,让更多读者受益。

清华大学出版社为本书的出版做了大量的工作,在此表示衷心的谢意!最后,谨向关心和支持本书编写工作的各方面人士表示感谢!

编者

2013年5月

目录

第1章软件体系结构概论

1.1软件体系结构产生的背景

1.2软件体系结构

1.2.1软件体系结构的定义

1.2.2软件体系结构的重要性

1.3软件重用

1.3.1软件重用概述

1.3.2软件重用的类型

1.3.3软件重用的特点

1.4软件构件

1.4.1构件的分类

1.4.2构件识别技术

1.4.3构件的检索、匹配与获取

1.4.4构件模型与基于构件的软件开发

第2章软件体系结构建模

2.1软件体系结构建模概述

2.2软件体系结构建模语言

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

2.2.2UML与ADL之间的关系

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

2.3基于UML体系结构描述方式的案例分析

2.4软件体系结构的生命周期

2.5基于体系结构的软件开发过程

第3章软件体系结构风格

3.1软件体系结构风格概述

3.2常用的软件体系结构风格

3.2.1管道/过滤器体系结构风格

3.2.2面向对象体系结构风格

3.2.3分层体系结构风格

3.2.4客户机/服务器体系结构风格

3.2.5浏览器/服务器体系结构风格

3.2.6事件驱动体系结构风格

3.2.7数据共享体系结构风格

3.2.8解释器体系结构风格

3.2.9C2体系结构风格

3.2.10MVC体系结构风格

3.2.11反馈控制环体系结构风格

3.2.12公共对象请求代理体系结构风格

3.2.13层次消息总线体系结构风格

3.3新型软件体系结构风格

3.3.1正交体系结构风格

3.3.2富互联网应用体系结构风格

3.3.3表述性状态转移体系结构风格

3.3.4插件体系结构风格

3.3.5面向服务体系结构风格

3.3.6异构体系结构风格

第4章特定领域软件体系结构

4.1特定领域软件体系结构概述

4.2特定领域软件体系结构的定义及组成

4.3特定领域软件体系结构的领域工程

4.3.1领域分析

4.3.2领域设计

4.3.3领域实现

4.4特定领域软件体系结构的应用工程

4.4.1特定领域软件体系结构的应用工程概述

4.4.2领域工程与应用工程的关系

4.5特定领域软件体系结构的生命周期

4.6特定领域软件体系结构的建立

4.7基于特定领域软件体系结构的开发过程

4.8基于特定领域软件体系结构的应用实例

4.9特定领域软件体系结构对软件开发的意义

第5章Web Services与SOA

5.1Web Services概述

5.2Web Services技术

5.2.1Web Services体系结构模型

5.2.2Web Services工作机制

5.3SOA

5.3.1SOA概述

5.3.2IBM SOA解决方案

5.4网格服务体系结构

5.4.1网格概述

5.4.2五层沙漏结构

5.4.3OGSA与WSRF

5.5Web Services实现技术

5.5.1Web Services的.NET实现

5.5.2Web Services的JavaEE实现

第6章软件产品线技术

6.1软件产品线概述

6.1.1软件产品线的发展

6.1.2软件产品线的定义

6.1.3软件产品线产生的原因

6.2软件产品线的工程方法

6.3软件产品线体系结构

6.4软件产品线的开发过程

6.4.1软件产品线的建立方式

6.4.2软件产品线的需求分析

6.4.3软件产品线的开发

6.4.4软件产品线的可变性管理

6.4.5软件产品线的测试

6.4.6软件产品线设计实例

6.5软件产品线的研究方法

6.5.1FAST

6.5.2PuLSE

6.5.3KobrA

6.6软件产品线的演化

6.7软件产品线在ERP开发中的应用

6.7.1ERP库存管理子系统设计案例

6.7.2应用软件产品线的ERP产业链模式案例——零售业模式

第7章软件演化

7.1软件演化概述

7.1.1软件演化的基本概念

7.1.2软件演化和软件维护

7.1.3软件演化和软件再工程

7.1.4软件演化和软件复用

7.1.5软件演化的发展及现状

7.2软件演化的分类

7.2.1从总体划分

7.2.2从演化的时机划分

7.2.3从实现方式和粒度划分

7.2.4从演化的复杂程度划分

7.3静态演化

7.3.1静态演化技术分析

7.3.2设计模式对静态演化的支持

7.3.3重构技术对静态演化的支持

7.3.4静态演化应用实例

7.4动态演化

7.4.1动态演化技术分析

7.4.2动态软件体系结构

7.4.3软件的并行性演化

7.4.4动态演化的解决方案

第8章软件体系结构评估

8.1软件体系结构评估概述

8.1.1软件体系结构分析和评估的基本术语

8.1.2软件体系结构评估的时机

8.1.3软件体系结构评估的必要性

8.2软件体系结构的主要评估方法

8.3基于场景的软件体系结构评估方法

8.3.1SAAM

8.3.2SAAMCS

8.3.3ATAM

8.3.4基于场景的其他评估方法

8.3.5基于场景的软件体系结构评估方法比较

8.3.6基于场景的评估应用实例

8.4基于度量的软件体系结构评估方法

8.4.1度量

8.4.2几种基于度量的评估方法

8.4.3面向对象软件体系结构的度量技术

8.5软件体系结构评估存在的问题与现状

第9章软件设计原则与模式

9.1模式概述

9.1.1模式的应用背景

9.1.2模式的发展过程

9.1.3模式的刻画

9.1.4模式的分类

9.1.5MVC架构模式

9.1.6模式与框架的关系

9.2软件设计原则

9.2.1开闭原则

9.2.2里氏代换原则

9.2.3依赖倒置原则

9.2.4接口隔离原则

9.2.5组合/聚合复用原则

9.2.6迪米特法则

9.2.7单一职责原则

9.3创建型设计模式

9.3.1工厂方法设计模式

9.3.2抽象工厂设计模式

9.3.3单例设计模式

9.4结构型设计模式

9.4.1代理设计模式

9.4.2适配器设计模式

9.5行为型设计模式

9.5.1模板方法设计模式

9.5.2观察者设计模式

9.5.3责任链设计模式

9.5.4状态设计模式

第10章云计算

10.1云计算概述

10.1.1云计算的定义

10.1.2云存储

10.1.3云计算的特点

10.1.4云服务的种类

10.1.5云计算体系结构

10.2云计算的发展与应用

10.2.1云计算产生的背景

10.2.2云计算的应用现状

10.3云计算核心技术简介

10.3.1海量数据文件系统

10.3.2海量数据编程模型

10.3.3海量数据的一致性问题

10.3.4海量数据的管理与存储

10.4云计算的实施技术与平台

10.5安全问题

10.5.1潜在的安全风险

10.5.2云计算的安全性保障方案

10.6云计算应用实例

10.7云计算的研究和发展方向

参考文献

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个