《软件体系结构教程》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:李代平等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2008
  • ISBN:9787302168560
  • 页数:441 页
图书介绍:本书介绍软件体系结构的构成,理论和描述与评估方法。

第1章 绪论 1

1.1 当前软件工程的分析 1

1.1.1 软件危机的出现 1

1.1.2 软件危机的成因 1

1.1.3 如何克服软件危机 2

1.2 什么是软件体系结构 3

1.3 对软件体系结构定义的不同观点 4

1.4 软件体系结构的重要性 5

1.4.1 利于复杂软件的系统理解 5

1.4.2 利于系统设计早期决策 6

1.4.3 利于软件高层性质分析 7

1.5 软件体系结构的意义 7

1.5.1 对系统分析的意义 7

1.5.2 对软件复用的意义 8

1.5.3 对系统演化的意义 9

1.5.4 在软件开发中的意义 9

1.6 软件体系结构的发展历史 12

1.7 应用现状及发展方向 13

1.7.1 应用现状 13

1.7.2 研究热点 16

1.7.3 发展方向 17

第2章 软件体系结构 19

2.1 软件体系结构的概念 19

2.1.1 软件体系结构的定义及分类 19

2.1.2 软件体系结构的三要素 23

2.1.3 构件的概念及特点 25

2.1.4 连接件的概念及特点 26

2.1.5 约束(配置) 27

2.2 软件体系结构研究范畴 27

2.2.1 描述语言 29

2.2.2 体系结构风格 30

2.2.3 风格、框架和设计模式 30

2.2.4 提供特定领域的体系结构框架 31

2.2.5 软件体系结构的形式化研究 32

2.2.6 软件体系结构的评价方法 32

2.3 软件体系结构与其他软件工程方法的关系 32

2.3.1 传统软件开发方法 33

2.3.2 面向对象方法 33

2.3.3 软件复用 33

2.4 动态体系结构研究 34

2.4.1 产生的背景 34

2.4.2 动态体系结构建模问题 35

2.4.3 πADL动态体系结构建模方法 35

2.4.4 相关研究 36

2.5 体系结构精化研究 36

2.5.1 体系结构精化问题 37

2.5.2 πADL体系结构行为精化 37

2.5.3 相关研究 40

2.6 体系结构实现的研究 41

2.6.1 面临的问题 41

2.6.2 相关研究 42

2.7 构件接口模型 43

2.7.1 构件接口模型介绍 43

2.7.2 体系结构领域构件的特点 44

2.7.3 CBSD领域构件的特点 44

2.7.4 定制端口和交互端口的分析 44

2.7.5 端口和接口嵌套定义的分析 45

2.8 体系结构的分析和设计方法 45

2.8.1 体系结构分析方法 45

2.8.2 体系结构设计方法 49

第3章 软件体系结构模式 51

3.1 管道-过滤器 51

3.2 层次结构 52

3.3 数据抽象与面向对象 53

3.4 事件驱动 54

3.5 仓储结构 54

3.6 特定域软件体系结构 55

3.7 过程控制 55

3.8 C2风格 56

3.9 分布式结构 57

3.10 基于事件的隐式调用 58

3.11 客户端/服务器结构 59

3.12 正交软件体系结构 60

3.13 三层C/S体系结构 61

3.14 C/S与B/S混合软件体系结构 62

3.15 异构的体系结构 63

3.16 Actor模型 64

3.17 软件体系结构风格ABSA 64

3.17.1 ABSA结构 64

3.17.2 ABSA组件 65

3.17.3 ABSA连接器 66

3.17.4 ABSA的形式化 67

3.17.5 用ABSA组成的系统的描述 69

3.17.6 ABSA与管道-过滤器风格的关系 71

3.17.7 ABSA与分布式对象标准的关系 72

3.17.8 体系结构与应用框架、设计样本的关系 72

3.17.9 ABSA在Internet计算中的应用 73

3.17.10 ABSA在移动代理中的应用 74

3.18 软件体系结构体系 76

3.18.1 软件体系结构体系的现状 76

3.18.2 软件体系结构体系的分类 76

3.18.3 软件体系结构体系的实例分析 77

第4章 软件体系结构描述 86

4.1 描述软件体系结构方法 86

4.1.1 SADL 87

4.1.2 Rapide 87

4.1.3 C2 88

4.1.4 ACME 88

4.1.5 JB/HMB 88

4.2 体系结构描述语言 89

4.2.1 Wright 90

4.2.2 UniCon 92

4.2.3 CHAM 93

4.3 超文本标记语言 97

