项目中的架构师负责什么?

凡员外 2010-05-14 09:42:10
面试官问:你的近期目标是什么?
我:架构师。
面试官:那你觉得项目中的架构师负责什么?
我:(想了想),整体框架搭建、开发规范制定、指导并监督开发质量。
面试官摇了摇头。。。。

请教各位:项目中的架构师负责什么?我的回答哪地方不对?
...全文
1508 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
凡员外 2010-05-17
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 bao110908 的回复:]
近期的目标是架构师。连架构师是做什么的都不知道,还怎么目标法?
[/Quote]是啊,很惭愧
DryKillLogic 2010-05-16
  • 打赏
  • 举报
回复
学习了,努力。。。。
凡员外 2010-05-16
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 leehomwong 的回复:]
囧啊,近期目标怎么能说架构师呢,连面试LZ你的人都没达到这水平,你这样说叫他情何以堪
[/Quote]面试我的,是一个管理着上百号开发人员、有着N年从业经验的项目经理。
凡员外 2010-05-16
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 xieyuooo 的回复:]
LZ对于架构师的理解可能是从技术侧面来理解的,不过架构师如果只仅仅注重于技术它的功力肯定就还没有达到那个境界了。。。

的确你描述的几点架构师一般需要去完成的,不过这部分之前还需要一些动作,之后还需要一些动作,这部分是技术实现的一个抽象过程和技术实现。。。其实架构师一般参与系统的前期工作,后期质量保障一般情况下由QA来完成,除非框架的扩展性或者性能各方面出现典型的严重问题,架构师必须亲自解决,……
[/Quote]多谢指点。只是没有看懂
凡员外 2010-05-16
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 bao110908 的回复:]
在国外,架构师最少都是拥有十几年开发经验的人。
在国内,哎!

四年就做架构师,在国外看来四年还没有入门呢
[/Quote]那看来国内没有架构师
  • 打赏
  • 举报
回复
说实在的,四年的工作经验还没有能力担任架构师一职。
  • 打赏
  • 举报
回复
近期的目标是架构师。连架构师是做什么的都不知道,还怎么目标法?
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fanyuanwai 的回复:]

引用 2 楼 bbamm112 的回复:
问下LZ作软件多年了,架构师没5年 ,做不了的
个人认为
不到4年。

但是,听说,有大学刚毕业的研究生,考个架构师的证书,直接去做架构师的说。
[/Quote]

架构师还有证书?不会是 Sun 的那个 SCEA 证书吧?

要考张证就能担任架构师一职的话,那架构师肯定要比敲代码的程序员要多,因为在国内最会考的就是证了。
  • 打赏
  • 举报
回复
在国外,架构师最少都是拥有十几年开发经验的人。
在国内,哎!

四年就做架构师,在国外看来四年还没有入门呢
hx_java 2010-05-15
  • 打赏
  • 举报
回复
LZ说的确实有点不可信.. 夸张了,就是QH的,估计也没刚毕业就做CTO的..
龙四 2010-05-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fanyuanwai 的回复:]

引用 2 楼 bbamm112 的回复:
问下LZ作软件多年了,架构师没5年 ,做不了的
个人认为
不到4年。
但是,听说,有大学刚毕业的研究生,考个架构师的证书,直接去做架构师的说。
[/Quote]
这个怎么可能!哪个公司敢这么做我佩服他!
jinchun1234 2010-05-15
  • 打赏
  • 举报
回复
你回答的是QA的功能
小霍夫 2010-05-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fanyuanwai 的回复:]

引用 2 楼 bbamm112 的回复:
问下LZ作软件多年了,架构师没5年 ,做不了的
个人认为
不到4年。
但是,听说,有大学刚毕业的研究生,考个架构师的证书,直接去做架构师的说。
[/Quote]

实践才是王道! 如果大学才毕业有公司用他做架构师。。这种情况估计没有! 除非公司 小得只有几个人才可能那时候就不分什么架构师了。 自已分析,自己编码!


我们公司 的cto行业经验7年!
凡员外 2010-05-15
  • 打赏
  • 举报
回复
没人回答呢?大家都在上班吗?
24K純帥 2010-05-15
  • 打赏
  • 举报
回复
囧啊,近期目标怎么能说架构师呢,连面试LZ你的人都没达到这水平,你这样说叫他情何以堪
xieyu_zy 2010-05-15
  • 打赏
  • 举报
