看了越狱,肯定对Scofield的精心设计所叹服。虽然越狱期间有很多意外,但是基本都在Scofield的设计之中,而这些意外也显示了他的临时应变能力。从一开始,用硬币去卸螺栓,用螺栓磨成内六角螺丝刀去卸抽水马桶。甚至包括出狱之后,衣服,信用卡都在计划之中。软件的复杂度绝对不比越狱的难度低,能从其中全身而退,必然需要精心的设计。
当然,像Scofield一样,不可能在屋子里完成所有设计。他需要了解情况,需要从各个方面去获得信息。他找来FoxRiver的地图,纹在了身上。了解了狱中所有人的背景和其中的关系。找了Nika为其带IC卡。
Socfield的哥哥被冤枉入狱(问题),为了救他的哥哥(目标),决心入狱并带其哥哥越狱(概要解决方案),想了一个从狱室冲水马桶进入地下管道,然后经过底下管道进入医务室,然后从医务室窗户,借助于电缆越狱(具体解决方案)。虽然最后越狱的解决方案有些变化,变成先去精神病院,然后从精神病院去医务室。
Scofield的设计是有可预见性的,这些可预见性是建立在大量获取信息的基础上,大量思考的基础上。想想软件开发中的设计又何尝不是如此。
和越狱相比,软件开发更难,首先软件开发问题本身确定就是一件很困难的事。人们往往已经开展了很长一段时间的工作,还不清楚真正的问题所在,客户不知道要做的软件是怎么样的,我们也不了解客户真正的需求。确定要解决的问题就是一个问题。但如果我么不确定问题,我们的目标就不明确,更别说思考解决方案了。
连接Scofield每个设计环节的都是实物,工具,人物的关系和技能。Scofield充分利用了它们。连接软件解决方案的往往是硬件,软件,网络,平台,框架,类库,API,开发人员的技能等。操作系统连接硬件和应用程序,连接网络和应用程序。中间件平台连接运行时环境和操作系统。应用程序连接用户,连接运行时环境。那根电缆是最后的出口,那么应用程序就是通向最终用户的出口。
我们要保证我们的设计最终是可靠的,成果是可预见的。首先就要像Scofield那样去了解环境信息,并思考所有环节的契合点。同样,在软件设计中,你也要考虑这些。比如你要做一个网站,你要确定目标(比如哪些人访问,多少人访问),然后考虑什么样的硬件,什么样的软件,选择用什么来开发(工具),预计有多少并发。你需要硬件系统设计,网络拓扑设计,软件架构设计,部署设计,组件设计,用户界面设计。考虑到访问量,你还需要做性能设计。所有这些设计,都是在你脑袋里面想的,你不能遗漏任何关键需求,否则你的设计就是脆弱的。
总结一下,如果要有使设计具备可预见性,你需要确定你的目标,你需要尽可能的想象可能碰到的问题,尽可能的了解信息(为了做设计决策)。然后综合考虑解决方案,保证设计的每个契合点可靠,保证其中的每一个环节是可靠的,尽可能实际去验证不确定的设计环节。最后,你需要不断的思考可能遇到的问题,把从狱室到墙外的路,在脑子里多思考几遍。
Keep no surprise!
Keep everything control!
分享到:
相关推荐
3. 可维护性与可扩展性:如何通过设计确保代码的这两个关键特性。 4. 重构:改善现有代码结构的方法,以支持更好的设计。 5. 敏捷开发:设计在敏捷过程中的角色,以及如何适应迭代和快速变化的需求。 6. 工具:可能...
通过对人工智能时代设计的哲学思考,我们可以预见未来设计将是一场关于如何利用人工智能重新定义设计本身及其价值的探索。设计师的工作将不仅仅是创造实用和美观的产品,更是需要在哲学层面上探索设计与人类社会、...
基于模型的设计方法可以增强设计的预见性和可控性,使得设计者可以在实际制造和测试之前,通过模型仿真来评估设计的可行性,检测潜在的错误和瓶颈,从而降低开发成本和风险。对于MCU设计来说,这种设计方法可以帮助...
它需要架构师具备前瞻性思维,能够预见未来可能的变化,并设计出可扩展、可维护的系统结构。 ### 架构之美——追求简洁与优雅 架构之美不仅体现在系统的功能实现上,更重要的是其结构的简洁性和设计的优雅性。正如...
工程可预见性方案措施.pdf
遇见AI预见未来——“燎原计划”2019人工智能与创新教育思享汇落幕.pdf
遇见AI 预见未来——“燎原计划”2019人工智能与创新教育思享汇落幕.pdf
近期,一份机械毕业设计作品“机械毕业设计——对讲机外壳注射模设计.zip”引起了专业人士的注意。该设计项目不仅展示了一名机械工程毕业生深厚的专业功底,还体现了其在工程实践中的创新能力和对产品质量的严格要求...
【预见未来——全球基建行业视角:特刊 — 2017年1月.pdf】这份文档探讨了2017年全球基础设施建设行业的关键趋势,这些趋势预示着行业未来的发展方向。以下是对这些趋势的详细说明: 1. **不确定性加剧**:政治格局...
遇见AI,预见未来——“燎原计划”2019人工智能与创新教育思享汇落幕.pdf
综上所述,医疗建筑的适应性设计不仅仅是满足当前功能需求,更是对未来变化的预见和应对。苏大二院高新区医院的案例展示了如何将这些理念融入实际设计中,为医疗建筑提供了有价值的参考。通过这样的设计,医院不仅能...
机械毕业设计——风扇叶片注射模具毕业设计论文.zip,作为一个专业的设计项目压缩包,为我们提供了一个全面了解和掌握注射模具设计的窗口。在这一设计项目中,重点在于风扇叶片的注射模具设计,通过综合运用机械设计...
然而,神经网络的鲁棒性问题一直是研究的重点,因为这些模型可能在面对特定输入或攻击时表现出不可预见的行为。鲁棒性评估旨在确保神经网络在面对各种异常或恶意输入时仍能保持正确的预测和决策能力。 形式方法是一...
下花园区的设计可能包括对现有街道、公共空间、绿地系统、交通网络的改进和优化,以及对未来发展的预见性规划。 2. **景观设计**:“土人”团队在景观设计方面有着丰富的经验,他们可能会利用当地的自然条件,如...
照明设计技术是建筑环境、室内空间以及舞台艺术等领域不可或缺的一部分,它涉及到光学、电气工程、建筑学、艺术设计等多个学科的交叉应用。本技术资料主要包含照明设计的基础理论、实践方法以及相关应用案例,旨在为...
这个“33个毕业设计——单片机类”的压缩包资源,显然为学生提供了一个丰富的学习和实践平台,涵盖了多种基于单片机的项目设计。 1. **基础理论知识**:在进行单片机毕业设计前,需要了解单片机的基本结构,包括CPU...
探求具有中国本土文化特点的设计,始终是当代设计发展过程中的重要议题。...在未来的设计实践中,我们可以预见更多的设计师将会参考和借鉴方塔园的设计思路,让具有中国本土文化特点的设计绽放出更加夺目的光彩。
在现代工程建设中,土木工程扮演着基础性的角色,而施工组织设计则是这一角色中的...因此,可以说,土木工程毕业设计——施工组织设计是一个理论与实践相结合的综合训练,对于培养土木工程专业人才具有十分重要的意义。
在这样的背景下,一门新兴的综合性学科——可拓学应运而生。它的创立者是我国著名科学家蔡文先生,旨在通过哲学、逻辑学、信息科学、计算机科学等多学科的理论与方法综合运用,研究和解决那些传统方法难以处理的复杂...
《毕业设计——HKD260型重型自卸(汽车离合器设计)》这个压缩包文件主要聚焦于车辆工程专业领域,特别是汽车离合器的设计。离合器是汽车传动系统中的关键部件,它的主要功能是实现发动机与传动系统的暂时分离和重新接...