4.3.1 XML标准 97

4.3.2 XML的应用领域 99

4.3.3 XML与软件体系结构描述 99

4.4 UML与XML相结合描述软件体系结构 100

4.5 使用视图描述软件体系结构 100

4.6 描述方法比较 101

4.7 三层C/S模型的由来 102

4.8 三层C/S模型的基本结构 103

4.9 XYZ/ADL描述框架 104

4.10 XYZ/ADL的体系结构 106

4.11 体系结构框图表示 108

4.12 XYZ/ADL形式化文本语法及语义 109

4.12.1 简单组件 109

4.12.2 连接件 112

4.12.3 复合组件 113

4.12.4 体系结构风格 115

4.12.5 一个例子 117

4.13 形式化描述体系结构风格 120

4.13.1 静/动态结构建模 120

4.13.2 行为建模 122

4.13.3 资源利用建模 123

4.13.4 模型的集成 123

第5章 软件体系结构建模理论 124

5.1 框架 125

5.1.1 框架的提出 125

5.1.2 框架在软件体系结构中的作用 126

5.1.3 框架搭建的难点 126

5.2 模式 127

5.2.1 模式的产生与发展历程 127

5.2.2 模式的分类 127

5.2.3 模式在软件工程中的作用 128

5.3 框架与模式的关系 128

5.3.1 框架和模式的区别 128

5.3.2 如何利用模式构建系统框架 128

5.4 自适应的软件体系结构模型 129

5.4.1 SASAM 130

5.4.2 SASAM体系结构风格 130

5.4.3 自适应策略 134

5.4.4 SASAM动态重配置 137

5.4.5 SASAM动态重配置模型 138

5.5 基于CCM的软件体系结构模型 139

5.5.1 软件体系结构模型的组成部分 139

5.5.2 模型的优点 140

5.5.3 软件体系结构模型的描述语言(ADL) 140

5.5.4 实例分析 144

5.6 软件计算模式 145

5.6.1 事件 146

5.6.2 结构化计算模式 146

5.6.3 对象式计算模式 147

5.6.4 混合计算模式 148

5.7 软件体系结构异构模式 145

5.7.1 对象与结构化异构 148

5.7.2 构件拓扑异构 149

5.8 “4+1”视图模型 149

5.8.1 逻辑视图 149

5.8.2 开发视图 149

5.8.3 进程视图 149

5.8.4 物理视图 150

5.8.5 场景 150

5.9 层次结构模型 150

5.9.1 基于层次的模型结构 150

5.9.2 软件体系结构的层次模型 153

第6章 软件体系结构设计原理 155

6.1 体系结构的设计 155

6.1.1 一般设计原理 155

6.1.2 软件的非功能特性 161

6.2 结构设计方法的元模型 162

6.3 体系结构设计方法的分析 163

6.3.1 工件驱动的方法 163

6.3.2 用例驱动的方法 165

6.3.3 领域驱动的体系结构设计方法 166

6.3.4 模式驱动的方法 168

6.4 设计模式 170

6.4.1 创建型模式 170

6.4.2 结构型模式 173

6.4.3 行为型模式 173

6.5 软件过程模型 175

6.5.1 线性顺序模型 175

6.5.2 原型实现模型 175

6.5.3 RAD模型 176

6.5.4 演化软件过程模型 177

6.5.5 基于构件的开发模型 177

6.5.6 形式化方法模型 177

6.6 形式化到非形式化(半形式化) 177

6.7 体系结构设计的过程 178

6.8 异构软件体系结构的形式化基础 180

6.9 异构软件体系结构设计原则 180

6.9.1 抽象原则 181

6.9.2 模块化原则 181

6.9.3 信息隐蔽和局部化原则 181

6.9.4 模块独立原则 181

6.9.5 并行性原则 182

6.9.6 可重用原则 182

6.10 对象与结构化异构体系结构设计 182

6.10.1 结构化方法与OO方法的联系 183

6.10.2 对象与结构化异构设计过程 184

6.11 构件拓扑异构结构设计 185

6.11.1 结构化拓扑异构设计 185

6.11.2 对象拓扑异构设计 186

6.12 软件辅助设计系统 187

6.13 异构体系结构设计中的重用 189

6.13.1 软件重用定义、级别及代价估算 189

6.13.2 软件重用策略 190

6.14 实例分析 191

6.14.1 实例说明 191

6.14.2 图书馆管理系统的体系结构设计与分析 191

第7章 用UML描述软件体系结构 200

7.1 标准建模语言UML 200

