零雨其蒙's Blog

做优秀的程序员
随笔 - 59, 文章 - 13, 评论 - 58, 引用 - 0
数据加载中……

The Design of design

楔子 

     人月神话的作者Brooks新出了一本书叫做The Design of design,本文不是这本书的书评。写这一篇我已经想了很久了,内容不会太多,但是却很慎重。 

      Design是个听起来特别高雅的词,很多人从事所谓的设计行业。比如建筑设计,机械设计,艺术设计,以及我所从事的软件设计。 

     英国戏剧家作家DorothySayers在《The Mind of Makr》里,将创造过程分为三个阶段,即构想(Idea),精神(Energy)(或实现(Implementation))以及交互(Interaction)。这代表着: 

     1)概念性构想的形成。 

     2)在真实的媒体中实现 

     3) 在真实的体验中与用户交互。 

     我特别赞同这一说法。这表明,设计最重要的是Idea。 

    Brooks又讲述了莫扎特的故事,其父亲询问其歌剧进度,他回答:一切都谱好了,只是还没写下来而已。 

    我看过莫扎特传那部电影,因此我理解这段话会有所不同,在莫扎特头脑中的谱子实际上已经具有实现的部分,而不单单是Idea或者叫构思。因为认为会这样形容他快速而绝无修改的作曲过程,就好像把头脑中谱好的曲子誊写在纸上一样。 



      正文 

      1 设计是一项创造性活动,而实现则是另外一项活动。 

      2 Design,常常会用一种Sign(符号)来表示Idea,Sign不是设计,而其表示的东西的才是设计。 

      3 人们经常提及建筑行业,因为其设计和实现(建造)过程划分最为清晰。另外大型机械制造的设计也类似。 

      4 设计过程与实现过程以及跟用户的交互的过程会循环多次,其他过程使设计变得有用,并且能够作为反馈促使设计改进。但是它们都不是设计。 

      5 为了能够将设计和实现过程分离,需要有一种全面的展现形式交给实现人员,比如设计图纸,乐谱等。 

      6 对于设计软件而言,其实是有两个分类,一个是面向用户使用的软件设计,一个是软件自身结构的设计。项目经理,产品经理,销售主管等往往只看到第一种软件设计,而架构师往往才同时关注两者。 

     7 在软件设计中,必须承认源代码才是最终设计交付的形式,但是并不应该局限于C或者Java写出来文本文件才是源代码,如果编译系统能够直接将UML图编译成机器指令或者虚拟机指令,那么她们也是源代码。如果不能,其他的文档,图表只是设计的不同粒度,以及所设计的物品的不同部分的表现形式,他们代表设计,但不是全部。(这点与Jack W.Reeves的《What is Software Design》中的观点略有不同) 

     8 在设计软件时,程序员会不断地完成实现过程,然后看到软件运行时的效果,并与之交互,进行最基本的创造过程循环。这个过程最好要经常进行,快速进行。 

     9 对于艺术设计而言,比如设计一个Logo,想出这个Logo是什么样子,配色,以及其内涵是一个设计过程,而将其用Photoshop,AI或其他工具精确地绘制出来,只是一个施工过程。 

     10 由于不同的实现方式,对同样的设计实现难度不同,成本不同,因此好的设计师应该考虑这点。 

     11 因此好的设计师应该对实施工具了解。 

     12 精通PS,AI,或者Java,并不等同于好的设计师,因为好的设计在于你有怎样的想法。 

     13 对于软件设计而言,一种编程语言可能比另外一种更能表现设计意图。 

     14 另外对于软件设计而言,具体的一段微观的代码,或许不是软件设计,而是算法设计。不要一概而论。 

      15 由于有时所要设计的对象非常庞大,比如设计故宫,或者航空航天软件,那么需要考虑流程化设计过程,对设计进行管理。对设计元素进行组织。这有利于创造更好的设计,但不是设计本身。 

      16 一个优秀的设计师,并不一定精通你所认为那个设计工具,那个工具要么是建造工具,要么是为了进行设计交流,而不是设计本身。 

      17 同样,一个好的设计,并不在乎你使用了多么复杂的工具,利用了多少奇技淫巧,有时它很简单,比如Nike的标志。 

       18 设计跟任何其他的发明创造工作一样,需要继承和学习。 

       19 任何事情都有规律,做任何事情,都有成功模式和最佳实践。设计也一样。 

       20 我们应该广泛涉猎所有知识,以启发我们的设计。 



    设计是一种思想,而不是工具。 

    天赋,博学,以及表达,才能成为一个好的设计师。

posted on 2011-08-02 13:28 零雨其蒙 阅读(258) 评论(0)  编辑  收藏 所属分类: 面向对象理论与实践


只有注册用户登录后才能发表评论。


网站导航: