background image

系统架构师应该有的素质:

1、

 实际的编程经验

  最少 2 年吧,多了就不说了,其实从大学就开始钻研的话,
2、

 书面表达能力和口头交流能力

   综合利用架构图,UML 图,文字和代码片断,表达自己设计思想,至于是 Word 还是
ppt,应该通吃
  在开发人员中发现架构师的最有价值标准是有效的沟通。您需要技术娴熟、经验丰富的开发
人员,这样的人员需要有就项目中的业务相关问题进行沟通的

 经历。架构师经常必须对理

解方面的差距进行预计,然后才能有所贡献。他们必须愿意克服困难来确保技术和业务观点
的融合。他们并不必对意见交换工作进行计划

 和协调;这仍然主要是项目经理的工作。他们的

任务是确定表述系统设计时的最佳工具和构件,以促进有效的意见交换。他们必须能够判断
当前方法显得不足而需要

 采用新方法的情况。写作技能也非常重要,还需要具有制作草图

的技能或使用制图软件的能力。
 3、

 自觉主动;积极解决设计问题

  架构师的日常工作目标经常并不明确。很多开发人员直接参考功能规范来列出任务清单。架
构师通常则是

 向这些开发人员提供所需结构的人员,以便尽可能提高工作效率。好的候选

者不仅进行沟通方面的工作,而且也会预计各种设计问题并加以解决

——通常在没有任何

 

具体指示的情况下自觉进行。无论所分配的职责如何,积极参与项目的开发人员都有机会从
一起工作的人员中脱颖而出。
4、

 抽象思维能力和总结能力

  架构师,顾名思义,在系统未搭建好之前,就要能够有一个草图在心。而如果是对现有系
统的改造,那么能在看过系统的文档(如果有的话)和代码后,就能总结出系统的架构特
点。
  架构师必须能够理解表述模糊的概念并将其变成相关各方能够理解的项目构件。他们必须
能够理解抽象概念,并以具体的语言对其进行沟通。开发人员中好的候选者经常要求或自己
主动解释开发生命周期中容易混淆的问题。他们能迅速评估各种想法并将其纳入后续工作的
操作建议中。
  开发人员经常具有很强的数学能力,而好的架构师则倾向于表现出更强的口头表达能力。
管理人员经常说开发人员具有

“工程意识”,而这是一个用于评 估架构师的非常有意义的方

面。架构师应该具有很强的解决技术问题的能力,但还必须能够准确获知更为全面的人员如
何与技术交互的信息。这要求具有某种形式的

 抽象思维(而不再是代码的细节),这种思维能

力可能较难形成。
5、

 全面的技术资讯吸收能力和选择鉴别能力

  作为开发人员出身,对于某一个具体问题的研究能力(虽然很多人总结为 google 能力),
 已经相当具备了。但是对技术资讯的全面接受和选择性深入了解能力,并且做出正确的判
断,那些技术无非是厂家的噱头,而那些技术是真正可以用到项目,提高项

 目质量的好技

术,这种能力确实至关重要的。

论软件架构师的角色和培养:架构与架构师

 

随着软件系统的规模越来越大,复杂程度越来越高,软件设计的核心已经超越了传统的

“算

+数据结构=程序”的设计模式,取而代之的是对系统的总体结构的设计和规范[1]。软件架

构在软件系统中充当着重要的角色,软件架构也是软件工程中迅速发展的一个研究实践领
域,有很多的文献

[2~4]讨论了如何构架一个好的软件系统。软件架构师作为软件架构的设

计者是关系到软件成败的关键因素。然而,有关软件架构师的角色定位以及教育培养问题,