《软件架构师教程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)Raphael Malveau,(美)Thomas J.Mowbray著;申峻嵘等译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2003
  • ISBN:7505392042
  • 页数:310 页
图书介绍:本书阐述了作为一个软件架构师所需要具备的基本技能,并按照军事训练的一般程序,将这些技能划分到几个阶段中:基础训练、准备战斗、训练学校、伞兵学校、情报操作等,对每个阶段需要掌握的技术进行了扼要介绍。除了关注软件架构师的技术性能力之外,本书还对软件行业中有关领导素质、心理素质等涉及到人性和心理等社会性问题进行了探讨,以更好地指导软件架构师的职业生涯。

第1章 绪论 1

1.1 给软件架构师的建议 2

劝告的话 3

新生知识 3

无所适从 4

同行相欺 5

管理陷阱 5

定义软件体系结构 6

“体系结构”一词的误用 6

体系结构之前 7

软件危机 8

1.2作为一门学科的软件体系结构 9

体系结构方法 10

通用原则 11

体系结构的论争 12

革新的软件体系结构 13

体系结构范型的转变 14

体系结构标准 19

应用程序和配置文件 26

视点的记法 27

1.3 设计模式与软件体系结构 28

设计模式 29

软件设计层模型 30

反模式 39

1.4 结论 40

1.5 练习 41

第2章 软件体系结构:基础训练 45

面向对象范型 46

2.1 软件范型 46

技术与系统规模 47

对象成为商业的基线 48

数据库与对象 50

主流中的对象 50

靠近构件:脚本语言 50

构件化软件:面向构件的范型 51

“构件”与“对象” 51

构件基础设施 52

构件的软件模式 54

构件化的软件体系结构 55

基于构件的软件开发 56

2.2 开放系统技术 57

2.3 客户机/服务器技术 61

2.4 软件应用体验 72

2.5 技术和应用体系 74

2.6 将标准用于应用系统 77

2.7分布式基础设施 81

2.8 结论 90

2.9练习 91

第3章 软件体系结构:准备战斗 95

3.1 软件体系结构范型转变 95

传统的系统假设 96

分布式假设——对传统的颠覆 96

多组织系统 96

作出范型转变 97

旧的软件 98

3.2错误的方法 98

一个例子:错误的方法 99

骑士上场:英雄式程序员 100

3.3 正确的方法:企业体系结构开发 101

以体系结构为中心的过程 102

步骤1:系统构想 102

步骤2:需求分析 104

步骤3:体系结构规划 105

计算接口体系结构 107

分布式工程体系结构 107

技术选择体系结构 109

步骤4:实现模型 109

步骤6:项目管理规划 110

步骤5:体系结构原型 110

步骤7:并行增量开发 111

步骤8:系统转换 112

步骤9:操作和维护 112

步骤10:系统移植 113

3.4底线:时间、人员和费用 113

3.5 结论 114

3.6 练习 115

第4章 软件体系结构:训练学校 117

4.1 体系结构与编程 117

软件的分形模型 118

主要的设计要点 118

设计要点的规模效应 118

使用设计层次 119

软件设计层次 119

4.2使用体系结构管理复杂性 120

创造复杂性 120

选项1:压缩 121

选项2:隐藏 122

选项3:忽略 122

选项4:切分 122

选项5:分块 123

4.3 系统集成 123

4.4业务实例 129

4.5从体系结构到软件开发 133

4.6体系结构的软件记法 139

4.7 总结 150

4.8 练习 151

第5章 领导素质训练 153

5.1 领导素质是一项必要的也是可以学会的能力 153

5.2架构师——团队的建立者 154

5.3 坚持优秀产品的理念 156

5.4架构师的走查 161

5.5 总结 164

5.6练习 165

第6章 软件体系结构:伞兵训练学校 167

6.1 过程 167

6.2建立新的过程 174

6.3团队合作 175

6.4结论 181

6.5练习 182

7.1沟通的挑战 189

第7章 沟通的训练 189

7.2责任驱动的开发 190

7.3沟通的责任 192

7.4 处理反馈 192

7.5 练习 193

第8章 软件体系结构:情报操作 195

8.1 体系结构挖掘 196

自底向上与自顶向下 196

体系结构耕作 196

体系结构挖掘过程 197

挖掘的适用性 198

成功挖掘 199

水平与垂直 199

水平设计元素 202

为未来应用而设计 204

关于可追踪性 204

8.2体系结构迭代 205

软件过程背景 206

体系结构过程的角色 208

宏观过程:体系结构迭代 211

开发人员对体系结构的反应 213

寻求情报,迭代设计 215

微观过程:子项目体系结构 216

混沌构建 218

8.3体系结构评定 221

问题求解 222

评审与检查 223

8.5练习 225

8.4结论 225

第9章 软件体系结构:心理战 229

9.1选择性学习 229

9.2内部控制 230

9.3 期望管理 231

9.4真理的心理学 232

9.5感知未必真实 233

9.6探讨人性的弱点 234

感知参考模型 236

生物反应模型 237

反应的群体应用 238

9.7例子:参考销售 239

9.8所有权心理学 241

9.9心理合气道 242

9.10智力合气道 245

赢得战争 247

赢得和平 248

9.11 结论 249

9.12 练习 250

附录A 体系结构实例:测试结果报告系统 255

A.1 导言 255

A.2 构件互操作的挑战 255

A.3 TRRS的目标体系结构 256

A.4 目标企业视点 256

A.5 目标信息视点 257

A.6 目标技术视点 259

A.7 原型实现 260

A.8 原型计算视点 261

A.9 TRRS术语 262

A.10 用例定义 263

UC001产品信息检索会话 263

UC002产品信息登记会话 264

UC003经验报告登记会话 265

A.11 核心工作流 266

UC004产品登记工作流 266

UC005 COTS确认工作流 266

UC006互操作性确认工作流 267

UC007经验报告更新 267

A.12信息模型 268

产品的信息 269

标准配置文件的信息 270

组织的信息 271

产品相关服务的信息 272

经验报告的信息 272

操作环境的信息 273

A.13 结论 273

附录B 设计模板及实例 275

B.1 概念性设计 275

第一部分 目标 275

第二部分 概念性综述 276

第三部分 责任 276

第四部分 体系结构层 277

第五部分 类和对象、类的语义以及类之间的关系 277

第六部分 特征、数据类型和约束的描述 278

B.2 关系服务的概念性设计 279

第一部分 目标 279

第二部分 概念性综述 279

第七部分 如何使设计能处理相关的用例及需求 279

第三部分 责任 281

第四部分 体系结构的层次 281

第五部分 类和对象、类的语义以及类之间的联系 281

第六部分 特征、数据类型以及约束的描述 284

第七部分 如何使设计能处理相关的用例及需求 285

B.3 高层设计 286

第一部分 屏幕模型 286

第二部分 UML图 286

第三部分 发现界面的使用 286

第一部分 屏幕模型 287

第二部分 设计的考虑 287

第四部分 构件复用 287

B.4关系服务的高层设计 287

第五部分 典型用例 287

第三部分 构件复用 288

第四部分 发现界面的使用 288

第五部分 OMG IDL 288

第六部分 总体 291

第七部分 用于事件跟踪的典型用例 292

第八部分 客户端配置文件 292

第九部分 UML类图 292

附录C 软件体系结构术语表 295

参考文献 305