图书介绍

软件架构设计实践教程PDF|Epub|txt|kindle电子书版本下载

软件架构设计实践教程
  • 张家浩编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302366379
  • 出版时间:2014
  • 标注页数:511页
  • 文件大小:261MB
  • 文件页数:529页
  • 主题词:软件设计-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

软件架构设计实践教程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 认识软件架构1

1.1 软件架构与软件工程1

1.1.1 软件产业的工业化与现代化1

1.1.2 软件系统的复杂性2

1.1.3 克服“软件危机”的进程3

1.1.4 现代软件产业发展的时代特征4

1.1.5 国内软件产业发展的问题6

1.1.6 软件架构与软件工程课程的关系7

1.1.7 本课程的参考书7

1.2 软件架构概述8

1.2.1 软件架构的定义8

1.2.2 软件架构的视角9

1.2.3 软件架构的表示方法10

1.2.4 架构的一般特性10

1.2.5 统一过程(RUP)的架构13

1.3 感受身边的架构存在13

1.3.1 电灯开关控制系统的架构13

1.3.2 鼠标接口的架构14

1.4 两个小程序的架构分析15

1.4.1 两个小程序15

1.4.2 “欢迎”程序的实现过程16

1.4.3 小程序的架构实现小结19

1.5 实践与思考19

1.5.1 实践题19

1.5.2 思考题20

第2章 架构与架构师的作用21

2.1 架构是需求将如何被实现的描述22

2.1.1 文件传输软件的架构描述与分析22

2.1.2 文件传输软件的新需求及其改进方案25

2.1.3 架构描述表达了系统必须实现的需求26

2.1.4 架构描述表达了软件系统的实现结构27

2.2 架构提供满足关键属性需求的方案29

2.2.1 汽车控制系统架构演变的案例分析29

2.2.2 软件系统的关键质量属性需求33

2.2.3 关键质量属性需求与系统功能的正交性34

2.3 架构是软件迭代开发的框架36

2.3.1 架构是软件迭代开发的框架36

2.3.2 软件产品开发对架构的依赖39

2.4 架构是软件过程管理的基础40

2.4.1 软件过程可视性与软件架构40

2.4.2 软件过程管理的基本内容42

2.4.3 微软VSTS的软件过程跟踪47

2.4.4 将架构的关键构件设定为基线51

2.5 软件过程对架构的反作用52

2.5.1 需求影响架构53

2.5.2 系统设计影响架构54

2.5.3 软件过程影响架构55

2.5.4 组织影响架构56

2.5.5 架构的反作用56

2.6 软件架构师的作用、任务与责任58

2.6.1 架构师的作用58

2.6.2 架构师的任务与责任58

2.6.3 从编码工程师到架构师59

2.7 实践与思考60

2.7.1 实践题60

2.7.2 思考题60

第3章 软件架构的描述与可视化61

3.1 架构描述与UML架构视图61

3.1.1 架构描述的基本考虑63

3.1 .2基于UML4+1的软件架构视图64

3.2 绘制软件架构视图68

3.2.1 用Visio 2007绘制架构视图68

3.2.2 用Rational Rose 2003绘制架构视图72

3.2.3 用VS 2010绘制架构视图73

3.2.4 架构师的思考76

3.3 使用Rational Rose逆向分析工具分析架构77

3.3.1 Rational Rose逆向分析工具概述77

3.3.2 对C++项目进行架构逆向分析78

3.3.3 “欢迎”程序架构的逆向分析82

3.3.4 架构师的思考83

3.4 用微软VS 2010逆向分析工具分析架构86

3.4.1 微软VS 2010逆向分析工具概述86

3.4.2 使用VS 2010对五子棋程序进行架构逆向分析90

3.4.3 “五子棋”系统架构的逆向分析94

3.4.4 架构师的思考99

3.5 架构设计阶段的软件工程文档101

3.5.1 系统设计规范的内容101

3.5.2 规范系统设计活动过程101

3.5.3 规范设计的制品104

3.5.4 需要编写哪些架构视图和文档105

3.5.5 透过架构视图表现架构设计的核心内容106

3.6 实践与思考108

3.6.1 实践题108

3.6.2 思考题108

第4章 从需求到架构109

4.1 架构师的需求过程110

4.1.1 现代软件工程的需求过程110

4.1 .2需求获取阶段与架构师的关注点111

4.1.3 需求分析阶段与架构师的关注点114

4.1 .4需求处理阶段与架构师的关注点116

4.1.5 需求评审阶段与架构师的关注点119

4.2 需求转换的面向过程方法121

