标题：软件体系结构理论与实践
基本信息
作　　者：冯冲，江贺，冯静芳 著 丛 书 名：出 版 社：人民邮电出版社ISBN：97871151  19643 出版时间：2004-01-01 版　　次：1 页　　数：373 装　　帧：平装 开　　本：16开 所属分类：图书 > 教材教辅 > 大学教材
内容简介
本书全面论述了软件体系结构的基本概念和主要方法，并结合实践介绍了软件体系结构在各种软件系统开发中的应用。本书着重讨论软件体系结构描述语言、描述方法，软件体系结构风格，软件体系结构的设计、分析和验证，软件体系结构与Windows系统，软件体系结构与X Window系统，构件与分布式计算等。
全书取材先进，内容全面，体系完整，力图反映本学科的最新成就和发展趋势。本书可作为计算机系及相关专业的本科高年级学生和研究生的教学用书；本书对于从事软件体系结构研究的科技人员和工程技术人员而言，也具有相当的理论参考价值和实际应用价值。
目录
第1章　概述　1
1.1　发展历程　1
1.1.1　“无体系结构”设计阶段　1
1.1.2　萌芽阶段　2
1.1.3　初级阶段　2
1.1.4　高级阶段　3
1.1.5　综合　3
1.2　软件体系结构　4
1.3　软件体系结构的定义　6
1.4　软件体系结构的基本概念　9
1.4.1　构件　10
1.4.2　连接件　12
1.4.3　约束(配置)　14
1.5　意义　15
1.6　当前研究状况　17
1.6.1　不同的研究领域　17
1.6.2　不同的研究思路　20
1.7　小结　22
讨论题　22
第2章　软件体系结构语言(ADL)　23
2.1　ACME　23
2.1.1　ACME体系结构设计元素类型　24
2.1.2　ACME的属性　26
2.1.3　ACME的模板和风格定义　27
2.1.4　ACME开放语义框架　29
2.1.5　例子　30
2.2　Wright　32
2.2.1　进程的符号表示法　33
2.2.2　连接件描述　34
2.2.3　连接件语义(Connector Semantic)　35
2.2.4　端口和连接件的实例化　36
2.2.5　体系结构描述解析　36
2.3　C2　37
2.4　UniCon　39
2.4.1　构件　39
2.4.2　连接件　40
2.5　其他比较有影响的ADL　42
2.5.1　Darwin　42
2.5.2　Aesop　44
2.5.3　Rapide　45
2.5.4　MetaH　46
2.5.5　Weaves　47
2.5.6　SADL　48
2.6　ADL分类与比较框架　49
2.6.1　构件建模　51
2.6.2　连接件建模　52
2.6.3　配置建模　53
2.6.4　对体系结构描述的工具支持　54
2.7　ADL之间的比较　55
2.7.1　ADL对于构件建模的支持　56
2.7.2　ADL对于连接件建模的支持　57
2.7.3　ADL对于配置建模的支持　59
2.7.4　ADL的工具支持　61
2.8　小结　62
讨论题　63
第3章　软件体系结构描述方法　64
3.1　使用形式化方法描述体系结构　64
3.1.1　形式化方法和形式化规格说明语言　65
3.1.2　Z规约语言与软件体系结构　69
3.2　使用Kruchten的“4+1”模型描述体系结构　81
3.2.1　“4+1”模型　81
3.2.2　逻辑视图的体系结构：面向对象的分解　82
3.2.3　过程视图的体系结构：过程分解　84
3.2.4　开发视图的体系结构：子系统分解　86
3.2.5　物理视图的体系结构：从软件到硬件的映射　88
3.2.6　场景视图的体系结构：汇总　88
3.2.7　视图间的交流　89
3.2.8　“4+1”模型的迭代过程和软件文档　91
3.3　使用UML描述体系结构　91
3.3.1　背景知识　92
3.3.2　策略和评测标准　94
3.4　体系结构描述的规范　103
3.4.1　IEEE软件体系结构描述标准　103
3.5　小结　112
讨论题　113
第4章　软件体系结构的设计　114
4.1　体系结构设计方法的元模型　114
4.2　体系结构设计方法的分析与评估　116
4.2.1　工件驱动的体系结构设计　116
4.2.2　用例驱动的体系结构设计　118
4.2.3　领域驱动的体系结构设计　120
4.2.4　模式驱动的体系结构设计　122
4.3　小结　124
讨论题　125
第5章　软件体系结构的风格　126
5.1　概述　126
5.2　固定术语类(Idioms)的风格　127
5.2.1　管道和过滤器风格　127
5.2.2　仓库风格和黑板风格　128
5.2.3　分层系统风格　130
5.2.4　客户服务器风格　131
5.2.5　数据抽象和面向对象风格　132
5.2.6　基于事件的风格(隐式调用)　132
5.2.7　模型-视图-控制器风格　134
5.2.8　解释器风格(虚拟机风格)　135
5.2.9　异质体系结构　136
5.3　固定术语类派生的风格　136
5.3.1　GenVoca风格　136
5.3.2　C2风格　138
5.3.3　REST　139
5.4　参考模型类(Reference Models)的风格　142
5.4.1　编译器的顺序参考模型和并行参考模型　142
5.4.2　信息系统的参考模型　146
5.5　小结　148
讨论题　149
第6章　软件体系结构的分析与评估　150
6.1　体系结构分析概述　151
6.1.1　基本概念　151
6.1.2　体系结构层次的评估技术　152
6.2　基于场景的体系结构分析方法(SAAM)　153
6.2.1　SAAM的步骤　154
6.2.2　SAAM的工具　159
6.2.3　对SAAM的讨论　161
6.3　扩展SAAM的分析方法　162
6.3.1　SAAMCS方法　162
6.3.2　ESAAMI方法(Extending SAAM by Integration in the Domain)　163
6.3.3　SAAMER方法　164
6.4　体系结构折衷分析方法(ATAM)　165
6.4.1　对ATAM的讨论　165
6.5　其他体系结构分析方法　167
6.5.1　SBAR方法　167
6.5.2　ALPSM方法　169
6.5.3　SAEM方法　170
6.6　讨论　171
6.6.1　方法的特定目标和分类　171
6.6.2　基于场景的方法的异同　173
6.6.3　在实际开发中对分析方法的选择　174
6.7　小结　174
讨论题　175
第7章　基于体系结构的软件开发过程　176
7.1　概述　176
7.2　导出体系结构需求　177
7.2.1　体系结构需求　177
7.2.2　质量场景　178
7.2.3　验证　180
7.3　设计体系结构　180
7.3.1　体系结构的构造和视图　180
7.3.2　开发过程　181
7.3.3　验证　182
7.4　文档化体系结构　183
7.5　分析体系结构　184
7.6　实现体系结构　185
7.7　维护体系结构　186
7.8　小结　187
讨论题　187
第8章　特定领域的体系结构(DSSA)　188
8.1　DSSA的概念　188
8.1.1　DSSA的发展　188
8.1.2　DSSA的定义　189
8.1.3　DSSA与体系结构风格的比较　190
8.2　DSSA过程　191
8.2.1　步骤1——定义领域分析的范围　192
8.2.2　步骤2——定义/求精特定领域的元素　194
8.2.3　步骤3——定义/求精特定领域的设计和实现约束　197
8.2.4　步骤4——开发领域模型/体系结构　198
8.2.5　步骤5——生成/收集可重用的工作产品　201
8.3　小结　202
讨论题　203
第9章　软件体系结构支持工具　204
9.1　Acme工具　204
9.1.1　Acme工具开发人员库(Acme Tool Developers library)　204
9.1.2　AcmeStudio环境　206
9.2　基于软件体系结构的开发环境ArchStudio 3　211
9.3　小结　218
讨论题　218
第10章　软件体系结构与Windows系统　219
10.1　操作系统的体系结构　219
10.1.1　操作系统的设计需求　220
10.1.2　模块结构　222
10.1.3　分层结构　222
10.1.4　虚拟机结构　224
10.1.5　客户/服务器结构　225
10.1.6　Windows 2000/XP的体系结构　226
10.2　操作系统的网络体系结构　233
10.2.1　Windows 2000的网络体系结构　234
10.2.2　网络驱动程序接口规范(NDIS)层　235
10.2.3　网络协议层　237
10.2.4　传输驱动程序接口(TDI)层　239
10.2.5　网络应用编程接口(网络API)层　240
10.2.6　进程间通信层　244
10.2.7　基本网络服务层　249
10.3　小结　251
讨论题　251
第11章　软件体系结构与X Window系统　252
11.1　X Window概述　252
11.1.1　发展　252
11.1.2　X Window系统的特点　253
11.2　X Window系统的体系结构　255
11.2.1　X Window系统与客户服务器风格　255
11.2.2　客户服务器体系结构的优点　258
11.3　X服务器(X server)　259
11.3.1　X服务器的功能　259
11.3.2　X服务器分层风格的体系结构　260
11.4　X协议(X protocol)　261
11.4.1　请求：X客户传送给X服务器的信息　261
11.4.2　事件：X服务器传送给X客户的信息　262
11.5　X客户(X Client)　264
11.5.1　窗口管理器　264
11.5.2　桌面环境　265
11.5.3　X客户应用程序的开发　266
11.6　小结　267
讨论题　267
第12章　构件与分布式计算　268
12.1　概述　269
12.1.1　软件体系结构和基于构件的软件工程　269
12.1.2　分布式计算的发展　270
12.1.3　分布式应用的体系结构风格　272
12.2　OMG的分布式计算标准　273
12.2.1　OMA　274
12.2.2　CORBA　274
12.2.3　ORB　282
12.2.4　CORBA组件　289
12.3　基于Java平台的分布式计算　291
12.3.1　Java RMI　291
12.3.2　J2EE和EJB　297
12.4　微软DNA和.NET　307
12.4.1　微软的Windows DNA　307
12.4.2　微软.NET　315
12.5　基于Web的分布式应用：Web服务　331
12.5.1　XML Web服务及其体系结构　331
12.5.2　简单对象访问协议SOAP　333
12.5.3　Web服务描述语言WSDL　334
12.5.4　统一描述、发现和集成UDDI　335
12.5.5　Web服务的特点　337
12.5.6　具体的Web服务体系结构　339
12.6　小结　340
讨论题　342
第13章　软件体系结构与实时系统　343
13.1　实时系统概述　343
13.2　实时系统的软件体系结构描述　345
13.3　实时系统的软件体系结构分析　346
13.3.1　体系结构分析方法　　346
13.3.2　功能属性分析　348
13.3.3　非功能属性分析　349
13.4　实时系统的软件体系结构实例　350
13.4.1　实时操作系统　350
13.4.2　路由器软件体系结构　354
13.5　小结　360
讨论题　360
附录　361
参考文献　368