《设计原本》阅读笔记(一)

  假期老师要求阅读一本关于软件体系架构方面的书籍,我在网上看了许久,最终决定选择这本《设计原本》。这本书由计算机科学巨匠——Frederick P.Brooks所著,本书是结合案例对设计过程进行进行深入分析,揭示有效和优雅设计的方法。

  我了解过关于开发模型的一些知识,最少知道瀑布模型,敏捷开发模式等等,书籍开篇对作者的提问有这样一个问题:“开发项目有一个生命周期,要么是经典的线性瀑布式,要么是增量迭代式(敏捷)。设计是在生命周期特定阶段发生的事情,还是分布在所有阶段?”作者对这个问题的回答是:“它集中发生在迭代开发的前面几次循环,但有时候发生在所有迭代中。”关于几个开发模式直接的优缺点,如何选择与使用,我曾经系统地接触过,在我的印象里设计应该是在一开始就有一个比较成熟的方案,在执行开发模式的过程中在这个方案上进行一定的修改和补充,这个过程应该贯彻在整个开发过程中,而作者提出设计可以集中发生在前几次迭代时,我并没有想过。后面作者为设计者(读者)们总结了6点经验:专心研究以前设计者的工作,看看他们如何解决问题;尝试弄明白他们为什么做出那样的设计决定,这是对你最有启发性的问题;仔细研究以前设计者的风格。最好的方式是尝试用他们的一些风格勾画草图;保存一本“草图本”,将你的想法,设计以及局部设计记录下来,不论使用任何媒质(纸张,录音,视频?);在开始设计时,写下你对用户和使用方式的限定;设计,设计,设计(重要的事情说三遍)。想要成为一名优秀的软件设计师,光是学会设计相关的知识是不行的,因此作者还贴心地给出了关于其他领域知识的学习建议:算法和数据结构(重要的基础课程);计算机硬件架构;应用领域,特别是商业数据处理,数据库技术和数据挖掘;心理学,特别是知觉心理学(为用户考虑)。

  经过了前面的作者杂谈,下面正式进入正篇。什么是设计?用《牛津英文词典》里的话说,就是对...形成计划或模式,运用思维整理或考量...以便后续执行,用英国作家,戏剧家Dorothy Sayers的话说,就是概念性构想的形成,而作者认为,一个设计是一个被创造的事物,与之相关是一个设计过程,亦或是进行设计,这三者是紧密相关的。我自己对“设计”这个概念的思考,从软件方面来见无非就是想出解决用户文婷的解决方案,这个方案的构思过程就是设计。对设计的深究到底有什么价值?它带来的影响是即时性的,良好的设计是具有概念性的完整性的——统一,经济,清晰。这不仅有利于工作,还能够带来快乐,因为在一片混乱的环境下工作会让人变得糟糕。其次就是明确的设计概念有利于设计团队内部的沟通,如果一部分人认为设计是A,另一部分人认为设计是B,那么就会对沟通造成极大的阻碍,甚至“打起来”也只是时间问题。作者在对设计的阐述过程中,进行了分类:系统设计:这本书介绍的就是关于复杂系统的设计,从工程师的视角出发,该设计注重效用和功能,也注重效率和优雅。艺术设计:更强调设计所带来的愉悦和索要传达的意境。常规,适应性,原创设计:作者引入桥梁设计做了一定的解释,强调重点是原创设计。

  以上是对作者杂谈和第一章内容的简要概括,后续内容会随着阅读进度继续更新。正像作者提出的建议那样,我需要研究前人的经验,这本书正给我提供这一途径。

原文地址:https://www.cnblogs.com/20183711PYD/p/14298602.html