4.2.1 理解需求模型的概念与意义122

4.2.2 面向过程的需求建模方法123

4.2.3 面向过程的需求转换124

4.2.4 面向过程的变换流与事物流转换125

4.2.5 采用变换流方法的案例分析128

4.2.6 采用UC矩阵方法的案例分析132

4.2.7 面向过程需求转换方式的弊端135

4.3 认识和理解需求分析的OMT模型138

4.3.1 面向过程与面向对象的区别138

4.3.2 基于UML用例的业务建模139

4.3.3 基于UML的类与对象建模140

4.3.4 基于UML的动态建模146

4.3.5 基于UML的功能建模147

4.3.6 电梯控制系统的OMT模型描述与分析148

4.4 面向对象的需求转换方法150

4.4.1 面向对象转换的一般概念150

4.4.2 从需求模型到物理架构152

4.4.3 从需求模型到开发和运行架构155

4.4.4 从需求模型到逻辑架构和数据架构155

4.4.5 电梯控制系统的5个架构分析158

4.5 ATM扩展项目的需求转换过程163

4.5.1 ATM基本系统163

4.5.2 ATM扩展的需求获取166

4.5.3 ATM扩展需求的现状与对策分析169

4.5.4 ATM扩展需求的架构规划178

4.5.5 ATM扩展需求的架构设计与平衡181

4.6 软件架构师的需求参与184

4.6.1 需求与架构衔接阶段的角色扮演184

4.6.2 架构师参与需求深度的“底线”185

4.6.3 需求与架构平衡的“底线”185

4.7 实践与思考186

4.7.1 实践题186

4.7.2 思考题187

第5章 软件架构设计的参考模型188

5.1 传统系统设计的基本思路和思想方法189

5.1.1 传统系统设计的思路189

5.1.2 抽象与求精的设计方法194

5.1.3 模块松耦合与强内聚的追求198

5.2 两种典型软件系统的架构模式分析202

5.2.1 开放式系统互连参考模型架构的层次模式202

5.2.2 操作系统架构的层次模式205

5.2.3 两种系统架构模式的比较与借鉴208

5.3 其他典型软件架构模型及其参考意义209

5.3.1 流程处理系统209

5.3.2 客户/服务器系统210

5.3.3 层状系统212

5.3.4 三级和多级系统212

5.3.5 团聚和串行法213

5.3.6 代理214

5.3.7 聚合和联邦系统215

5.4 实践与思考216

5.4.1 实践题216

5.4.2 思考题216

第6章 软件架构的概要设计与实现217

6.1 软件架构概要设计的任务与过程217

6.1.1 系统概要设计的任务217

6.1.2 系统概要设计的意义218

6.1.3 面向结构的系统概要设计过程219

6.1.4 面向对象的系统概要设计过程220

6.2 软件系统概要设计的子系统设计222

6.2.1 子系统的含义与特性222

6.2.2 子系统所包含的内部组件223

6.2.3 基于网络拓扑结构的子系统划分225

6.2.4 基于责任层次的子系统划分229

6.2.5 基于状态转换的子系统划分232

6.2.6 子系统的其他划分方法236

6.2.7 子系统划分中的关注点分离237

6.2.8 将子系统分配到硬件238

6.3 电梯控制系统的概要设计与实现240

6.3.1 需求模型中的子系统划分与疑问240

6.3.2 选择适合电梯控制系统的架构模型241

6.3.3 电梯控制子系统划分的关键因素与分离点243

6.3.4 根据实时与并发特性划分子系统245

6.3.5 将逻辑子系统与物理子系统对应起来246

6.3.6 电梯控制系统的实现与测试验收247

6.3.7 电梯控制系统概要设计效果的检验251

6.4 实践与思考252

6.4.1 实践题252

6.4.2 思考题252

第7章 基于接口、组件和SOA的架构设计与实现253

7.1 接口设计与实现254

7.1.1 接口的基本概念254

7.1.2 抽象类继承与接口继承257

7.1.3 面向接口编程与面向接口设计260

7.1.4 面向接口设计的实现案例与分析262

7.1.5 理解面向接口的设计273

7.2 软件架构设计的模式与风格275

7.2.1 设计模式275

7.2.2 风格276

7.2.3 框架276

7.2.4 行业应用框架277

7.2.5 模式、风格与框架的区别277

7.3 面向对象的设计模式278

7.3.1 从软件架构到设计模式278

7.3.2 创建型设计模式279

7.3.3 创建型设计模式应用实例分析288

7.3.4 设计模式的选择与运用思路294

7.4 组件与组件的运用295