回复
LZ对于架构师的理解可能是从技术侧面来理解的,不过架构师如果只仅仅注重于技术它的功力肯定就还没有达到那个境界了。。。

的确你描述的几点架构师一般需要去完成的,不过这部分之前还需要一些动作,之后还需要一些动作,这部分是技术实现的一个抽象过程和技术实现。。。其实架构师一般参与系统的前期工作,后期质量保障一般情况下由QA来完成,除非框架的扩展性或者性能各方面出现典型的严重问题,架构师必须亲自解决,对于协调项目组问题,一般也是由过程开发经理来完成。

如果在一个多业务开发的公司内部首先,首先架构师要居于行业领域经验,并深入实际进行领域分析,定位系统的范畴和目标,前期做的工作不一定要处处到位,因为这不太可能,但是一定要考虑较好的功能扩展性和长期性性能方案等;其实这是搭建业务平台的过程。。所谓定位目标,它不需要知道每一个细节的业务如何去完成,只要一些核心业务的走势,加上行业领域的解决方案经验,才能辅助搭建业务上高扩展性、性能上高可用性的框架平台,并使得软件降低成本和保障质量,至于软件如何为企业创造价值相对来说在业务细节设计上比较重要,架构师相对关心的层面是较为全局的概念。

有针对性抽象技术框架,一般一个企业内部都有自己的框架平台,不过就个人经验而言,任何框架并非万能,对于行业级应用应当进行部分个性化的重写,从上述领域分析和核心业务流的分析中去抽象出核心原理部分。其次,再去完成一些共享操作的抽象等等吧;不过公司内部的框架应当提供一些常规应用开发的共享操作,这些操作就不需要架构师再去自己写了,否则框架开发时间会非常长,架构师将这部分设计最后会交给设计师和开发人员,根据系统定义的框架规范去做开发工作,这样架构师写的这部分写的,程序员也不用自己去写了,逐层抽象,这样将共享的信息抽象出来,降低代码的耦合性,避免重复代码并降低BUG的概率,同时也提高开发效率(这点也是JAVA开发效率的关键,在于前期框架搭建得如何,很多架构师头几次搭建框架也不怎么样,如果他没有总结经验(或者叫被程序员骂过后反思过),那么搭建出来的框框永远那么不好用,如果回去反思过,你会发现他搭建的框架越来越漂亮(从很多角度看)),这些涉及业务和技术的平衡了。。。。

搭建部分核心模型(可能涉及少量核心业务,但是大部分都是业务周边逻辑层的抽象模型,辅助后期业务实现和扩展),一个有针对性的系统,都有一些核心数据模型,它在很大程度上决定系统的业务扩展性要求和性能。这需要对行业领域的整体认识和对问题的抽象能力,从各项维度和层次对问题进行抽象,并化繁为简,同时需要站在客户、程序员的角度去考虑一些问题(其实架构师在实现技术框架部分首先要冷静的将自己当成程序员,并且其技术功底要远远高于普通的程序员)。

如何降低系统BUG和提高质量以及可维护性在前期做的工作非常重要,也是在基于系统设计基础上的业务设计层面非常重要,如何做到设计上的松散耦合并高内聚的效果;也许这应该是设计师的事情,不过国内大部分公司分得还不是很清楚,而且就如上面所说,国内相对来说设计师还是比较年轻一点,架构师肯定还是要成熟一些(不过这个还是看各人,不一定非要10年,也有在公司混十多年的,也有成长迅速的,看各人悟性和对学习的热爱程度,每个人选择了不同的路,成长的速度可能会有天壤之别)。

在前期工作中,我想架构师还需要去做一件大事就是硬软件选型,需要根据系统的访问量、运行时数据保存量,统计量,客户经济以及对高可用性的要求,系统可能运行的时间(一般控制5~10年就没什么问题了,除了银行核心软件,没有几个系统会超过这个时间的),对服务器提供商(高端如IBM,国内很多企业买不起就买DELL的),操作系统(如Linux、AIX),数据库(大型企业级应用首选ORACLE、DB2)、应用服务器(如:weblogic、websphere)、开发语言貌似基本都不用说了,技术框架都是先了。。。。然后如何将选型好的硬软件进行架构,首先根据机器,分布应用服务器和数据库服务器,分别如何部署集群应用,数据库层面可能对历史信息需要搭建数据仓库,应用服务器可能在硬件集群上建立软件集群或直接做软件集群;对于集群可提供的访问量以及各个节点挂接的子系统运行情况,需要有一个初步的量化分析,对于服务器内部具体如何去完,我想这里不是这个话题,我本来扯得有点多了;不过在有必要的情况下,可以通过自己对于技术的深厚功底给开发人员授课,如何从程序角度量化一部分的系统开销;这部分信息需要出一部分分析报告以在系统开发后做相应的测试。。。。

