[书目20160612]思考软件,创新设计——A段架构师的思考技术

高焕堂:在校时期主修统计学和信息管理,将近40年软件开发生涯。工作于亚洲和欧美各地区,专精于商业策略思考和系统架构设计。近年来,热衷于<it+设计>教育顾问和产品开发。

第1章  商业思维:从商业模式到架构设计 1
1.1  A段架构师的角色 1
1.2  面对复杂,唯有简单 2
1.3  商业环境与模式是复杂的 3
1.4  软件的复杂是本质性的(并非表象而已) 5
1.5  如何从复杂中设计出简单 7
1.5.1  单纯与美丽的密切联系 7
1.5.2  软件美何在,把酒问<对称> 7
1.5.3  软件架构的第1种对称性 8
1.5.4  软件架构的第2种对称性 8
1.6  参考文献 9

第2章  软硬整合商业模式范例 10
2.1  复习:A段架构设计 10
2.2  产品设计支持商业模式 11
2.2.1  反思既有的商业模式 12
2.2.2  创立新型商业模式 12
2.3  商业模式范例 13
2.3.1  长期的获利策略 13
2.3.2  短期的获利策略 14
2.3.3  硬硬结合销售 14
2.3.4  软硬整合开发 16
2.4  产品设计范例 17
2.5  延伸到客厅配件市场 18
2.5.1  客厅配件范例 18
2.5.2  客厅配件的商业模式 19
2.5.3  与微信、微博或百度地图等平台对接 20
2.6  产品的架构设计范例 21
2.6.1  基本元素和功能 21
2.6.2  应用情境(举例) 22
2.6.3  架构设计与实践 23
2.7  参考文献 23

第3章  获利思维与心境 24
3.1  获利思维VS.成本思维 24
3.2  让架构师身价百倍的招式 26
3.3  领悟信用卡VISA商业模式 27
3.4  以农夫挑水浇花为例 28
3.5  设计客厅配件产品的商业(合作)模式 31
3.5.1  复习:客厅配件的商业模式 31
3.5.2  一样的心境 32
3.5.3  创立OFA联盟 33
3.6  参考文献 34

第4章  创新思维 35
4.1  溯因推理与创造性 35
4.2  溯因推理基本观念 36
4.3  <假定-否证>= 删除法 39
4.4  孔明的溯因推理范例 41
4.5  麦肯锡的MECE原则 45
4.5.1  认识MECE原则 45
4.5.2  议题树及其种类 46
4.5.3  持续对议题进行分解和检验 47
4.5.4  符合MECE原则 47
4.5.5  持续进行<检验-否证> 48
4.5.6  展开下一阶层的议题 49
4.5.7  MECE范例 51
4.6  软件敏捷(Agile)开发原则 54
4.6.1  认识敏捷开发原则 54
4.6.2  敏捷幕后的溯因推理 55
4.6.3  A段架构师的敏捷力 57
4.7  敏捷设计:应用于智慧城市顶层设计 58
4.7.1  <顶层设计>含义的迷思 58
4.7.2  创新的起点:愿景(Vision) 59
4.7.3  观察现实,提出假定(Hypothesis) 60
4.7.4  结论:提出<敏捷顶层设计方法> 61
4.7.5  应用:敏捷顶层设计步骤说明 62
4.8  创新设计:<发现EIT造形>之旅 62
4.8.1  什么是代码造形? 62
4.8.2  大家熟悉的两种代码造形:函数和类 63
4.8.3  创新的起点:愿景(Vision) 64
4.8.4  提出假定 65
4.8.5  提出新的假定 65
4.8.6  结论:提出EIT代码造形 66
4.8.7  为什么需要有两个配角 68
4.9  参考文献 69

