ITPUB??ì3
12月微软Hyper-V虚拟化沙龙主题征集
ITPUB论坛 » 系统分析与UML » 架构师之路(转贴)

标题: 架构师之路(转贴)
离线 Frank001
一般会员



精华贴数 0
个人空间 0
技术积分 218 (8868)
社区积分 1 (35750)
注册日期 2004-6-13
论坛徽章:0
      
      

发表于 2004-8-30 10:46 
架构师之路(转贴)

架构师(Architecture)是目前很多软件企业最急需的人才,也是一个软件企业中薪水最高的技术人才。换句话说,架构师是企业的人力资本,与人力资源相比其能够通过架构、创新使企业获得新的产品、新的市场和新的技术体系。那么什么是架构师、架构师的作用、如何定位一个架构师和如何成为一个架构师呢?这是许多企业、许多程序员朋友希望知道的或希望参与讨论的话题内容。

所谓架构师通俗的说就是设计师、画图员、结构设计者,这些定义范畴主要用在建筑学上很容易理解。小时候到河中玩耍,经常干的事就是造桥,步骤如下:1、在沙滩上画图;2、选择形状好看、大小适合的石头;3、搭建拱桥。其中我们挑出来画图的那位光PP小孩就是传说中的“架构师”了。

在软件工程中,架构师的作用在于三方面:1、行业应用架构,行业架构师往往是行业专家,了解行业应用需求,其架构行为主要是将需求进行合理分析布局到应用模型中去,偏向于应用功能布局;2、应用系统技术体系架构,技术架构师往往是技术高手中的高手,掌握各类技术体系结构、掌握应用设计模式,其架构行为考虑软件系统的高效性、复用性、安全性、可维护性、灵活性、跨平台性等;3、规范架构师是通过多年磨砺或常年苦思顿悟后把某一类架构抽象成一套架构规范,当然也有专门研究规范而培养的规范架构师。他们的产物往往也分为应用规范和技术规范两类。

与建筑学类似,如果软件系统没有一个好的架构是不可能成为成功的软件系统的。没有图纸的建筑工地、没有设计的造桥工程都是不可以想象的混乱世界。建筑工程如是,软件工程中亦然!

由于国内合格、胜任的软件架构师极为少见,直接导致了我国民族软件产业水平的落后。在未来以信息产业为主导的社会,信息产业水平的低下将直接影响国家核心竞争力。究其原因,无企业非急功近利、个人缺乏引导。

企业的急功近利是有无法克服的原因的,那就是社会发展总体水平。“生存是第一位的,赚钱是第一位的”,多年来许多客户抱怨国内的软件公司无法信任、系统项目累做累败、公司越换越差,但因国外不可能给中国做应用系统项目还不得不找国内软件公司做。由于人月费用低、公司开发成本高,软件企业对于应用只能草草了事,拿钱走人(很多公司拿不到后期尾款)。这样的环境下,企业几乎无法投入更多资源培养自己的架构师,加上眼花缭乱的跳槽风气企业更是不愿投入……

那么要成为架构师的途径似乎只有现在较为流行的软件学院和个人自我培养了。关于软件学院我接触过不少,其宗旨绝大部分都是造就(or打造)企业需要的软件架构师(or程序员or人才)。教师来源与企业、学员来源与企业、人才输送到企业是他们办学的手段。尽管各个如雨后春笋般出现的软件学院口号差不多,但恐怕大多只是为了圈钱卖学位了事...

架构师不是通过理论学习可以搞出来的,不过不学习相关知识那肯定是不行的。参考软件企业架构师需求、结合目前架构师所需知识,总结架构师自我培养过程大致如下仅供参考:

1、架构师胚胎(程序员)学习的知识是语言基础、设计基础、通信基础等,应该在大学完成,内容包括java、c、c++、uml、RUP、XML、socket通信(通信协议)——学习搭建应用系统所必须的原材料。

2、架构师萌芽(高级程序员)学习分布式系统、组建等内容,可以在大学或第一年工作时间接触,包括分布式系统原理、ejb、corba、com/com+、webservice(研究生可以研究网络计算机、高性能并发处理等内容)

3、架构师幼苗(设计师)应该在掌握上述基础之上,结合实际项目经验,透彻领会应用设计模式,内容包括设计模式(c++版本、java版本)、ejb设计模式、J2EE架构、UDDI、软件设计模式等。在此期间,最好能够了解软件工程在实际项目中的应用以及小组开发、团队管理。

4、软件架构师的正式成型在于机遇、个人努力和天赋,软件架构师其实是一种职位,但一个程序员在充分掌握软架构师所需的基本技能后,如何得到这样的机会、如何利用所掌握的技能进行应用的合理架构、如何不断的抽象和归纳自己的架构模式、如何深入行业成为能够胜任分析、架构为一体的精英人才这可不是每个人都能够遇上的馅饼……

然而学海无涯,精力有限,个人如何能够很快将这些所谓的架构师知识掌握?这是秘密,每个人都有自己的独门家传秘笈就不敢一一暴露了。不过有一点就是广泛学习的基础之上一定要根据个人兴趣、从事领域确定一条自己的主线来努力。

