系统架构师应有的素质

来源:互联网 发布:mac 拖拽文件 编辑:程序博客网 时间:2024/04/28 21:22
1、 了解系统集成方面的知识
  • 硬件基础知识
  • 网络基础知识
  • 行业的最新知识
  • 软件工程基础知识
    我觉得一个架构师的知识面应该非常宽广,遇到难题,总能够想到最佳的解决方法,也即最合适的设计。所谓“复杂的系统,一流的设计”,一流的设计往往是最合适的设计,比如说分布式应用,可以使用WebService、Remoting、J2EE,架构师会方根据实际的情况做出最合理的选择。
 
2、 精通面向对象、设计原则、设计模式
        OO这是基础,OO的出现就是为了解决软件设计上的复杂性的。OO是很科学的东西,但并不是所有的地方都需要OO。个人认为OO的核心是多态,多态的核心是迟绑定。

    遵循设计原则是优雅设计的前提。过分遵循原则则是过度设计。

    架构师是直接参与设计的,设计模式解决的正是设计上的问题,所以,熟悉设计模式应该是必然的。有人说,36计就是模式。熟读36计的人并不一定都会使用36计。同样,
 
3、 熟悉企业应用的特点、难题和解决方案
 
特点
知识
  1. 涉及到持久化数据
ORM 及常用的持久化Framework如 Hibernate、iBatis、EJB、ADO.net等等
  1. 很多人同时访问数据
并发、缓存 性能和可伸缩性
  1. 含有大量操作数据的用户界面
MVC设计模式 分层 
  1. 与散布在企业内部或周围的其他的应用集成
数据访问和数据交换模式
     企业应用架构同样有模式可循。Fowler在《企业应用架构模式》一书中给我们总结出了类似《设计模式》一书中的通用的模式供我们参考。 这本书读起来比较枯燥,但确实非常有用。
 
4、 2年以上的专职编码经验
    当然,如果你是天才的话,可能不需要两年。很多人认为架构师不应该参与编码,然而,很难相信,一个不会编码的人能够设计出优秀的系统。不断的了解编码过程中遇到的问题可以促使架构师改进设计。 
5、 能够熟练的用代码、文档(birdshome、冬冬指出)和图形的形式表达自己的设计思想和设计理念
        UML是必不可少的工具,可以提供比代码更为清晰的鸟瞰视图。UML可以作为与客户沟通的工具,也可以作为与程序员沟通的工具。微软在vs2005里面也提供了自己的一套不兼容标准的建模工具。另外,birdshome 指出,还需要有一定的ppt制作水平;冬冬指出,应该具备一定的文档能力。
 
原创粉丝点击