现在的 website 的爆发式的增长,导致了很多大中型的网络公司对架构师的迫
切需求,架构师到底是干吗的呢?一起来了解一下!
软件架构师在整个软件开发过程中都起着重要的作用,并随着开发进程的推进
而其职责或关注点不断地变化,在需求阶段,软件架构师主要负责理解和管理非功
能性系统需求,比如软件的可维护性、性能、复用性、可靠性、有效性和可测试性
等等,此外,架构师还要经常审查和客户及市场人员所提出的需求,确认开发团队
所提出的设计;在需求越来越明确后,架构师的关注点开始转移到组织开发团队成
员和开发过程定义上;在软件设计阶段,架构师负责对整个软件体系结构、关键构
件、接口和开发政策的设计;在编码阶段,架构师则成为详细设计者和代码编写者
的顾问,并且经常性地要举行一些技术研讨会、技术培训班等;随着软件开始测
试、集成和交付,集成和测试支持将成为软件架构师的工作重点;在软件维护开始
时,软件架构师就开始为下一版本的产品是否应该增加新的功能模块进行决策。
显而易见,在软件开发过程中,一个优秀软件架构师的重要性是不应低估的。
那么如何成为优秀的软件架构师呢?
首先必须具有丰富的'软件设计与开发经验,这有助于理解并解释所进行的设
计是如何映射到实现中去。
其次要具有领导能力与团队协作技能,软件架构师必须是一个得到承认的技术
领导,能在关键时候对技术的选择作出及时、有效的决定。
第三是具有很强的沟通能力,呵呵,其时这一点好象什么鬼角色都最好具备,
软件架构师需要与各路人马经常打交道,客户、市场人员、开发人员、测试人员、
项目经理、网络管理员、数据库工程师等等,而且在很多角色之间还要起沟通者的
作用。在技术能力方面,软件架构师最重要也是最需求掌握的知识是构件通信机制
方面的知识,比如远程过程调用、JAVARMI、CORBA、COM/DCOM、各种标准的通信协
议、网络服务、面对对象数据库、关系数据库等等,另外,架构师应时刻注意新软
件设计和开发方面的发展情况,并不断探索更有效的新方法。开发语言、设计模式
和开发平台不断很快地升级,软件架构师需要吸收这些新技术新知识,并将它们用
于软件系统开发工作中。当然,行业的业务知识对软件架构师也是很重要的,有助
于设计
出一个满足客户需求的体系结构,优秀的软件架构师常常因为要尽快获得对行
业业务的理解而必须快速学习并且进行敏锐的观察。