如果说架构师是在模型图纸上工作的,那么模型元素必须是实实在在的,正如我们不可能期望抽象派画家来设计高楼大厦,没有实际意义的模型元素,是不可能构筑出软件系统的。迄今为止,绝大部分软件架构师是依赖软件程序员来实现他们的架构意图的,这二者直接的鸿沟是显而易见的。设计模式的出现是为缩短二者之间的鸿沟所做的努力,目的是让架构师和程序员之间有更多的共同语言和规范。尽管设计模式让软件开发效率和质量有一定程度的提升,但是它始终面临一个很明显的局限,那就是人的因素。人虽然在创造性方面有绝对优势,但是在精确性、持久性、效率、质量上是无法比拟机器的。所以我们希望在软件系统构建过程中,人和机器发挥各自的长处,也就是说,让人来扮演架构师的角色,而让机器来扮演程序施工者的角色。


只看该作者    顶部
离线 Boone
全力以赴



精华贴数 1
个人空间 0
技术积分 391 (5059)
社区积分 5 (15636)
注册日期 2004-6-9
论坛徽章:0
      
      

发表于 2004-9-4 18:11 
学习


__________________
Boone : “事情应该弄的尽可能的简单,但是又不能过于简单”——爱因斯坦http://blog.itpub.net/boone
只看该作者    顶部
离线 libertine
中级会员


精华贴数 0
个人空间 0
技术积分 436 (4526)
社区积分 10 (10871)
注册日期 2003-12-19
论坛徽章:0
      
      

发表于 2004-9-8 09:06 
KCOM我在两年前就适用过,就是不知道做出的项目稳定性如何。


__________________
**********************************************      交流、共享、合作**********************************************
只看该作者    顶部
离线 ADragon
初级会员



精华贴数 0
个人空间 0
技术积分 6 (125535)
社区积分 0 (150531)
注册日期 2004-9-5
论坛徽章:0
      
      

发表于 2004-9-9 09:43 
看来我这个半路出家的和尚还需更加努力啊,呵呵!


只看该作者    顶部
离线 yuzhouliu2000
初级会员



精华贴数 0
个人空间 0
技术积分 44 (30758)
社区积分 0 (136337)
注册日期 2004-8-11
论坛徽章:0
      
      

发表于 2004-9-21 07:38 
感慨。


只看该作者    顶部
离线 techboy
一般会员



精华贴数 0
个人空间 0
技术积分 112 (15443)
社区积分 0 (160149)
注册日期 2004-9-17
论坛徽章:0
      
      

发表于 2004-9-21 14:54 
真是肺腑之言拿!


只看该作者    顶部
离线 嘉凯
一般会员



精华贴数 0
个人空间 0
技术积分 182 (10344)
社区积分 25 (6920)
注册日期 2002-7-12
论坛徽章:1
授权会员     
      

发表于 2004-9-23 09:10 
难?!


只看该作者    顶部
离线 itpub888
老会员



精华贴数 0
个人空间 0
技术积分 954 (1991)
社区积分 26 (6836)
注册日期 2004-10-12
论坛徽章:2
会员2007贡献徽章ITPUB新首页上线纪念徽章    
      

发表于 2006-9-19 23:31 

关注!


只看该作者    顶部
离线 coffeewoo
初级会员



精华贴数 0
个人空间 0
技术积分 38 (34600)
社区积分 0 (654400)
注册日期 2005-10-13
论坛徽章:0
      
      

发表于 2006-9-21 16:37 
补充一点

技能和知识只要不是低智商经过努力都能掌握,不过同样的知识和技能能不能做出同样出色的工作就因人而异了。

我觉得,不管头上挂了多光亮的光环,架构师也只是一个职位而已,不要蜂涌而上。除了楼主所提到的东西之外,有志于成为架构师的朋友需要仔细的考量一下自己的天赋。我所说的天赋是指,每个人有与生俱来的思维模式,有人精细,有人粗略,有人逻辑性,有人发散性。不同的思维模式就是你自己的天赋。对架构师而言,他必须有战略眼光,很强的归纳,综合能力和对事物本质的洞察力,十分习惯于从大处着手,所谓胸怀天下(太夸张了吧???)。这个素质大部分是天生的,一小部分是后天可陪养的。

想往架构师努力的,先测试一下自己的思维模式,随意找十篇文章,在粗略简读的情况下,看你能否准确抓住每一篇文章的中心,用三句话把文章内容总结出来,并且能够轻易的把这十篇文章综合成另一篇完整的,逻辑分明的文章,而且只用很少的文字。对自己文学功底不自信的人也可以把十篇文章换成十首歌,十个人对你说的话,十件事情,十项技术......无所谓什么,这个测试与智商知识技能都无关,只是试试自己的思维模式是不是适合从细节把握大局,从纷乱找到本质,并将之统一。如果你觉得这么做对你来说挺困难,那么最好打消这个念头。架构师要面对的问题绝对不止10个.......


__________________
欢迎光临 http://coffeewoo.itpub.net
只看该作者    顶部
离线 Arrayairalex
初级会员



精华贴数 0
个人空间 0
技术积分 20 (55599)
社区积分 0 (950730)
注册日期 2006-5-22
论坛徽章:0
      
      

发表于 2006-9-21 22:00 
菜鸟请教

构架师和系统分析师(SA)的主要区别在哪啊?各自的侧重点有何不同啊


只看该作者    顶部
相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问