第5章  组合思维 70
5.1  从古典抽象思维谈起 70
5.2  创新组合思维 72
5.2.1  <合>的设计法则 72
5.2.2  序中有乱:以集装箱为例 73
5.2.3  演练:如何抽象出<集装箱> 74
5.2.4  观摩:软件集装箱 75
5.3  组合设计的要素:造形(Form) 77
5.3.1  从集装箱认识“造形” 77
5.3.2  认识EIT软件造形 78
5.3.3  造形的特性 81
5.3.4  造形的内部元素 81
5.3.5  造形的外部组合规律 82
5.4  演练范例:寻找(设计)软件系统的造形 85
5.5  演练范例:从简单造形组合出复杂 90
5.5.1  范例(一):一对EIT造形包容善变的通信协议 90
5.5.2  范例(二):EIT造形的巢状组合 93
5.5.3  范例(三):从EIT造形组合出GoF设计模式 95
5.6  反思:儒家文化中的创新组合思维 99
5.6.1  分解的尽理之精神 99
5.6.2  中学为体,西学为用 99
5.7  设计出未来性 103
5.7.1  今日决策的未来性 103
5.7.2  愿景与连线 104
5.7.3  愿景从哪里来 105
5.7.4  组合与创新 105
5.7.5  演练:未来性架构设计 107
5.8  参考文献 113

第6章  战术引导战略思维 114
6.1  架构师擅长于战术引导战略 114
6.2  会赢的战术 116
6.3  找会赢的战术,调整战略资源 117
6.4  <战术引导战略>的企业案例 118
6.5  参考文献 121

第7章  四项假设性思维 122
7.1  从溯因推理谈起 122
7.2  假设(Assumption)是什么 125
7.3  第一项:不自觉的假设,放宽思维局限 125
7.3.1  一般范例 125
7.3.2  孔明空城计的范例 126
7.3.3  其他范例 127
7.4  第二项:有待被检验的假定,激发愿景想象 129
7.5  第三项:完成性的假设,想象最终结果 131
7.5.1  什么是完成性假设 131
7.5.2  Mapping from vision to reality与溯因推理 133
7.5.3 “Mapping”如何促进Know Unknown 135
7.5.4  演练:Mapping from vision to reality 137
7.5.5  演练:全脑观想(Visualization) 139
7.5.6  演练:完成性假设 140
7.6  第四项:万一性的假设,预留弹性空间 148
7.6.1  Why?万一性的假设 148
7.6.2  如何预见失败 149
7.6.3  认识Possibility和备胎思维 151
7.7  参考文献 152

第8章  架构师策略思维的案例演练 153
8.1  产品策略思维 153
8.1.1  产品策略目标:兼顾独特性、普遍性和可靠性 153
8.1.2  实践方案:软硬整合、跨平台与测试 154
8.1.3  从简单中掌握复杂 155
8.1.4  对假定进行检验 157
8.2  发挥四项假设性思维 158
8.2.1  复习:溯因(Abductive)推理 158
8.2.2  观察现实,观想愿景 159
8.2.3  推导出假定 160
8.2.4  进行Mapping from vision to reality 161
8.2.5  重大发现 163
8.2.6  决定跨平台策略的方向 165
8.3  订定跨平台实践策略 165
8.3.1  复习:探索策略方向 165
8.3.2  拟订实践策略 165
8.3.3  策略-1:把它“EIT(设计)”了 166
8.3.4  策略-2:挟天子以令诸侯 167
8.3.5  策略-3:建立中间件(middleware) 167
8.4  跨芯片小平台策略 167
8.4.1  什么是<跨平台> 167
8.4.2  终端产品跨(芯片)小平台的3种情境 169
8.5  跨Android大平台策略 174
8.5.1  这个<策略-2>从哪里来 174
8.5.2  策略-2的实践 176
8.6  跨自己平台的策略 180
8.6.1  这个<策略-3>从哪里来 180
8.6.2  中间件跨平台的效益:没钱就改版,改版就有钱 182
8.6.3  中间件跨客户端的效益 183
8.6.4  中间件的设计 183
8.6.5  中间件在整体架构中的角色 185
8.7  参考文献 186

第9章  架构设计的十个学习步骤 187
9.1  这<十个步骤>从哪里来 187
9.1.1  从架构思维的4个元素出发 187
9.1.2  学好<创意爱上限制> 188
9.1.3  学好<创新组合> 190
9.1.4  学习敏捷测试和设计通用性接口 191
9.2  阐述<十个学习步骤> 192
9.2.1  第1步:学习两种抽象视角(Abstraction View) 192
9.2.2  第2步:关心下层的变动自由度 193
9.2.3  第3步:<系统架构控制力>支撑<商业竞争话语权> 193
9.2.4  第4步:<用户体验>是用户从简单中叫出复杂的满足感 194
9.2.5  第5步:创意爱上限制,即需求检验设计 194
9.2.6  第6步:假设性思维和Mapping from vision to reality 195
9.2.7  第7步:清晰而明确表述接口(Interface) 195
9.2.8  第8步:尽快对接口进行检验和测试 195
9.2.9  第9步:设计通用性接口 196
9.2.10  第10步:有效减法设计,才能开放加法(设计) 197
9.3  深入领悟(一):变动自由度 197
9.4  深入领悟(二):创意爱上限制 200
9.5  深入领悟(三):Mapping from vision to reality 201
9.6  深入领悟(四):迅速检测接口 204
9.7  深入领悟(五):有效减法设计,才能开放加法 208
9.7.1  举例:以Socket接口来包容TCP/IP通信协议 208
9.7.2  演练步骤 208
9.8  参考文献 218

