账号: 密码:
中国大学出版社协会 | 首页 | 宏观指导 | 出版社天地 | 图书代办站 | 教材图书信息 | 教材图书评论 | 在线订购 | 教材征订
搜索 新闻 图书 ISBN 作者 音像 出版社 代办站 教材征订
购书 请登录 免费注册 客服电话:010-62510665 62510769
图书查询索引 版别索引 分类索引 中图法分类 专业分类 用途分类 制品类型 读者对象 自分类 最新 畅销 推荐 特价 教材征订
综合查询
软件体系结构实用教程 - 中国高校教材图书网
书名: 软件体系结构实用教程
ISBN:978–7–5606–2315–3 条码:
作者: 付 燕  相关图书 装订:平装
印次:1-1 开本:16开
定价: ¥26.00  折扣价:¥24.70
折扣:0.95 节省了1.3元
字数: 429千字
出版社: 西安电子科技大学出版社 页数:
发行编号:2607001-1 每包册数:
出版日期: 2009-10-01
小团购 订购 咨询 推荐 打印 放入存书架

内容简介:
内 容 简 介

本书对软件体系结构的理论基础、研究内容、当前研究现状和实践应用进行了系统的介绍。通过本书,读者可以了解到软件体系结构的基本概念、风格、描述方法、设计方法、评估方法和集成开发环境等内容。
本书共分10章。第1章简单介绍了软件重用和构件技术的一些基本概念,它们是学习软件体系结构有关知识的基础;第2章介绍了软件体系结构的概念、发展和研究现状;第3章对软件体系结构的风格进行了较为详细的介绍,并给出了一些应用实例;第4章讨论了软件体系结构的三种描述方法;第5章介绍了软件体系结构设计过程中使用的一般原理和设计模式,以及常用的体系结构设计方法;第6章对Bass等人提出的一种基于体系结构的软件开发过程做了详细介绍;第7章介绍了软件体系结构评估方法,重点介绍SAAM和ATAM方法;第8章介绍了Web服务体系结构的有关知识,并给出了一个简单的应用实例;第9章对特定领域的软件体系结构进行了介绍,详细讨论了其建立过程;第10章介绍了软件体系结构集成开发环境的具体功能。
本书可作为计算机软件专业高年级本科生和研究生的软件体系结构教材,也可作为软件开发人员的参考书。

作者简介:
 
章节目录:

目 录


第1章 软件重用与构件技术 1
1.1 软件重用概述 1
1.1.1 软件重用的定义 1
1.1.2 软件重用的研究现状 1
1.1.3 重用驱动的软件过程 2
1.2 构件的特点和分类 3
1.2.1 构件的特点 4
1.2.2 构件的分类 4
1.3 构件描述模型 5
1.3.1 3C模型 5
1.3.2 REBOOT模型 5
1.3.3 青鸟构件模型 6
1.4 构件获取 6
1.5 构件管理 7
1.6 构件重用 11
1.7 本章小结 16
习题 16

第2章 软件体系结构概论 17
2.1 软件体系结构的定义 17
2.2 软件体系结构的研究意义 21
2.3 软件体系结构的发展历程 23
2.3.1 “无体系结构”设计阶段 24
2.3.2 萌芽阶段 25
2.3.3 初级阶段 25
2.3.4 高级阶段 26
2.3.5 综合 26
2.4 软件体系结构的研究现状及发展方向 27
2.4.1 软件体系结构的研究现状 27
2.4.2 软件体系结构的发展方向 31
2.5 本章小结 31
习题 32

第3章 软件体系结构的风格 33
3.1 软件体系结构风格概述 33
3.2 经典软件体系结构风格 34
3.2.1 管道-过滤器 34
3.2.2 数据抽象和面向对象风格 35
3.2.3 基于事件的隐式调用风格 36
3.2.4 层次系统风格 37
3.2.5 仓库风格和黑板风格 38
3.2.6 模型-视图-控制器(MVC)风格 39
3.2.7 解释器风格 40
3.2.8 C2风格 40
3.3 案例研究 41
3.3.1 案例一:上下文关键字 42
3.3.2 案例二:仪器软件 46
3.4 客户/服务器风格 49
3.5 三层C/S结构风格 52
3.6 浏览器/服务器风格 54
3.7 正交软件体系结构风格 55
3.7.1 正交软件体系结构的概念 55
3.7.2 正交软件体系结构的优点 56
3.8 基于层次消息总线的体系结构风格 57
3.8.1 JB/HMB 风格的基本特征 57
3.8.2 构件模型 58
3.8.3 构件接口 59
3.8.4 消息总线 59
3.8.5 构件静态结构 61
3.8.6 构件动态行为 61
3.8.7 运行时刻的系统演化 62
3.8.8 总结 62
3.9 异构结构风格 63
3.9.1 使用异构结构的原因 63
3.9.2 异构体系结构的组织 64
3.9.3 异构体系结构的实例 64
3.10 本章小结 66
习题 66