7.1.1 标准建模语言UML的出现 200

7.1.2 标准建模语言UML的内容 201

7.1.3 UML基本图符 203

7.1.4 标准建模语言UML的主要特点 207

7.1.5 标准建模语言UML的应用领域 207

7.2 标准建模语言UML的静态建模机制 208

7.3 标准建模语言UML的动态建模机制 211

7.4 UML的扩展建模机制 213

7.4.1 软件体系结构元素到UML元素映射规则 214

7.4.2 软件体系结构在UML中的描述 215

7.4.3 基于UML的软件体系结构元模型 216

7.5 UML在软件体系结构建模中应用实例 216

7.5.1 用UML对部件交互模式进行静态建模 216

7.5.2 用UML对部件交互模式进行动态建模 218

7.5.3 部件交互模式的复用 220

7.6 UML的评价 220

7.6.1 UML成功的因素 220

7.6.2 UML的积极作用 221

7.6.3 UML存在的缺点与问题 222

7.6.4 从U2P提案看UML的未来 228

7.7 六视图描述 229

7.7.1 用六视图描述软件体系结构 229

7.7.2 用UML来描述体系结构 232

7.7.3 UML对软件体系结构的支持 233

7.7.4 基于UML的体系结构描述方法 234

7.8 多体系结构视图 237

7.8.1 体系结构描述视点 237

7.8.2 扩展UML元模型的基本思路 238

7.8.3 逻辑视图 239

7.8.4 行为视图 245

7.8.5 框架视图 248

7.8.6 数据视图 248

7.8.7 集成视图 249

7.8.8 开发视图 249

7.8.9 功能视图 249

7.8.10 体系结构描述特征的实现 250

7.9 体系结构描述的相关标准 251

第8章 需求到软件体系结构的方法 253

8.1 从需求到体系结构的设计 253

8.2 RTRSM的基本元素 256

8.2.1 状态转换图 257

8.2.2 模板 258

8.2.3 规则集 259

8.3 RTRSM同Statecharts的比较 260

8.4 实例分析 261

8.5 从RTRSM到体系结构的转换步骤 263

8.5.1 描述系统的功能单元 264

8.5.2 描述连接件 265

8.5.3 描述软件的配置 266

8.6 基于软件体系结构的软件开发方法 266

8.6.1 软件体系结构的开发过程 266

8.6.2 分布式对象技术 266

8.6.3 体系结构与分布式对象结合开发方法 267

8.7 软件体系结构求精方法 269

8.7.1 行为替代的体系结构求精方法 270

8.7.2 基于风格的体系结构求精方法 270

8.7.3 构件体系结构求精方法 271

8.7.4 形式化方法与Z语言 272

8.7.5 UML和Z结合的求精方法 275

8.8 一种新的软件体系结构设计方法 279

8.8.1 体系结构需求和软件体系结构 279

8.8.2 新的软件体系结构设计过程 282

第9章 面向对象体系结构 284

9.1 体系结构的标记法 284

9.2 流程处理系统 285

9.3 客户端/服务器系统 286

9.3.1 客户端/服务器系统 286

9.3.2 基于MVC的网上应用系统 286

9.4 层状系统 287

9.4.1 层状系统简介 287

9.4.2 以服务对象分层 287

9.5 三级和多级系统 288

9.5.1 三级系统 288

9.5.2 多级系统 289

9.6 代理 289

9.7 联邦和聚合体系 290

9.7.1 联邦体系结构 290

9.7.2 聚合体系结构 291

9.8 体系结构的样式 291

9.8.1 案例:自动柜员机系统软件 293

9.8.2 案例:租借公司 293

9.8.3 案例:共用讨论板 295

9.8.4 案例:EJB的架构 298

第10章 软件体系结构的质量分析 304

10.1 软件质量与体系结构 304

10.1.1 质量属性 304

10.1.2 体系结构对软件质量的影响 305

10.1.3 体系结构质量评价的目标 305

10.1.4 体系结构质量评价的主要方式 305

10.1.5 主要技术 307

10.2 软件体系结构的构成要素 309

10.2.1 体系结构应实现的技术能力 310

10.2.2 体系结构应实现的非功能属性 312

10.3 设计模式的体系结构质量分析 313

10.3.1 结构化分解设计模式 314

10.3.2 任务组织的设计模式 316

10.3.3 访问控制的设计模式 317

10.3.4 管理者的设计模式 318

10.3.5 通信的设计模式 320

10.4 体系结构模式质量分析的实证 323

10.4.1 活动机器人的软件系统 323

10.4.2 设计时的考虑要素 323

