架构师

,首先让我想起的是高楼大厦的设计人员,通常
一座大厦在建之前,都先由设计师将蓝图描绘出来,包
括其形状、结构、尺寸、材料等等,然后建筑工程师
带领工人们按照蓝图将大厦一层一层地建起来。

近年来,软件领域也渐渐地流行起架构师的角色,特
别是对一些大型软件产品或项目的开发,这一角色显
得很关键,因为缺乏好的软件架构师而导致项目失败
的例子不胜枚举,一个没有经验和能力的架构师也会
使项目失败的速度加快。

软件架构师在整个软件开发过程中都起着重要的作用
,并随着开发进程的推进而其职责或关注点不断地变
化,在需求阶段,软件架构师主要负责理解和管理非
功能性系统需求,比如软件的可维护性、性能、复用
性、可靠性、有效性和可测试性等等,此外,架构师
还要经常审查和客户及市场人员所提出的需求,确认
开发团队所提出的设计;在需求越来越明确后,架构
师的关注点开始转移到组织开发团队成员和开发过程
定义上;在软件设计阶段,架构师负责对整个软件体
系结构、关键构件、接口和开发政策的设计;在编码
阶段,架构师则成为详细设计者和代码编写者的顾问
,并且经常性地要举行一些技术研讨会、技术培训班
等;随着软件开始测试、集成和交付,集成和测试支
持将成为软件架构师的工作重点;在软件维护开始时
,软件架构师就开始为下一版本的产品是否应该增加
新的功能模块进行决策。

显而易见,在软件开发过程中,一个优秀软件架构
师的重要性是不应低估的。那么如何成为优秀的软件
架构师呢?首先必须具有丰富的软件设计与开发经验
,这有助于理解并解释所进行的设计是如何映射到实
现中去。其次要具有领导能力与团队协作技能,软件
架构师必须是一个得到承认的技术领导,能在关键时
候对技术的选择作出及时、有效的决定。第三是具有
很强的沟通能力,呵呵,其时这一点好象什么鬼角色
都最好具备,软件架构师需要与各路人马经常打交道
,客户、市场人员、开发人员、测试人员、项目经理
、网络管理员、数据库工程师等等,而且在很多角色
之间还要起沟通者的作用。在技术能力方面,软件架
构师最重要也是最需求掌握的知识是构件通信机制方
面的知识,比如远程过程调用、JAVA RMI、CORBA、
COM/DCOM、各种标准的通信协议、网络服务、面对对
象数据库、关系数据库等等,另外,架构师应时刻注
意新软件设计和开发方面的发展情况,并不断探索更
有效的新方法。开发语言、设计模式和开发平台不断
很快地升级,软件架构师需要吸收这些新技术新知识
,并将它们用于软件系统开发工作中。当然,行业
的业务知识对软件架构师也是很重要的,有助于设计
出一个满足客户需求的体系结构,优秀的软件架构师
常常因为要尽快获得对行业业务的理解而必须快速
学习并且进行敏锐的观察。

上面的描述是枯燥乏味的,但作为一个软件架构师,
在整个软件系统的开发过程中是乐趣无穷的,因为
这个角色很具有挑战性,有时需要左右逢源八面玲
珑,有时又需要果断坚定不留情面。在国内,较少
软件企业拥有独立的架构师,通常一个软件高手身
兼数职,既是项目经理,又是软件架构师,还是软
件开发者,有时还要客串一个测试人员,这对软件
的开发周期和产品质量是不利的,有时一个人的观
点立场是很片面的,而且繁重的工作、沉重的压力
会影响一个人的情绪,情绪会影响决策,决策影响
结果,所以值得我们三思而后行。
 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值