《软件体系结构设计》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:李千目,许满武,张宏等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2008
  • ISBN:9787302162315
  • 页数:382 页
图书介绍:本书对软件体系结构的原理,应用和设计做了介绍。

第一篇 基础篇:软件体系结构的理论第1章 绪论 3

1.1 软件体系结构的概念演化 4

1.1.1 软件体系结构的定义 5

1.1.2 软件体系结构的理论基础 9

1.2 软件体系结构形式化方法概述 11

1.2.1 基于CHAM的体系结构形式规约 12

1.2.2 基于Z语言的体系结构形式规约 12

1.2.3 基于一阶逻辑的体系结构形式规约 12

1.2.4 基于图论的体系结构形式规约 13

1.2.5 目前形式化方法存在的问题 13

1.3 软件体系结构描述语言概述 13

1.4 软件质量与质量模型 16

思考题 18

第2章 软件建模的基础 19

2.1 一个简单例子 19

2.2 面向对象特性 21

2.2.1 封装性 21

2.2.2 继承性 23

2.2.3 多态性 24

2.3 接口 25

2.4 设计原则 26

2.4.1 SRP单一职责原则 27

2.4.2 OCP开闭原则 28

2.4.3 LSP里氏替换原则 29

2.4.4 ISP接口分离原则 30

2.4.5 DIP依赖倒置原则 30

2.5 UML2的各种图 32

2.6 需求建模:用例 34

2.6.1 一个用例图例子 34

2.6.2 用例与参与者 34

2.6.3 用例图 35

2.6.4 用例间关系 36

2.6.5 用例对需求建模 38

2.7 基本结构建模 39

2.7.1 一个类图例子 39

2.7.2 性质 40

2.7.3 对象图 44

2.7.4 操作 46

2.7.5 接口 50

2.7.6 关系 53

2.7.7 关系建模 67

2.7.8 类图 68

2.8 高级结构建模 69

2.8.1 公共扩展机制 69

2.8.2 包和包图 72

2.8.3 复合结构 74

2.8.4 模板 77

2.9 Kruchten 4+1模型描述软件体系结构 81

2.9.1 逻辑视图:面向对象的分解 82

2.9.2 过程视图:过程分解 83

2.9.3 开发视图:子系统分解 85

2.9.4 物理视图:从软件到硬件的映射 86

2.9.5 场景视图:汇总 88

2.9.6 视图间的交流 89

2.9.7 模型的迭代过程和软件文档 91

思考题 92

第3章 软件体系结构的形式化 94

3.1 软件的生命周期 95

3.2 基于抽象代数的形式化方法 99

3.2.1 构件 100

3.2.2 连接件 102

3.2.3 软件体系结构 102

3.2.4 软件体系结构关系 103

3.2.5 软件体系结构范式 104

3.3 基于粒度计算的形式化方法 106

3.3.1 软件体系结构演化 108

3.3.2 属性合成和跟踪 110

3.3.3 软件体系结构多视图表达及集成 111

3.3.4 软件体系结构风格和软件体系结构风格发现 112

3.4 基于π演算的形式化方法 113

3.4.1 π演算基本语法 114

3.4.2 π演算约简关系 115

3.4.3 π演算迁移关系 116

3.5 动态软件体系结构的形式化描述:化学抽象机 118

3.5.1 化学抽象机模型 118

3.5.2 软件体系结构描述 118

思考题 121

第4章 软件体系结构的风格 122

4.1 管道和过滤器风格 123

4.2 仓库风格和黑板风格 126

4.3 事件驱动风格 128

4.4 客户机-分配器-服务器风格 132

4.5 分层系统风格 133

4.6 解释器 136

4.7 面向服务的体系结构 136

4.7.1 面向服务体系结构中的组成元素 138

4.7.2 面向服务体系结构的设计原则 141

4.8 过程控制环路模式 143

思考题 144

第5章 体系结构描述语言 146

5.1 典型ADL 146

5.1.1 C2概述 146

5.1.2 Darwin与Wright概述 151

5.1.3 ACME概述 152

5.1.4 UniCon概述 159

5.1.5 Aesop概述 161

5.1.6 Rapide概述 162

5.1.7 MetaH 163

5.1.8 SADL概述 163

5.2 πADL的概述 167

5.2.1 πADL体系结构描述框架 168

5.2.2 πADL体系结构风格描述方法 171

5.3 πADL体系结构行为规约 172

思考题 173

第6章 软件质量建模方法 178

6.1 软件质量建模与分析 181

6.1.1 风险分析的基本概念 181

6.1.2 风险分析的基本方法 182

6.1.3 图形化建模语言 184

6.2 实证分析:软件体系结构的质量 190

6.2.1 地面智能机器人的软件系统 190

6.2.2 解决方案1:过程控制环路模式 191

6.2.3 解决方案2:分层架构模式 192

6.2.4 解决方案3:基于事件驱动的隐式调用模式 193

6.2.5 解决方案4:黑板体系模式 195

6.2.6 解决方案比较 196

思考题 196

第7章 设计模式 197

7.1 设计模式概述 197

7.2 设计模式的分类 197

7.3 创建型的设计模式 199

7.3.1 Factory 200

7.3.2 Prototype 201

7.3.3 Builder 202

7.3.4 Singleton 204

7.3.5 Adapter 205

思考题 207

第8章 战场环境中自适应服务的软件组合框架 210

8.1 服务的描述与特征 210

8.1.1 服务模型 211

8.1.2 服务事务处理 211

8.2 TSCF服务组合框架 212

8.2.1 TSCF框架 212

8.2.2 服务代理设计 215

8.2.3 服务组合协调 216

8.3 服务调度流程控制的应用实现 223

8.4 小结 224

思考题 225

第二篇 软件复用与构件库的设计 229

第9章 构件库研究现状 229

9.1 问题的提出 229

9.2 构件库研究现状 229

第10章 软件复用概述 231

10.1 软件复用的定义及复用驱动的软件过程 231

10.1.1 软件复用的定义及软件复用的实体 231

10.1.2 复用驱动的软件过程 232

10.2 软件复用的研究现状 233

10.3 软件复用的分类 234

10.3.1 按构件的透明程度进行分类 234

10.3.2 按构件粒度进行分类 234

10.4 软件复用关键因素 234

10.4.1 软件构件技术 234

10.4.2 领域工程 235

10.4.3 软件工厂 235

10.4.4 软件再工程 236

10.4.5 软件过程 237

10.4.6 开放系统 237

10.4.7 CASE技术 238

10.4.8 非技术因素 238

第11章 构件技术 239

11.1 构件的特点 240

11.1.1 构件的特点 241

11.1.2 构件的分类 241

11.2 软件构件技术规范 242

11.2.1 Microsoft的COM/DCOM/COM+ 242

11.2.2 OMG的CCM 244

11.2.3 SUN的EJB 246

11.3 构件描述模型 247

11.3.1 3C模型 248

11.3.2 REBOOT模型 248

11.3.3 青鸟构件模型 248

11.4 构件获取 249

11.5 构件管理 250

11.6 构件复用 254

11.7 运用体系结构进行构件组装 259

11.7.1 青鸟系统的构件组装方案 260

11.7.2 基于软件体系结构的构件组装 260

第12章 Web构件库实现 262

12.1 Web开发简述 262

12.2 Web构件库总体结构 264

12.3 Web应用的构件模型 265

12.4 构件库的具体实现 268

12.4.1 用户管理模块 268

12.4.2 构件入库模块 269

12.4.3 构件浏览模块 271

12.4.4 构件检索模块 272

12.4.5 构件组装模块 273

第三篇 软件规模的度量 277

第13章 软件规模度量研究现状 277

13.1 软件过程管理 277

13.2 软件规模度量 277

第14章 FPA方法 281

14.1 数据功能点(Data Function Point) 281

14.2 事务功能点(Transaction Function Point) 283

14.3 调整系数(Value Adjustment Factor) 287

14.4 怎样计算功能点 291

第15章 FPA方法的实际应用及其不足 292

15.1 实例项目简介 292

15.2 招标管理模块 293

15.3 预算管理模块 297

15.4 开发管理模块 301