第4章 软件体系结构描述 67
4.1 软件体系结构描述方法 67
4.2 软件体系结构描述语言 69
4.2.1 软件体系结构描述语言构成要素 69
4.2.2 ADL与其他语言的比较 71
4.3 典型的软件体系结构描述语言 73
4.3.1 UniCon 73
4.3.2 C2 77
4.3.3 Wright 82
4.3.4 ACME 82
4.4 可扩展标记语言 89
4.4.1 XML标准 89
4.4.2 XML的应用领域 93
4.5 基于XML的软件体系结构描述语言 93
4.5.1 XADL2.0 93
4.5.2 XBA 100
4.5.3 XCOBA 104
4.6 使用“4+1”模型描述软件体系结构 108
4.6.1 逻辑视图的体系结构:面向对象的分解 110
4.6.2 过程视图的体系结构:过程分解 111
4.6.3 开发视图的体系结构:子系统分解 113
4.6.4 物理视图的体系结构:从软件到硬件的映射 114
4.6.5 场景视图的体系结构:汇总 115
4.7 使用UML描述软件体系结构 116
4.7.1 UML简介 116
4.7.2 UML基本图符 117
4.7.3 UML的静态建模机制 121
4.7.4 UML的动态建模机制 125
4.7.5 UML在软件体系结构建模中的应用实例 127
4.8 本章小结 131
习题 132

第5章 软件体系结构设计 133
5.1 软件体系结构设计的一般原理 133
5.2 设计模式 139
5.2.1 设计模式概述 139
5.2.2 设计模式的组成 140
5.2.3 模式和软件体系结构 143
5.2.4 设计模式方法分类 144
5.3 软件体系结构设计的元模型 147
5.4 体系结构设计方法的分析 148
5.4.1 制品驱动的方法 148
5.4.2 用例驱动的方法 150
5.4.3 领域驱动的方法 152
5.4.4 模式驱动的方法 154
5.5 体系结构设计实例分析 156
5.5.1 实例说明 156
5.5.2 图书馆管理系统的体系结构设计与分析 156
5.6 本章小结 164
习题 165

第6章 基于体系结构的软件开发过程 166
6.1 概述 166
6.2 导出体系结构需求 167
6.2.1 体系结构需求 168
6.2.2 质量场景 168
6.2.3 验证 170
6.3 设计体系结构 170
6.3.1 体系结构的构造和视图 171
6.3.2 开发过程 172
6.3.3 验证 173
6.4 文档化体系结构 173
6.5 分析体系结构 175
6.6 实现体系结构 176
6.7 维护体系结构 176
6.8 本章小结 178
习题 178

第7章 软件体系结构评估 179
7.1 软件体系结构评估概述 179
7.1.1 评估关注的质量属性 179
7.1.2 评估的必要性 181
7.2 软件体系结构评估的主要方式 182
7.2.1 主要评估方式简介和比较 182
7.2.2 基于场景的评估方法概念介绍 184
7.3 SAAM软件体系结构分析方法 184
7.3.1 SAAM的一般步骤 184
7.3.2 场景生成 185
7.3.3 体系结构描述 186
7.3.4 场景的分类和优先级确定 186
7.3.5 间接场景的单独评估 187
7.3.6 对场景关联的评估 187
7.3.7 形成总体评估 188
7.4 ATAM体系结构权衡分析方法 189
7.4.1 最初的ATAM 189
7.4.2 改进版ATAM 190
7.4.3 ATAM的一般过程 191
7.4.4 介绍 193
7.4.5 研究和分析 194
7.4.6 测试 196
7.4.7 报告 197
7.5 SAAM方法评估实例 197
7.6 本章小结 200
习题 201

第8章 Web服务体系结构 202
8.1 Web Services概述 202
8.1.1 Web Services的定义、特点和组成 202
8.1.2 Web Services的应用场合与局限 204
8.2 Web Services体系结构介绍 206
8.2.1 Web Services体系结构模型 206
8.2.2 Web Services的协议栈 207
8.3 Web Services的开发 208
8.3.1 Web Services的开发周期 208
8.3.2 Web Services的开发方案 209
8.3.3 Web Services的开发平台 211
8.4 Web Services核心技术 212
8.4.1 XML 212
8.4.2 XML Schema 218
8.4.3 SOAP 222
8.4.4 WSDL 225
8.4.5 UDDI 228
8.5 Web Services应用实例 230
8.5.1 背景简介 230
8.5.2 系统架构 231
8.5.3 服务的实现 232
8.6 本章小结 233
习题 233


