background image

中国软件架构师语录

摘自:

http://news.csdn.net/n/20090306/123867.html

梁永昌(趋势科技研究部和软件系统架构部副总裁

):

软件架构师在工作的范围和责任上与盖房子的建筑师很类似,必须知道他要盖的是什么房
子,有多少预算,施工期有多长,现在要的是两层楼,但以后会不会要加盖上去,厕所要
几个,厨房在哪里,哪里要设门,哪儿要开窗,梁柱要多粗,要用什么材料?因为,盖四
合院和十层大楼是不一样的。
同样,软件架构师必须知道他要设计的是什么软件,将被什么样的客户在什么样的环境下
使用,可使用系统资源限制是多少,兼容性要求高不高,安全要求是什么等级,会不会有
下一个版本,下一个版本又将增加什么功能,模块和模块之间的关系是什么,每一个不同
的考虑都会影响设计,软件架构师就是要在考虑过种种因素后决定软件的架构和使用技术。

其实商业软件架构师最大的挑战还是在折中的拿捏上。人力总是不足,时间永远不够,面对
现实状况的压力,当完美设计

(每个人都如此自认)无法如愿被全盘采用时,讨论(或争吵)就

不可避免,效能可不可以让步,安全等级能不能降低些,哪些项目可以改变,哪些又该坚
持到底,这些都是要做出的决定,而且更重要的是要能让大家充分了解你做此坚持是出自
何种考虑。
       软件架构师的工作伙伴大都也是技术人员,就像自古文人相轻一样,

技术人员彼此的

尊敬只会建立在技术能力的优越性上,软件架构师必须要有深厚的技术底子和宽广的业界
信息,再加上一点口才和亲和的态度,这才容易获得其它工程师的认可和尊敬,也才不会
你画你的十层楼,他盖他的四合院。

廖恒毅

(佳软公司董事长):

当然,软件复杂度的问题其实比这个问题

(指数爆炸问题)更加难解,所以我们到现在为止,

还没有找到软件中的这个对数算法。但是,基于目前软件界的认知,我们多少有了一些解决
方案:对象编程,组件模型,多层结构

……,已经为软件设计提供现实可行的方法。问题是,

这些概念理解起来也非常不容易。大家都说着同样的词汇,却有可能干着完全不同的事情,
所以才会有误解,才会有争执。软件架构师是一个靠无数经验积累的结果。尤其是优秀的软
件架构师,跟所有别的能够成为

“师”的职业一样,在对自己的行业有了基本的了解之后,

在自己不断成长的过程中,并没有一定的套路的。靠的是领悟力,靠的是对这个现实世界哲
学性的思考。当用哲学的眼光来观察这个世界的时候,就离一个优秀的软件架构师不远了。
       一个优秀的软件架构师,如果他愿意学的话,同样应该能够做出很香的饭菜来,因为
软件架构师和厨师有相通的地方。大家以为如何

?师者,通也。

何健

(金算盘 CTO,首席架构设计师):

架构师是客户需求和开发者之间的桥梁。在软件行业中,一般提到的架构师是技术架构师,
而实际上产品架构包括业务架构和技术架构,只有技术架构和业务架构紧密结合才有可能