10.4.3 过程控制环路模式 324

10.4.4 分层架构模式 325

10.4.5 基于事件的隐式调用模式 326

10.4.6 黑板体系模式 327

10.4.7 模式比较 328

第11章 体系结构配置研究 329

11.1 配置相关研究 329

11.2 端口组装 329

11.3 构件组装机制 331

11.4 构件组装描述方法 332

11.4.1 构件组装的图形描述 332

11.4.2 构件组装的文本描述 333

11.5 行为组装推导 335

11.5.1 行为组装推导问题 335

11.5.2 行为推导算法基础 336

11.5.3 行为推导算法函数 337

11.5.4 行为组装推导算法 338

11.6 复合连接件的研究 340

第12章 软件体系结构性能 341

12.1 软件度量的基本理论 341

12.2 软件质量度量的方法论 342

12.3 软件体系结构质量属性 342

12.4 动机 343

12.5 排队理论 344

12.5.1 稳定状态下的数据流 345

12.5.2 排队网络 348

12.6 应用排队理论的基础 349

12.6.1 性能属性分析 349

12.6.2 网络相似性 349

12.6.3 应用排队理论分析计算机网络 350

12.7 提取体系结构进程视图 350

12.8 性能分析过程 352

12.9 使用排队理论分析体系结构性能 353

12.10 实例分析 354

12.10.1 语境中的关键词系统 354

12.10.2 性能分析 355

第13章 软件体系结构评估方法 358

13.1 体系结构折中分析方法 358

13.2 场景的体系结构分析方法 359

13.3 体系结构再工程方法 360

13.4 可维护性预测方法 360

13.5 结构评估模型方法 361

13.6 软件体系结构的性能评价 362

13.6.1 基于“场景”的评价方式 363

13.6.2 基于度量的评价方式 363

13.6.3 进一步的研究 364

13.7 体系结构的评价指标体系 364

13.7.1 从需求角度 365

13.7.2 从开发角度 366

13.7.3 从项目管理角度 368

13.7.4 评价指标间的相关性 368

13.8 体系结构的评价体系 369

13.8.1 单个指标评价 370

13.8.2 单个体系结构的整体评价 377

13.8.3 多个体系结构的整体评价 378

13.9 常见风格与评价 379

13.10 形成风格评价矩阵 384

13.10.1 评价矩阵指标集的确定 384

13.10.2 建立风格的评价矩阵 385

13.11 基于评价矩阵风格的选取 385

13.11.1 选取方法 385

13.11.2 实例试验 386

第14章 Oracle体系结构 389

14.1 Oracle体系结构概述 389

14.2 Oracle文件 390

14.2.1 数据库文件 391

14.2.2 控制文件 392

14.2.3 重做日志文件 394

14.3 进程 394

14.3.1 进程结构 394

14.3.2 用户进程 395

14.3.3 Oracle进程 396

14.4 内存结构 400

14.4.1 系统全局区 400

14.4.2 程序全局区 402

14.5 数据字典 402

14.6 事务管理 403

14.6.1 事务管理概述 403

14.6.2 Oracle的事务管理 403

14.6.3 事务剖析 405

14.7 数据库和实例的启动和关闭 406

14.7.1 数据库和实例的启动 406

14.7.2 数据库和实例的关闭 406

14.8 并行服务器数据库 407

14.8.1 理解并行服务器的优点 407

14.8.2 单实例与并行服务器数据库比较 408

14.9 分布式数据库 409

14.9.1 理解分布式数据库 409

14.9.2 使用分布式数据库 411

14.9.3 分布式数据库全局名与数据库链 411

14.9.4 表快照 412

14.10 Oracle 9i系统的高可用性 413

第15章 网格体系结构 416

15.1 网格 416

15.2 网格体系结构 417

15.3 开放网格服务体系结构 419

15.3.1 OGSA的基本思想 419

15.3.2 OGSA体系结构分析 420

15.3.3 OGSI规范 421

15.3.4 OGSA的安全体系结构 423

15.3.5 OGSA的两大关键技术 424

15.4 网格体系结构的比较 425

15.5 Globus Toolkit 3体系结构分析 425

15.5.1 Globus及Globus Toolkit简介 425

15.5.2 Globus系统结构 427

15.5.3 GT3的核心体系结构 428

15.5.4 GT3核心体系结构细节 429

15.5.5 GT3的高层基础服务 431

15.6 GT3的安全实现 437

15.6.1 基于GSI的Web Service安全 437

15.6.2 传输层的GSI 437

参考文献 438