第9章 特定领域的软件体系结构 234
9.1 DSSA的概念 234
9.1.1 DSSA的发展 234
9.1.2 DSSA的定义 235
9.1.3 DSSA与体系结构风格的比较 236
9.2 DSSA的基本活动 237
9.3 参与DSSA的人员 238
9.4 DSSA的建立过程 239
9.4.1 步骤1——定义领域分析的范围 240
9.4.2 步骤2——定义/求精特定领域的元素 242
9.4.3 步骤3——定义/求精特定领域的设计和实现约束 245
9.4.4 步骤4——开发领域模型/体系结构 246
9.4.5 步骤5——生成/收集可重用的工作产品 249
9.5 本章小结 250
习题 251

第10章 软件体系结构集成开发环境 252
10.1 软件体系结构集成开发环境的作用 252
10.2 体系结构IDE原型 254
10.2.1 用户界面层 255
10.2.2 模型层 256
10.2.3 基础层 258
10.2.4 体系结构集成开发环境设计策略 258
10.3 基于软件体系结构的开发环境ArchStudio 4 258
10.3.1 ArchStudio 4的作用 258
10.3.2 安装ArchStudio 4 261
10.3.3 ArchStudio 4概述 262
10.3.4 ArchStudio 4的使用 267
10.4 Acme工具和AcmeStudio环境 271
10.4.1 Acme工具开发人员库(Acme Tool Developer’s Library) 271
10.4.2 AcmeStudio环境 273
10.5 本章小结 278
习题 278

参考文献 279
精彩片段:
 
书  评:
前 言

