当前位置:首页 > 工业技术
恰如其分的软件架构  风险驱动的设计方法
恰如其分的软件架构  风险驱动的设计方法

恰如其分的软件架构 风险驱动的设计方法PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:(美)费尔班克斯著
  • 出 版 社:武汉:华中科技大学出版社
  • 出版年份:2013
  • ISBN:9787560990750
  • 页数:360 页
图书介绍:本书从多个视角阐述了软件架构的建模过程和方法,包括用例模型、概念模型、域模型、设计模型和代码模型。作者在探讨比较多种架构风格的差异和利弊的基础上,结合自己的工作经验,提炼出通过风险驱动的软件架构建模方法,旨在弥补敏捷开发方法在实际工程应用中的不足。本书将理论与实践相结合,不仅条理清晰地描述了设计软件架设的各种思路,而且详细介绍了经过实践检验的建模方法和架构分析技巧,将软件架构建模融入开发实践中,与敏捷开发方法有机地结合在一起。
《恰如其分的软件架构 风险驱动的设计方法》目录

第1章 概述 1

1.1 分治、知识与抽象 2

1.2 软件架构的三个案例 3

1.3 反思 5

1.4 视角转换 6

1.5 架构师构建架构 7

1.6 风险驱动的软件架构 8

1.7 敏捷开发者的架构 9

1.8 关于本书 10

第1部分 风险驱动的软件架构 11

第2章 软件架构 15

2.1 何为软件架构? 16

2.2 软件架构为何重要? 18

2.3 架构何时重要? 22

2.4 推定架构 23

2.5 如何运用软件架构? 24

2.6 架构无关的设计 25

2.7 专注架构的设计 26

2.8 提升架构的设计 27

2.9 大型组织中的架构 30

2.10 小结 31

2.11 延伸阅读 32

第3章 风险驱动模型 35

3.1 风险驱动模型是什么? 37

3.2 你现在采用风险驱动了吗? 38

3.3 风险 39

3.4 技术 42

3.5 选择技术的指导原则 44

3.6 何时停止 47

3.7 计划式设计与演进式设计 48

3.8 软件开发过程 51

3.9 理解过程变化 53

3.10 风险驱动模型与软件开发过程 55

3.11 应用于敏捷过程 56

3.12 风险与架构重构 58

3.13 风险驱动模型的替代方案 58

3.14 小结 60

3.15 延伸阅读 61

第4章 实例:家庭媒体播放器 65

4.1 团队沟通 67

4.2 COTS组件的集成 75

4.3 元数据一致性 81

4.4 小结 86

第5章 建模建议 89

5.1 专注于风险 89

5.2 理解你的架构 90

5.3 传播架构技能 91

5.4 作出合理的架构决策 92

5.5 避免预先大量设计 93

5.6 避免自顶向下设计 95

5.7 余下的挑战 95

5.8 特性和风险:一个故事 97

第2部分 架构建模 101

第6章 工程师使用模型 103

6.1 规模与复杂度需要抽象 104

6.2 抽象提供洞察力和解决手段 105

6.3 分析系统质量 105

6.4 模型忽略细节 106

6.5 模型能够增强推理 107

6.6 提问在前,建模在后 108

6.7 小结 108

6.8 延伸阅读 109

第7章 软件架构的概念模型 111

7.1 规范化模型结构 114

7.2 领域模型、设计模型和代码模型 115

7.3 指定与细化关系 116

7.4 主模型的视图 118

7.5 组织模型的其他方式 121

7.6 业务建模 121

7.7 UML的用法 122

7.8 小结 123

7.9 延伸阅读 123

第8章 领域模型 127

8.1 领域与架构的关系 128

8.2 信息模型 131

8.3 导航和不变量 133

8.4 快照 134

8.5 功能场景 135

8.6 小结 136

8.7 延伸阅读 137

第9章 设计模型 139

9.1 设计模型 140

9.2 边界模型 141

9.3 内部模型 141

9.4 质量属性 142

9.5 Yinzer系统的设计之旅 143

9.6 视图类型 157

9.7 动态架构模型 161

9.8 架构描述语言 162

9.9 小结 163

9.10 延伸阅读 164

第10章 代码模型 167

10.1 模型-代码差异 167

10.2 一致性管理 171

10.3 架构明显的编码风格 174

10.4 在代码中表达设计意图 175

10.5 模型嵌入代码原理 177

10.6 表达什么 178

10.7 在代码中表达设计意图的模式 180

10.8 电子邮件处理系统预演 187

10.9 小结 193

第11章 封装和分割 195

11.1 多层级故事 195

11.2 层级和分割 197

11.3 分解策略 199

11.4 有效封装 203

11.5 创建封装接口 206

11.6 小结 210

11.7 延伸阅读 210

第12章 模型元素 213

12.1 和部署相关的元素 214

12.2 组件 215

12.3 组件装配 219

12.4 连接器 223

12.5 设计决策 233

12.6 功能场景 234

12.7 不变量(约束) 239

12.8 模块 239

12.9 端口 241

12.10 质量属性 246

12.11 质量属性场景 249

12.12 职责 251

12.13 权衡 252

12.14 小结 253

第13章 模型关系 255

13.1 投影(视图)关系 256

13.2 分割关系 261

13.3 组合关系 261

13.4 分类关系 261

13.5 泛化关系 262

13.6 指定关系 263

13.7 细化关系 264

13.8 绑定关系 268

13.9 依赖关系 269

13.10 使用关系 269

13.11 小结 270

13.12 延伸阅读 271

第14章 架构风格 273

14.1 优势 274

14.2 柏拉图式风格对体验式风格 275

14.3 约束和以架构为中心的设计 276

14.4 模式对风格 277

14.5 风格目录 277

14.6 分层风格 277

14.7 大泥球风格 280

14.8 管道-过滤器风格 281

14.9 批量顺序处理风格 283

14.10 以模型为中心的风格 285

14.11 分发-订阅风格 286

14.12 客户端-服务器风格和多层 288

14.13 对等风格 290

14.14 map-reduce风格 291

14.15 镜像、支架和农场风格 293

14.16 小结 294

14.17 延伸阅读 295

第15章 使用架构模型 297

15.1 理想的模型特性 297

15.2 和视图一起工作 303

15.3 改善视图质量 306

15.4 提高图的质量 310

15.5 测试和证明 312

15.6 分析架构模型 312

15.7 架构不匹配 318

15.8 选择你的抽象级别 319

15.9 规划用户界面 320

15.10 指定性模型对描述性模型 320

15.11 对现有系统进行建模 320

15.12 小结 322

15.13 延伸阅读 323

第16章 结论 325

16.1 挑战 326

16.2 聚焦质量属性 330

16.3 解决问题,而不是仅仅对它们建模 331

16.4 使用导轨一样的约束 332

16.5 使用标准架构抽象 333

术语表 335

参考文献 347

索引 355

返回顶部