至于制作很多图标什么的(如制作业务模型、制作开发周期等等),有些可能不算是架构师去做了,应该是设计师和经理去做了。。。如果过国内分不太清楚的话,也可能一人两职,虽然能者多劳,不过这样未必是好事。。。。

有些可能需要在实际的项目要求中,才能绝对定位架构师的职责,不过国内很多公司甚至于在同一个公司的不同项目组,都有自己的管理规矩,没有一个统一的说法,可能个人才疏学浅或者孤陋寡闻,所以能说的基本到此为止。。。。。
凡员外 2010-05-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bbamm112 的回复:]
问下LZ作软件多年了,架构师没5年 ,做不了的
个人认为
[/Quote]不到4年。
但是,听说,有大学刚毕业的研究生,考个架构师的证书,直接去做架构师的说。
凡员外 2010-05-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fairy_dy 的回复:]
1 、确认需求
在项目开发过程中,架构师是在需求规格说明书完成后介入的,需求规格说明书必须得到架构师的认可。架构师需要和分析人员反复交流,以保证自己完整并准确地理解用户需求。
2、系统分解
依据用户需求,架构师将系统整体分解为更小的子系统和组件,从而形成不同的逻辑层或服务。随后,架构师会确定各层的接口,层与层相互之间的关系。架构师不仅要对整个系统分层,进行“纵向”分解,还要对同一逻辑……
[/Quote]拜托不要谷歌撒,这样的答案网上一搜一大堆。大家能否用自己的话,结合自己的认识概括一下
bbamm112 2010-05-14
  • 打赏
  • 举报
回复
问下LZ作软件多年了,架构师没5年 ,做不了的
个人认为
Fairy_dy 2010-05-14
  • 打赏
  • 举报
回复
1 、确认需求
在项目开发过程中,架构师是在需求规格说明书完成后介入的,需求规格说明书必须得到架构师的认可。架构师需要和分析人员反复交流,以保证自己完整并准确地理解用户需求。
2、系统分解
依据用户需求,架构师将系统整体分解为更小的子系统和组件,从而形成不同的逻辑层或服务。随后,架构师会确定各层的接口,层与层相互之间的关系。架构师不仅要对整个系统分层,进行“纵向”分解,还要对同一逻辑层分块,进行“横向”分解。 软件架构师的功力基本体现于此,这是一项相对复杂的工作。
3、技术选型
架构师通过对系统的一系列的分解,最终形成了软件的整体架构。技术选择主要取决于软件架构。
Web Server运行在Windows上还是Linux上?数据库采用MSSql、Oracle还是Mysql?需要不需要采用MVC或者Spring等轻量级的框架?前端采用富客户端还是瘦客户端方式?类似的工作,都需要在这个阶段提出,并进行评估。架构师对产品和技术的选型仅仅限于评估,没有决定权,最终的决定权归项目经理。架构师提出的技术方案为项目经理提供了重要的参考信息,项目经理会从项目预算、人力资源、时间进度等实际情况进行权衡,最终进行确认。
4、制定技术规格说明
架构师在项目开发过程中,是技术权威。他需要协调所有的开发人员,与开发人员一直保持沟通,始终保证开发者依照它的架构意图去实现各项功能。
架构师与开发者沟通的最重要的形式是技术规格说明书,它可以是UML视图、Word文档,Visio文件等各种表现形式。通过架构师提供的技术规格说明书,保证开发者可以从不同角度去观察、理解各自承担的子系统或者模块。
架构师不仅要保持与开发者的沟通,也需要与项目经理、需求分析员,甚至与最终用户保持沟通。所以,对于架构师来讲,不仅有技术方面的要求,还有人际交流方面的要求。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