`
zhb8015
  • 浏览: 378576 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Group-logo
Spring Roo杂谈
浏览量:0
社区版块
存档分类
最新评论

架构师

阅读更多

一、架构师分类
IBM:        
助理架构师(Level 1)具备独立架构考量能力、可在导师指导下完成一般的架构设计;
中级架构师(Level 2)可作为架构师独立完成一般项目的架构设计工作;
高级架构师(Level 3)可作为独立架构师完成复杂项目的架构设计工作,并深入某一特定领域,比如信息架构师、应用架构师、集成架构师和运维架构师等;
杰出架构师(Level 4)可作为首席架构师带领架构师团队设计和交付大型复杂系统。

Microsoft:
企业架构师EA(Enterprise Architect)、
基础结构架构师IA(Infrastructure Architect)、
特定技术架构TSA(Technology-Specific Architect)
解决方案架构师SA (Solution Architect)。

EA的职责是决定整个公司的技术路线和技术发展方向。盖茨给自己的Title就是首席软件架构师,网易丁磊也喜欢这么称呼自己,实际上就是EA角色;IA的工作就是提炼和优化技术方面积累和沉淀形成的基础性的、公共的、可复用的框架和组件,这些都是一个技术型公司传承下来的最宝贵的财富之一;特定技术架构师TSA,他们主要从事类似安全架构、存储架构等专项技术的规划和设计工作;SA的工作则专于解决方案的规划和设计,“解决方案”这个词在中国已经到了严重泛滥的程度,大忽悠们最喜欢把它挂在嘴边。所谓解决方案,就是把产品、技术或理论,不断地进行组合,来创造出满足用户需求的选择。售前工程师一般都是带着它到客户那里去发挥的。

二、架构师职责
架构师需要参与项目开发的全部过程,包括需求分析、架构设计、系统实现、集成、测试和部署各个阶段,负责在整个项目中对技术活动和技术说明进行指导和协调。
1、确认需求
   在项目开发过程中,架构师是在需求规格说明书完成后介入的,需求规格说明书必须得到架构师的认可。架构师需要和分析人员反复交流,以保证自己完整并准确地理解用户需求。
2、系统分解
    依据用户需求,架构师将系统整体分解为更小的子系统和组件,从而形成不同的逻辑层或服务。随后,架构师会确定各层的接口,层与层相互之间的关系。架构师不仅要对整个系统分层,进行“纵向”分解,还要对同一逻辑层分块,进行“横向”分解。
    软件架构师的功力基本体现于此,这是一项相对复杂的工作。
3、技术选型
    架构师通过对系统的一系列的分解,最终形成了软件的整体架构。技术选择主要取决于软件架构。
Web Server运行在Windows上还是Linux上?数据库采用MSSql、Oracle还是Mysql?需要不需要采用MVC或者Spring等轻量级的框架?前端采用富客户端还是瘦客户端方式?类似的工作,都需要在这个阶段提出,并进行评估。
架构师对产品和技术的选型仅仅限于评估,没有决定权,最终的决定权归项目经理。架构师提出的技术方案为项目经理提供了重要的参考信息,项目经理会从项目预算、人力资源、时间进度等实际情况进行权衡,最终进行确认。

4、制定技术规格说明
    架构师在项目开发过程中,是技术权威。他需要协调所有的开发人员,与开发人员一直保持沟通,始终保证开发者依照它的架构意图去实现各项功能。
    架构师与开发者沟通的最重要的形式是技术规格说明书,它可以是UML视图、Word文档,Visio文件等各种表现形式。通过架构师提供的技术规格说明书,保证开发者可以从不同角度去观察、理解各自承担的子系统或者模块。
架构师不仅要保持与开发者的沟通,也需要与项目经理、需求分析员,甚至与最终用户保持沟通。所以,对于架构师来讲,不仅有技术方面的要求,还有人际交流方面的要求。

三、如何成为
这就需要架构师的耐心和沟通能力了。在整个项目的开发过程中,架构师始终要保持与开发人员的沟通,苦口婆心地说,编码规范的重要性。时间长了,开发人员养成了好的习惯,架构师也就省心了。

1、经验是可以复制的,当您没有这方面的人员时,最好请求专业或外援,并培养自己的人员,同时有吸收的学习。
2、架构师是整个团队的技术领导,需要具备领导能力。
3、架构师需要较强的沟通能力,需要与项目的各个方面的人员进行沟通,与项目经理沟通,帮助项目经理制定合理的开发计划;与需求分析员沟通,了解系统的关键需求和非功能性需求;与开发人员沟通,使得架构设计能够被真正执行;另外还有与项目经理、物理架构负责人沟通等等。
4、架构师需要编写代码,这样使自己积累更多的代码经验,加深理解设计模式,可以帮助自己对于整个项目更加熟悉,同时能够回答开发人员在开发过程中出现的所有的问题,树立个人威信。
5、架构师需要有较强的IT知识和广博的知识面。IT的知识更新非常快,现在云计算等的出现,必然要淘汰一部分架构师,因此,架构师要保持生命力,必须要不断地学习。
6、架构师要懂业务知识。架构设计要满足系统的需求。我虽然刚到公司不久,但由于之前积累了很多业务相关的知识,经过短期的学习,也掌握了业务知识。
7、不要怕做事情,我在整个系统的开发过程中,我的开发量是别人的三倍还多,但我收获的,则也是三倍还多的经验。

下一步的目标:
1、系统理论地学习架构知识,使得知识更加固化,以进一步使得架构设计更加科学和有调理;
2、通过广泛地阅读学习企业信息化的各个方面的知识,包括ERP,SCM,营销管理,企业战略,企业管理等,每年看书或阅读文章至少100本或篇;
3、熟悉企业的业务流程,与企业不同层次的人员多多地进行交流,多学习,多沟通;
4、多交朋友,多向朋友学习与交流。

参照:
1、为什么架构设计需要方法论?
http://useway.blog.51cto.com/736087/789691
1、为什么你总成为不了架构师?
http://useway.blog.51cto.com/736087/781149
2、架构师之路(3)---架构师的职责
http://wangzebin.blog.51cto.com/653300/135640
3、

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics