第1章 一个简单的类比 1
1.1 完美的类比 1
1.2 认知图 2
1.3 类比揭示出被遗漏的要素
—架构 3
1.4 类比使角色和意图之间的
关系明晰 4
1.5 一切从客户和建筑设计师开始 6
1.6 通过类比, 每个词汇都有意义 8
1.7 通过类比, 过程变得可以预见 10
1.8 类比使复杂性和灵活性有了秩序 11
1.9 结论 12
第2章 没有软件架构师的世界 15
2.1 软件业的悖论 15
2.2 臭名昭著的软件 17
2.3 联邦航空管理局 17
2.4 美国国税局税务系统现代化 19
2.5 结论 22
第3章 什么是架构 25
3.1 技术—各种架构的共同基础 27
3.2 难以定义的事物有多种定义 27
3.3 Utilitas. Venustas. Firmitas 28
3.4 设计的神话 29
3.5 圣彼得大教堂的教训:
和谐与统一 30
3.6 无以言表的品质 32
3.7 结论 34
第4章 建筑简史 37
4.1 希腊的理想 37
4.2 建筑师:无名的工匠与超级明星 39
4.3 现代建筑:它的兴起和没落 41
4.4 建筑设计师是社会的思想家 43
4.5 架构与第三次浪潮 44
4.6 结论 45
第5章 软件构造过程中的角色 49
5.1 建筑设计师. 建筑工人.
工程师. 科学家 49
5.2 指导原则 50
5.3 软件架构师决定结构的
外观和功能 51
5.4 软件工程师使结构合理 52
5.5 “开发人员”建造结构 57
5.6 计算机科学家推进知识 60
5.7 客户的角色 61
5.8 定义而非限制 64
5.9 对构造角色的举例说明 65
5.10 结论 66
第6章 软件架构师的角色 71
6.1 架构师的角色始于客户 72
6.2 架构师是客户的代言人,
是设计的领导者 72
6.3 倾听的艺术 74
6.4 观察的艺术 75
6.5 策略的艺术 75
6.6 巴黎的金字塔 77
6.7 结论 85
第7章 架构驱动的软件
—构造阶段 89
7.1 两个大致阶段 89
7.2 架构阶段以及一些警示 91
7.3 设计是不可交付的 91
7.4 设计阶段不是线性的 93
7.5 构建阶段 95
7.6 结论:聚会阶段 96
第8章 架构计划 99
8.1 架构计划的特征 99
8.2 好的架构师, 好的计划 100
8.3 究竟为什么需要计划 101
8.4 计划的层次 102
8.5 结论 104
第9章 软件架构师的教育 107
9.1 第二次浪潮教育, 第三次浪潮
需要 107
9.2 另一次危机 109
9.3 做我们想做的 110
9.4 计算机科学家的特征是什么 110
9.5 架构教育 112
9.6 设立软件架构教育 114
9.7 设计能否传授 114
9.8 结论 116
第10章 架构师职业宣言 119
10.1 职业是什么 120
10.2 客户的期望 120
10.3 标准知识体 122
10.4 教育 123
10.5 身份鉴定 124
10.6 职业道德准则与标准 125
10.7 从何开始 128
索引 129