看了越狱,肯定对Scofield的精心设计所叹服。虽然越狱期间有很多意外,但是基本都在Scofield的设计之中,而这些意外也显示了他的临时应变能力。从一开始,用硬币去卸螺栓,用螺栓磨成内六角螺丝刀去卸抽水马桶。甚至包括出狱之后,衣服,信用卡都在计划之中。软件的复杂度绝对不比越狱的难度低,能从其中全身而退,必然需要精心的设计。
当然,像Scofield一样,不可能在屋子里完成所有设计。他需要了解情况,需要从各个方面去获得信息。他找来FoxRiver的地图,纹在了身上。了解了狱中所有人的背景和其中的关系。找了Nika为其带IC卡。
Socfield的哥哥被冤枉入狱(问题),为了救他的哥哥(目标),决心入狱并带其哥哥越狱(概要解决方案),想了一个从狱室冲水马桶进入地下管道,然后经过底下管道进入医务室,然后从医务室窗户,借助于电缆越狱(具体解决方案)。虽然最后越狱的解决方案有些变化,变成先去精神病院,然后从精神病院去医务室。
Scofield的设计是有可预见性的,这些可预见性是建立在大量获取信息的基础上,大量思考的基础上。想想软件开发中的设计又何尝不是如此。
和越狱相比,软件开发更难,首先软件开发问题本身确定就是一件很困难的事。人们往往已经开展了很长一段时间的工作,还不清楚真正的问题所在,客户不知道要做的软件是怎么样的,我们也不了解客户真正的需求。确定要解决的问题就是一个问题。但如果我么不确定问题,我们的目标就不明确,更别说思考解决方案了。
连接Scofield每个设计环节的都是实物,工具,人物的关系和技能。Scofield充分利用了它们。连接软件解决方案的往往是硬件,软件,网络,平台,框架,类库,API,开发人员的技能等。操作系统连接硬件和应用程序,连接网络和应用程序。中间件平台连接运行时环境和操作系统。应用程序连接用户,连接运行时环境。那根电缆是最后的出口,那么应用程序就是通向最终用户的出口。
我们要保证我们的设计最终是可靠的,成果是可预见的。首先就要像Scofield那样去了解环境信息,并思考所有环节的契合点。同样,在软件设计中,你也要考虑这些。比如你要做一个网站,你要确定目标(比如哪些人访问,多少人访问),然后考虑什么样的硬件,什么样的软件,选择用什么来开发(工具),预计有多少并发。你需要硬件系统设计,网络拓扑设计,软件架构设计,部署设计,组件设计,用户界面设计。考虑到访问量,你还需要做性能设计。所有这些设计,都是在你脑袋里面想的,你不能遗漏任何关键需求,否则你的设计就是脆弱的。
总结一下,如果要有使设计具备可预见性,你需要确定你的目标,你需要尽可能的想象可能碰到的问题,尽可能的了解信息(为了做设计决策)。然后综合考虑解决方案,保证设计的每个契合点可靠,保证其中的每一个环节是可靠的,尽可能实际去验证不确定的设计环节。最后,你需要不断的思考可能遇到的问题,把从狱室到墙外的路,在脑子里多思考几遍。
Keep no surprise!
Keep everything control!
分享到:
相关推荐
预见未来——全球基建行业视角:特刊 — 2017年1月.pdf
工程可预见性方案措施.pdf
遇见AI 预见未来——“燎原计划”2019人工智能与创新教育思享汇落幕.pdf
遇见AI预见未来——“燎原计划”2019人工智能与创新教育思享汇落幕.pdf
不可预见性灾难应急预案.docx
遇见AI,预见未来——“燎原计划”2019人工智能与创新教育思享汇落幕.pdf
科学计量学在技术预见中的应用研究——以新能源汽车产业为例.pdf
“预见机器人行业新未来”——2018中国机器人行业发展论坛成功举行.pdf
工程不可预见成本审批表(设计1%).pdf
提出一种新的预见控制方法——一般型最优有限预见控制方法,并将其应用于巡航导弹地形 跟踪控制系统的设计。将参考信号和干扰信号考虑成更一般的形式, 在其自相关函数值已知的条件下, 得到了一般型有限预见...
克莱西是最早预见到柴油机所蕴含的巨大商业潜力的美国企业家之一 BETT培训及相关-JSHD——【巡回培训技术资料】全文共25页,当前为第5页。 公司基本信息 公司全称:康明斯股份有限公司 集团总部所在地:美国印第安纳...
系统开发过程中遇到的动态可扩展问题提出了一种数据库设计模 型——基于键值对的对象属性可扩展模型,它区分了应用中的不同 对象的类型,通过设计属性分类提高了数据库应用系统中数据的可 改变性和可扩展性。...
QD7.1.3-2016年设备设施预防预见性维护规范方案.doc
杨小凯的股市困惑----非线性难关的攻克离我们有多远,马金龙,马非特,杨小凯的股市不可预见性的困惑——非线性难关是当前金融工程界需要回答和解决的现实问题。随着金融市场价格波动的非线性研究和发
若要符合轨道交通行业严苛的标准,就必须进行可预见的和可重复的软件操作。轨道交通业的要求是欧洲电工标准化委员会(CENELEC)规定的。满足由CENELEC出台的三个标准:EN 50126, EN 50128, EN 50129的要求,是证明...
Visual Graph经过近十年的深入研究与应用,有预见性地开发了大量具有潜在应用的功能,长期与用户互相合作,大量吸取用户应用经验,十多年的应用研究试验,Visual Graph终于被打造成图形应用领域里面的超级引擎,...
[美·巴拉巴西]爆发·大数据时代预见未来的新思维,是一本超越《黑天鹅》的惊世之作。如果说塔勒布认为人类行为是随机的,都是小概率事件,是不可以预测的;那么全球复杂网络权威巴拉巴西则认为,人类行为93%是可以...
周期离散时间系统的预见控制器设计.pdf
设备预见性维护培训教材.pptx
我们为什么生病——达尔文医学的新科学 [美]R.M.尼斯 ,G.C.威廉斯 著本书依据进化生物学的观点来理解人类疾病的起因,除了对医学大有裨益之外,可以预见这个中文版还将具有其它的重要意义。我们特别希望本书能有助...