7.4.1 组件概念与.COM组件的基本特性295

7.4.2 使用普通DLL实现的应用程序案例300

7.4.3 使用WMP的COM组件实现媒体播放器302

7.4.4 理解WMP组件的对象模型304

7.4.5 一般COM组件的实现与使用307

7.4.6 使用ATL工具开发COM组件320

7.4.7 基于组件的架构设计326

7.5 基于SOA的分布式系统设计体验331

7.5.1 SOA的概念与架构设计331

7.5.2 VSTS分布式系统设计器介绍338

7.5.3 定义组件的提供者340

7.5.4 定义对组件提供者终节点的控制341

7.5.5 定义组件之间的连接343

7.5.6 应用程序的实现343

7.6 实践与思考349

7.6.1 实践题349

7.6.2 思考题349

第8章 基于MVC设计模式的架构设计与实现350

8.1 面向对象的MVC设计模式351

8.1.1 图形化与交互式应用的可变需求351

8.1.2 MVC组件的作用和运行机制353

8.1.3 MVC架构的设计和实现步骤356

8.1.4 MVC的更进一步发展357

8.1.5 对MVC模式的评价359

8.2 基于MVC的Struts应用框架360

8.2.1 整合进Struts的相关技术361

8.2.2 两种Struts架构模型363

8.2.3 Struts的构成与MVC角色364

8.3 搭建一个简单的Struts应用程序366

8.3.1 准备Struts架构开发环境366

8.3.2 最简单的登录系统的功能需求369

8.3.3 搭建一个基于Struts的登录系统369

8.3.4 登录系统Struts架构的执行过程376

8.3.5 实现MVC模式的Struts架构内部机制分析376

8.4 SSH架构技术的特点与集成383

8.4.1 Spring框架技术与特点384

8.4.2 Hibernate框架技术与特点387

8.4.3 SSH框架的集成396

8.4.4 搭建基于MyEclipse的SSH框架398

8.5 开发一个基于SSH架构的登录系统404

8.5.1 SSH架构的各层模块及其任务404

8.5.2 Hibernate层的实现404

8.5.3 Spring层的实现407

8.5.4 Struts层的实现409

8.5.5 运行SSHLogin系统411

8.5.6 SSHLogin系统各层的实现与分析412

8.5.7 SSHLogin系统逻辑架构的总结416

8.6 医药管理系统分析与SSH架构二次开发419

8.6.1 医药管理系统的业务背景与需求419

8.6.2 医药管理系统的架构分析423

8.6.3 二次开发的需求与分析431

8.6.4 二次开发的逻辑架构设计432

8.6.5 二次开发的实现435

8.6.6 医药管理系统二次开发的总结441

8.7 实践与思考446

8.7.1 实践题446

8.7.2 思考题446

第9章 基于关键需求的架构设计、验证与评审447

9.1 理解架构设计中的关键需求448

9.1.1 质量属性需求的一般概念448

9.1.2 几个常见的质量属性需求454

9.1.3 质量属性需求的场景描述456

9.2 基于关键需求的架构设计对策458

9.2.1 应对关键需求的对策思路458

9.2.2 可用性战术459

9.2.3 可修改性战术462

9.2.4 性能战术463

9.2.5 易用性战术464

9.3 基于关键需求的架构设计465

9.3.1 关键需求产生的背景和理由465

9.3.2 与架构设计有关的约束与限制469

9.3.3 影响架构设计的关键机制471

9.3.4 基于关键属性驱动的架构设计472

9.4 架构设计的验证473

9.4.1 架构设计验证的基本概念473

9.4.2 软件架构验证的实践475

9.4.3 使用VS 2010进行层验证476

9.4.4 验证MyPlyer程序的架构483

9.5 架构的集成测试484

9.5.1 集成测试的概念484

9.5.2 模拟集成测试体验486

9.5.3 测试StockBroker系统组件之间的操作490

9.6 架构设计与评审493

9.6.1 针对关键质量属性需求的架构设计评审493

9.6.2 针对5个基本架构的架构评审494

9.6.3 对一个架构评审案例的点评495

9.7 电梯控制系统的架构设计实现与评审503

9.7.1 理解学生项目的架构设计评审要求504

9.7.2 原有电梯控制系统的架构分析505

9.7.3 基于“并发性”的关键需求与效果预期505

9.7.4 针对“并发性”需求的架构设计与实现506

9.7.5 电梯控制系统架构设计的评审意见508

9.8 实践与思考510

9.8.1 实践题510

9.8.2 思考题510

参考文献511

热门推荐