软件体系结构是软件系统的高层结构,是一种用于理解系统级目标的框架。随着软件系统规模越来越大、越来越复杂,整个系统的结构和规格说明就显得越来越重要。对于大规模的复杂软件系统来说,总体的系统结构设计和规格说明比对计算的算法和数据结构的选择更为重要。在这种背景下,人们认识到了软件体系结构的重要性,并认为对软件体系结构进行系统、深入的研究将会成为提高软件生产率和解决软件维护问题的新的最有希望的途径。
软件体系结构研究的主要内容包括软件体系结构描述、软件体系结构设计、基于体系结构的软件开发方法、软件体系结构评估等。
1.软件体系结构描述研究
体系结构描述语言(Architecture Description Language,ADL)是一种形式化语言,系统设计师可以利用它所提供的特性进行软件系统概念体系结构建模。ADL提供了具体的语法与刻画体系结构的概念框架。它使得系统开发者能够很好地描述他们设计的体系结构,以便与他人交流,能够用提供的工具对许多实例进行分析。
Kruchten提出的“4+1”模型是对软件体系结构进行描述的另一种方法,该模型由逻辑视图、开发视图、过程视图和物理视图组成,并通过场景将这4个视图有机地结合起来,比较细致地描述了需求和体系结构之间的关系。
Booch从UML的角度给出了一种由设计视图、过程视图、实现视图和部署视图,再加上一个用例视图构成的体系结构描述模型。可以使用UML对构件交互模式进行静态建模和动态建模。
2.软件体系结构设计研究
体系结构设计研究的重点内容之一就是体系结构风格的研究。人们在开发不同系统时,会逐渐发现一类系统的体系结构有许多共性,于是抽取出这些共性构成一些富有代表性和被广泛接受的体系结构风格。它定义一组构件、连接件的类型以及它们之间应该如何连接的约束。虽然系统组织方式可以是无穷的,但如果能用少量的风格类型表达出较多的系统组织方式,不仅可以缩短系统分析设计的时间,还能大大提高大规模软件重用的机会。
通过对软件体系结构设计过程进行研究,总结出软件体系结构设计过程中用到的一般原理主要有以下几个:抽象、封装、信息隐藏、模块化、注意点分离、耦合和内聚、接口和实现分离、分而治之、层次化等。
在几十年的软件设计研究和实践中,设计人员和程序员积累了大量的实际经验,发现并提出了大量在众多应用中普遍存在的软件结构和结构关系,模式被用于软件体系结构设计中。一个模式关注一个在特定设计环境中出现的重现设计问题,并为它提供一个解决方案。利用设计模式可以方便地重用成功的设计和结构。
生成一个满足软件需求的体系结构的过程即为体系结构设计。体系结构设计过程的本质在于:将系统分解成相应的组成成分(如构件、连接件),并将这些成分重新组装成一个系统。常用的体系结构设计方法有4类,分别为制品驱动(Artifact-Driven)的方法、用例驱动(Use-Case-Driven)的方法、模式驱动(Pattern-Driven)的方法和领域驱动(Domain-Driven)的
方法。
3.基于体系结构的软件开发方法
在引入了体系结构的软件开发中,应用系统的构造过程变为“问题定义→软件需求→软件体系结构→软件设计→软件实现”,可以认为软件体系结构架起了软件需求与软件设计之间的一座桥梁。而在由软件体系结构到实现的过程中,借助一定的中间件技术与软件总线技术,软件体系结构易于映射成相应的实现。Bass等人提出了一种基于体系结构的软件开发过程,该过程包括6个步骤:导出体系结构需求、设计体系结构、文档化体系结构、分析体系结构、实现体系结构、维护体系结构。
4.软件体系结构评估
由于软件体系结构是在软件开发过程之初产生的,因此好的体系结构可以减少和避免软件错误的产生和维护阶段的高昂代价。想要判断所使用的体系结构是否恰当,需要使用专门的方法对软件体系结构进行分析和评估。常用的软件体系结构评估方法有软件体系结构分析方法(Software Architecture Analysis Method,SAAM)和体系结构权衡分析方法(Architecture Tradeoff Analysis Method,ATAM)。
5.特定领域的体系结构框架
特定领域的应用通常具有相似的特征,如果能够充分挖掘系统所在领域的共同特征,提炼出领域的一般需求,抽象出领域模型,归纳总结出这类系统的软件开发方法,就能够指导领域内其他系统的开发,提高软件质量和开发效率,节省软件开发成本。正是基于这种考虑,人们在软件的理论研究和工程实践中,逐渐形成一种称之为特定领域的软件体系结构(Domain Specific Software Architecture,DSSA)的理论与工程方法,它对软件设计与开发过程具有一定参考和指导意义,已经成为软件体系结构研究的一个重要方向。
6.软件体系结构支持工具
几乎每种体系结构都有相应的支持工具,如UniCon、Aesop等体系结构的支持环境,C2的支持环境ArchStudio,Acme的支持环境AcmeStudio,支持主动连接件的Tracer工具等。另外,还出现了很多支持体系结构的分析工具,如支持静态分析的工具、支持类型检查的工具、支持体系结构层次依赖分析的工具等。本书通过两个较为著名的软件体系结构集成开发环境ArchStudio 4和AcmeStudio,介绍了软件体系结构集成开发环境的具体功能。
本书共分10章。第1章简单介绍了软件重用和构件技术的一些基本概念,它们是学习软件体系结构有关知识的基础;第2章介绍了软件体系结构的概念、发展和研究现状;第3章对软件体系结构的风格进行了较详细的介绍,并给出了一些应用实例;第4章讨论了软件体系结构的三种描述方法;第5章介绍了软件体系结构设计过程中使用的一般原理和设计模式,以及常用的体系结构设计方法;第6章对Bass等人提出的一种基于体系结构的软件开发过程做了详细介绍;第7章介绍了软件体系结构评估方法,重点介绍了SAAM和ATAM方法;第8章介绍了Web服务体系结构有关知识,并给出了一个简单的应用实例;第9章对特定领域的软件体系结构进行了介绍,详细讨论了其建立过程;第10章介绍了软件体系结构集成开发环境的具体功能。
本书由付燕任主编并编写第5、6、8、9章,龚尚福编写第1、2章,龙熙华编写第3章,李贵民编写第4、7章,黄旭、王丽雯编写第10章,张相绘制了书中部分插图。
编写本书时,曾直接或间接地引用了许多专家、学者的文献(详见书后参考文献),在此向他们深表谢意。同时也感谢西安电子科技大学出版社的大力支持。
由于软件体系结构的发展非常迅速,其本身也在不断发展完善,又因为作者水平有限,虽然尽了很大的努力,书中仍难免有疏漏和不妥之处,敬请读者批评指正。



编 者
2009年5月
其  它:
 



| 我的帐户 | 我的订单 | 购书指南| 关于我们 | 联系我们 | 敬告 | 友情链接 | 广告服务 |

版权所有 © 2000-2002 中国高校教材图书网    京ICP备10054422号-7    京公网安备110108002480号    出版物经营许可证:新出发京批字第版0234号
经营许可证编号:京ICP证130369号    技术支持:云因信息