第10章  <Java/HBase + C>云平台架构设计的十项法则 219
10.1  这<十项法则>从哪里来 219
10.1.1  反思假设 219
10.1.2  关注于命令流及其控制点 221
10.2  阐述<十项法则> 222
10.3  思考议题&提示 227
10.4  参考文献 232

第11章  法则-2的实践范例:通用性接口设计 233
11.1  通用性接口 233
11.2  亲自设计通用性接口 235
11.2.1  认识用例(Use Case)及其剧景(Scenario) 235
11.2.2  设计通用性接口来支撑用例(Use Case) 238
11.2.3  衔接到<UC-001:播放音乐>的特殊性接口 239
11.2.4  衔接到<UC-002:播放某首音乐>的特殊性接口 243
11.3  多个通用性接口的联合应用范例 247
11.3.1  应用范例:手机与Android TV的多机整合 247
11.3.2  iPhone手机端的规划 248
11.3.3  衔接iPhone手机端的(通用性)接口:Servlet 249
11.3.4  App的Context接口与myTVServlet对接 253
11.3.5  Android本地App的设计 259
11.4  参考文献 264

第12章  法则-3的实践范例:挟天子以令诸侯 265
12.1  一般框架设计:以<五子棋>为例 265
12.1.1  阶段一:从传统类(Class)造形设计出发 265
12.1.2  阶段二:继续运用EIT造形设计 268
12.2  基于Android设计小框架:以<涂鸦>应用为例 272
12.2.1  介绍多层EIT造形 272
12.2.2  简介「涂鸦」(Scribble) 274
12.2.3  <涂鸦>范例的功能说明 274
12.3  实践<挟天子以令诸侯> 275
12.3.1  阶段一:从传统类(Class)造形设计出发 275
12.3.2  阶段二:继续运用EIT造形设计 276
12.4  参考文献 308

时间: 2024-10-17 05:15:10

[书目20160612]思考软件,创新设计——A段架构师的思考技术的相关文章

构设计杂谈004——架构师

什么是架构设师 架构师是:负责系统架构设计的人.团队或组织 架构师主要干什么 ●架构师是技术领导,领导并负责架构设计,负责做决策 ●架构师可以是团队或组织,这个时候通常会有首席架构师 ●架构师必须掌握足够的技术知识 ●架构师必须掌握足够的架构设计技能 ●架构师必须具备很好的编程能力,实际参与架构原型的设计和开发实现 ●架构师必须深入理解业务及业务领域知识,让架构更好支持业务目标 ●架构师应该具备很好的沟通能力,讲解架构.指导开发.协调冲突等 ●架构师必须了解软件过程,为项目全流程提供支持 本文由

架构设计杂谈004——架构师

什么是架构设师        架构师是:负责系统架构设计的人.团队或组织 架构师主要干什么 ●架构师是技术领导,领导并负责架构设计,负责做决策 ●架构师可以是团队或组织,这个时候通常会有首席架构师 ●架构师必须掌握足够的技术知识 ●架构师必须掌握足够的架构设计技能 ●架构师必须具备很好的编程能力,实际参与架构原型的设计和开发实现 ●架构师必须深入理解业务及业务领域知识,让架构更好支持业务目标 ●架构师应该具备很好的沟通能力,讲解架构.指导开发.协调冲突等 ●架构师必须了解软件过程,为项目全流程提

全栈软件工程师和系统架构师的异同

