架构师之路
在软件工程中,架构师的作用在于三方面:1、行业应用架构,行业架构师往往是行业专家,了解行业应用需求,其架构行为主要是将需求进行合理分析布局到应用模型中去,偏向于应用功能布局;2、应用系统技术体系架构,技术架构师往往是技术高手中的高手,掌握各类技术体系结构、掌握应用设计模式,其架构行为考虑软件系统的高效性、复用性、安全性、可维护性、灵活性、跨平台性等;3、规范架构师是通过多年磨砺或常年苦思顿悟后把某一类架构抽象成一套架构规范,当然也有专门研究规范而培养的规范架构师。他们的产物往往也分为应用规范和技术规范两类。
与建筑学类似,如果软件系统没有一个好的架构是不可能成为成功的软件系统的。没有图纸的建筑工地、没有设计的造桥工程都是不可以想象的混乱世界。建筑工程如是,软件工程中亦然!
架构师不是通过理论学习可以搞出来的,不过不学习相关知识那肯定是不行的。参考软件企业架构师需求、结合目前架构师所需知识,总结架构师自我培养过程大致如下仅供参考:
1、架构师胚胎(程序员)学习的知识是语言基础、设计基础、通信基础等,应该在大学完成,内容包括java、c、c++、uml、RUP、XML、socket通信(通信协议)——学习搭建应用系统所必须的原材料。
2、架构师萌芽(高级程序员)学习分布式系统、组建等内容,可以在大学或第一年工作时间接触,包括分布式系统原理、ejb、corba、com/com+、webservice(研究生可以研究网络计算机、高性能并发处理等内容)
3、架构师幼苗(设计师)应该在掌握上述基础之上,结合实际项目经验,透彻领会应用设计模式,内容包括设计模式(c++版本、java版本)、ejb设计模式、J2EE架构、UDDI、软件设计模式等。在此期间,最好能够了解软件工程在实际项目中的应用以及小组开发、团队管理。
4、软件架构师的正式成型在于机遇、个人努力和天赋,软件架构师其实是一种职位,但一个程序员在充分掌握软件架构师所需的基本技能后,如何得到这样的机会、如何利用所掌握的技能进行应用的合理架构、如何不断的抽象和归纳自己的架构模式、如何深入行业成为能够胜任分析、架构为一体的精英人才这可不是每个人都能够遇上的馅饼……