8.4.3第2阶段 22 1
第一篇基础篇 1
绪言 1
2.3.2管道过滤器的优缺点 3 1
2.3管道过滤器风格 3 1
5.4.2需求管理 1 3 1
12.3 开放式网格服务体系结构OGSA 3 1 1
12.2.3动态性分析 3 1 1
8.3.3评估的结果 21 1
9.9体系结构文档化及评估 25 1
9.3.2建立类图 23 1
9.3.1系统对象定义 23 1
目 录 1
12.4.1实例的动机与方法 31 5
8.4.2第1阶段 21 5
1.1.1 软件体系结构的定义 7
1.1 基本概念 7
第1章软件体系结构概述 7
1.1.2 对软件体系结构的认识 9
1.1.3各种术语和相关概念 11
8.3.4评估的收益和成本 2 12
1.2软件体系结构的重要性 12
1.2.1 在风险承担和早期设计中的作用 13
5.1基本概念 1 13
1.2.2软件体系结构在软件开发各阶段中的作用 14
5.1.2需求分析 1 14
1.2.3软件体系结构是系统分析和设计的高层复用 15
5.1.5其他概念 1 16
1.3软件体系结构研究的领域 17
思考题一 20
第2章体系结构的风格与模式 21
2.1.1 结构化控制流 22
2.1主程序与子过程 22
2.1.2结构化连接方式 24
2.2面向对象组织和抽象数据类型 26
2.1.3主程序与子过程风格的优缺点 26
2.2.1 抽象数据类型 27
2.2.2面向对象 28
5.4.1 需求验证 1 30
2.2.3面向对象的优缺点 30
2.3.1概述 31
2.4分层风格 32
2.4.1概述 32
2.4.2层次系统的优缺点 34
2.5事件驱动和隐式激发风格 36
2.5.1事件驱动的特征 36
2.6他风格 37
2.6.1 知识库风格 37
2.5.2 事件驱动和隐式调用的优缺点 37
2.7面向模式的软件体系结构 39
2.6.2解释器系统 39
思考题二 40
第3章软件体系结构的形式化方法和集成开发环境 41
3.1.1形式化方法的基本概念 41
3.1形式化方法简介 41
3.1.2软件体系结构的研究背景 42
3.2.1 Z语言简介 46
3.2软件体系结构的Z语言描述 46
3.2.2软件体系结构的Z语言描述 50
3.3.1 通信顺序进程简介 54
3.3体系结构的CSP描述 54
3.3.2体系结构的 CSP描述 55
3.4 软件体系结构描述语言 57
3.4.1 体系结构描述语言的定义与分类 57
3.4.2体系结构描述语言的目标 59
3.4.3体系结构描述和分析的要求 60
3.4.4体系结构构件和连接件建模 60
3.4.5体系结构配置建模 61
3.5.1集成环境的设计目标 62
3.5软件体系结构集成环境 62
3.5.2集成环境的构成元素 63
3.6 Wright系统介绍 64
3.6.2体系结构描述的推理 65
3.6.1 实现关系与交互关系 65
3.6.3 Wright语言的描述 66
3.7 Darwin系统介绍 69
3.8.1构件的描述 73
3.8 ACME系统介绍 73
3.8.2连接件的描述 74
3.8.3系统的描述 75
思考题三 76
3.8.4 风格的描述 76
6.5.3软件体系结构建模 1 77
6.5.2领域建模 1 77
4.1 动态软件体系结构的概念 78
第4章动态软件体系结构 78
4.1.1 需求变更引起体系结构的变化 79
4.1.2 对运行时体系结构变化的处理 80
4.1.3 大型复杂软件系统体系结构的动态性 82
4.2.1 动态体系结构的早期研究 84
4.2动态软件体系结构研究的发展历程 84
6.6.2用户界面的验证 1 85
6.6.3数据库验证 1 86
4.2.2动态软件体系结构研究的发展 86
6.6.4管理变更 1 86
4.2.3 MAS及网格计算中的动态体系结构 87
4.3 基于Web的大型复杂系统需要动态体系结构 89
4.3.1 基于 Web的大型复杂软件系统的特点 89
4.3.2典型应用系统软件体系结构的分析 92
4.4软件体系结构与软件开发过程的关系 103
4.4.1统一过程概述 104
4.4.2统一开发过程以软件体系结构为中心 108
思考题四 110
第二篇应用篇 113
第5章需求与需求分析 113
5.1.1需求 113
5.1.3需求工程 114
5.1.4其有动态性要求的需求与需求的动态性 115
5.2.1重要性 117
5.2需求分析 117
5.2.2需求获取与分析 118
5.2.3 UML方法与需求分析 120
5.3需求表示 122
5.3.1需求框架 122
5.3.2需求规格说明书 122
5.3.3多视点的需求描述方法 124
5.4需求验证与管理 130
5.5一个需求获取的实例 132
5.5.1实例背景 132
5.5.2具有动态性要求的需求 133
5.5.3需求的动态变化性 134
5.5.4需求分析的实例 136
5.6小结 138
思考题五 139
第6章软件体系结构设计 140
6.1.1软件体系结构设计过程 140
6.1 软件体系结构设计概述 140
6.1.3软件体系结构设计的方法概述 142
6.1.2软件体系结构设计的进一步认识 142
6.2.1 软件总体需求了解阶段 143
6.2软件体系结构设计 143
6.2.4需求到软件体系结构各要素的映射 144
6.2.3需求获取和表示阶段 144
6.2.2 选择大颗粒度软件体系结构风格阶段 144
6.2.7验证软件体系结构的正确性 145
6.2.6详细设计软件体系结构阶段 145
6.2.5软件体系结构各组成要素设计阶段 145
6.2.9软件体系结构迭代和优化设计 146
6.2.8软件体系结构的文档化和评估 146
6.3.1 系统模型 147
6.3 需求到软件体系结构各要素的映射 147
6.3.2需求到体系结构的映射机制 149
6.3.3体系结构模型之间的约束关系 160
6.4设计软件体系结构各组成要素 164
6.4.1用户界面设计 165
6.4.2数据模型设计 167
6.4.3控制模型设计 170
6.5详细设计软件体系结构阶段 172
6.5.1 业务过程建模 172
6.6验证和变更管理 183
6.6.1针对规格说明的验证 184
思考题六 188
7.1文档化的必要性 189
第7章文档化体系结构 189
7.1.1系统文档 190
7.1.2用户文档 192
7.2.1文档化体系结构的必要性 192
7.2文档化软件体系结构 192
7.2.2文档化体系结构的基本规则 193
7.2.3体系结构文档化的实施 194
思考题七 196
8.1评估体系结构的原因 197
第8章软件体系结构评估 197
8.2.1 SAAM评估方法 198
8.2软件体系结构评估的方法 198
8.2.2 ATAM评估方法 202
8.2.3评估方法的比较 208
8.3.1参与者 209
8.3体系结构评估 209
8.3.2考察的质量属性 210
8.4.1准备工作 214
8.4软件体系结构评估实例 214
8.4.4 BCS评估的结果 222
8.5 小结 223
思考题八 224
第9章案例分析与设计 225
9.1 了解系统总体需求并确定风格 225
9.2获取和表示需求 226
9.2.1识别参与者 227
9.2.2识别用例 227
9.2.3用例的事件流描述 229
9.3 需求到构件的映射 231
9.4需求的动态行为表示 234
9.5.2对象模型向数据库表的映射规则 243
9.5.1数据库模式要面向应用系统 243
9.5模型到数据库的映射 243
9.5.3数据库的映射和逐步细化过程的分层描述 244
9.6.1细化的步骤 246
9.6细化体系结构 246
9.6.2构件设计 247
9.6.3连接件设计 248
9.7合理布局软件体系结构各组成要素 249
9.8验证软件体系结构的正确性 251
思考题九 251
第10章 网络环境下的软件体系结构 255
10.1分布式软件体系结构 255
第三篇发展篇 255
10.1.1 局域网文件服务器体系结构 256
10.1.2客户/服务器体系结构 257
10.1.4分布式软件体系结构风格 258
10.13基于Web的体系结构 258
10.2.1引言 260
1 0.2 公共对象请求代理结构CORBA 260
10.2.2 CORBA基本组成与框架 261
10.2.3运行机制 263
10.2.4CORBA体系结构的动态性与适应性分析 263
10.3对等结构 264
10.3.1 对等结构简介 264
10.3.2 对等结构的关键技术和特性 264
10.3.3 对等结构的应用 265
10.3.4 对等结构的问题 267
1 O.4 Web服务(Web Services) 269
10.4.2 Web Services的软件体系结构 269
10.4.1 Web Services的产生背景 269
1 0.4.4基于J2EE 的Web Services体系结构 273
10.4.3 Web Services的运行机制 273
10.4.5 Web Services的开发生命周期 275
10.4.6 Web Services体系结构分析 276
10.4.7面向服务的体系结构SOA 277
思考题十 281
第1 1章 多Agent系统的动态软件体系结构 282
1 1.1 多Agent系统 282
11.1.1多Agent系统简介 282
11.1.2多Agent系统的特征 283
11.1.3多Agent系统体系结构的描述方法 285
1 1.2.1 FIPA规范的体系结构 286
11.2典型的多Agent系统体系结构 286
1 1.2.2 OMG体系结构 289
1 1.2.3其他体系结构 290
1 1.3 多Agent系统应用实例分析 291
11.3.1 远程会议预约系统——一种典型的分布式协作 292
11.3.2基于JADE平台的实例系统开发 295
1 1.3.3 Web Agent——被广泛应用的一种小型Agent系统 304
思考题十一 305
第1 2章 网格动态体系结构 306
1 2.1 基本概念 306
1 2.2五层沙漏结构 307
12.2.1基本思想 307
12.2.2软件体系结构描述 308
12.3.1基本思想 311
12.3.2软件体系结构描述 312
12.3.3动态性分析 314
12.4网格软件体系结构动态性实例分析 315
12.4.2软件体系结构描述 317
12.4.3基于软件体系结构的适应性 318
思考题十二 321
参考文献 322