看完后.发现.不用怕....因为程序员不会看完.只有"架构师"才有耐心看这么长的. 一 每个好架构师都是一位出色的程序员(卓越的程序员) 架构师,听起来是如此神秘的一个称号.尤其是在开发领域刚入门不久的菜鸟级程序员眼中,架构师都是高手,都是牛人,都是如此高高在上的存在. 不过,在搞了四.五年编程之后,程序员们往往早已失去了当年对这些"高级"职位的神秘感,甚至会对自己所在项目的架构师抱怨不已,背后里称他们是一群水王.所以有江南白衣曾撰文述说:"国内的架构师到

迈向大数据架构师 - 架构师转型方法与架构设计理论

迈向大数据架构师 - 架构师转型方法与架构设计理论课程学习地址:http://www.xuetuwuyou.com/course/233课程出自学途无忧网:http://www.xuetuwuyou.com课程摘自<大数据系统架构分析师成长之路>:http://www.xuetuwuyou.com/course/200 1.课程目标通过本课程的学习,让学员了解到什么是系统架构师,什么大数据系统架构师,两者的区别与联系,程序员与架构师的不同,程序员如何向架构师转型,一个架构师工作日常及必须修炼的

秒杀系统的思考方式与设计思路--左手隔离,右手分层

大家好,我是崔皓. 很高兴有这样一个机会和大家认识.我在IT行业从事软件开发工作十余年了,足迹涵盖企业服务,互联网,企业数字化转型等.工作之余热爱阅读和学习,希望能通过这个专栏和大家成为朋友. 开篇 本次专栏要给大家分享的是"如何设计秒杀系统",专栏共包括15章,本章是第一章.今天会给大家介绍以下内容: 秒杀场景的特征 隔离的设计思路 分层设计思路本章的讲解思路是,提出秒杀场景的特征,也就是理解什么是秒杀.然后介绍在秒杀系统设计的底线,有了底线才能保证进可攻退可守.最后介绍使用哪些方法

基于ARM处理器的反汇编器软件简单设计及实现

写在前面 2012年写的,仅供参考 反汇编的目的 缺乏某些必要的说明资料的情况下, 想获得某些软件系统的源代码.设计思想及理念, 以便复制, 改造.移植和发展: 从源码上对软件的可靠性和安全性进行验证,对那些直接与CPU 相关的目标代码进行安全性分析: 涉及的主要内容 分析ARM处理器指令的特点,以及编译以后可执行的二进制文件代码的特征: 将二进制机器代码经过指令和数据分开模块的加工处理: 分解标识出指令代码和数据代码: 然后将指令代码反汇编并加工成易于阅读的汇编指令形式的文件: 下面给出个示例

支持创新设计的重建模型表达

3.1 CAD造型技术回顾 从20世纪60年代开始,CAD造型技术由线框.自由曲面,发展到目前仍占据主流的基于约束的实体造型技术,主要有以PTC 公司的Pro/E软件为代表的参数化造型理论和以EDS公司的I-DEAS软件为代表的变量化造型理论两大技术流派. 参数化造型是由编程者预先设置一些几何图形约束,然后供设计者在造型时使用,与一个几何相关联的所有尺寸参数可以用来产生其它几何.采用参数化技术可以克服自由建模的无约束状态,几何形状均可通过尺寸的形式来控制.如零件形状需要修改时,只需改变尺寸的数值

连载39:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)

1. 简单性 由于对简单的理解会很多,具有最少构成要素的结构,符合简单性观念.在众多可能中选择一个最方便的方式,也符合简单性观念.根据奥康的剃刀原则"如无必要,勿增实体"即简单有效的原则.然而简单性是一个相对的概念,是在不同的时空.不同的视角下存在的一种可被成本最低的理解. 但是在系统构架中,具有简单的设计方案,往往具有最少的约束,从而带来最为直接的处理方式,由于简单,所以设计开发都显得容易掌控,其稳定性和可靠性会大大的增强,同时由于简单,所以一旦存在需要扩展,其扩展的约束也是非常少,

敏捷开发下, 如何将需求分析,架构(软件)设计,开发与测试,一气呵成式的结合且高效的完成 ?

产品开发中,时常会发生类似如图中 "削马铃薯"的悲剧. 悲剧的发生,往往是由于我们只传递了 "要作什么功能"给开发人员.却缺乏了一个有效的且轻量级的实践,能在正式进入迭代开发前,确认开发人员是否真有能力,能将 "使用者的需求"转化为 "可执行的代码"? "场景树" 便是一结合Use Case, Domain Driven Design, UML 的轻量级可视化的敏捷实践. 经由场景树,可确认开发人员,是否已