15.5 调整系数以及调整功能点的计算 305

15.6 传统FPA方法的不足 306

15.6.1 关于几个复杂性对照表,以及功能点换算表 306

15.6.2 关于一般系统特性(GSC) 307

15.6.3 关于涉及算法复杂度较高的画面的评估 307

第16章 FPA方法的改进 308

16.1 对传统FPA方法的功能点计算矩阵的改进 308

16.1.1 传统FPA方法的功能点计算矩阵 308

16.1.2 函数逼近问题,二元函数插值 309

16.1.3 利用二元函数插值对功能点计算矩阵进行改进 310

16.2 对一般系统特性GSC的改进 310

16.3 对有较高算法复杂度画面的分析所存在的问题的改进 311

16.4 针对B/S结构下Web站点开发类型的项目的改进 311

16.4.1 关于DET、RET 311

16.4.2 关于ILF、EIF、FTR 312

16.4.3 关于数据功能点和事务功能点换算表的改进 312

第17章 改进后FPA方法的应用及实例试验 315

17.1 招标管理模块 315

17.1.1 改进后评标情况详细画面功能点计算 315

17.1.2 改进后招标管理模块功能点计算 316

17.2 预算管理模块 316

17.2.1 改进后数据功能点计算画面功能点计算 316

17.2.2 改进后预算管理模块功能点计算 317

17.3 开发管理模块 317

17.3.1 改进后项目组管理画面功能点计算 317

17.3.2 改进后开发管理模块功能点计算 318

17.4 改进前后对比 318

17.5 对比结论 319

第四篇 软件的性能抗衰 323

第18章 软件的性能问题与抗衰技术 323

18.1 软件性能衰退 326

18.2 性能保持与恢复技术 326

18.2.1 性能恢复技术 327

18.2.2 软件抗衰技术 327

第19章 新型软件抗衰策略 329

19.1 国内外研究现状 329

19.1.1 基于时间的软件抗衰策略 329

19.1.2 基于检测的软件抗衰策略 330

19.1.3 基于时间与负载的软件抗衰策略 331

19.2 基于特定失效概率的软件抗衰策略 332

19.2.1 基于特定失效概率确定重启间隔 332

19.2.2 基于特定失效概率的停机时间与成本分析 333

19.3 基于时间与检测的软件抗衰策略 334

19.3.1 基于时间与检测的软件抗衰策略概述 334

19.3.2 策略的停机时间与抗衰成本分析 334

19.3.3 3种策略的抗衰成本比较 335

19.3.4 案例分析 336

第20章 细粒度软件抗衰策略研究 338

20.1 国内外研究现状 338

20.1.1 异常检测算法 338

20.1.2 软件抗衰策略的实施粒度 339

20.2 计算系统的衰退规律分析 339

20.2.1 基于Haar小波变换的数据平滑 339

20.2.2 性能衰退的检测指标 340

20.2.3 性能衰退规律评价 341

20.2.4 概率分布函数的确定 341

20.3 细粒度软件抗衰策略 343

20.3.1 抗衰粒度的确定 343

20.3.2 建立重启链 343

20.3.3 各级对象间的嵌套重启关系 344

第21章 细粒度重启技术研究 347

21.1 国内外研究现状 347

21.2 重启相关性分析 348

21.2.1 软件体系结构与模块间的耦合性 348

21.2.2 重启相关性的分类和性质 349

21.2.3 重启相关度与重启相关性判定 350

21.3 重启群与重启树的构建 352

21.3.1 重启群 353

21.3.2 重启树的构建 353

21.3.3 重启的实施 355

21.4 小结 358

第22章 细粒度软件抗衰策略模型研究 359

22.1 国内外研究现状 359

22.2 单次抗衰过程的Petri网描述 360

22.3 细粒度软件抗衰策略的自动机描述 362

22.3.1 有限状态自动机定义 362

22.3.2 TMSRP的自动机描述 362

22.3.3 DMSRP的自动机描述 367

22.4 细粒度软件抗衰策略的实施过程模型 369

附录A 缩略词及中英文词汇对照 372

附录B 软件体系结构支持工具 375

参考文献 378