软件架构师是做什么的,软件架构师是做什么

软件架构师是做什么的,软件架构师是做什么缩略图

谁能准确的告诉我架构师是什么?

谁能准确的告诉我架构师是什么?

系统架构师是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。一个架构师得需要足够的想像力,能把各种目标需求进行不同维度的扩展,为目标客户提供更为全面的需求清单。

架构师的分类:

1、软件架构师

软件架构师是软件行业中一种新兴职业,工作职责是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。主导系统全局分析设计和实施、负责软件构架和关键技术决策的人员。

2、信息架构师

信息架构师即Information Architecture,是一个常常被误解的职称。他们是设计者?开发者?管理者?还是以上全部?我们在本文将探讨信息架构师是做什么,为什么它和可用性相关,以及在信息架构中需要用到的工具/软件。

3、网站架构师

网站架构师是网站系统、功能、模块、流程的设计师,架构师,好比是高楼大厦的设计人员,通常一座大厦在建之前,都先由设计师将蓝图描绘出来,包括其形状、结构、尺寸、材料等等,然后建筑工程师带领工人们按照蓝图将大厦一层一层地建起来。

扩展资料:

架构师的要求:

1、必须具有丰富的软件设计与开发经验,这有助于理解并解释所进行的设计是如何映射到实现中去。

2、要具有领导能力与团队协作技能,软件架构师必须是一个得到承认的技术领导,能在关键时候对技术的选择作出及时、有效的决定。

3、在技术能力方面,软件架构师最重要也是最需要掌握的知识是构件通信机制方面的知识,比如远程过程调用(RPC,Remote Procedure Call)、JAVA RMI、CORBA、COM/DCOM、各种标准的通信协议、网络服务、面对对象数据库、关系数据库或者NoSQL数据库等等,另外,架构师应时刻注意新软件设计和开发方面的发展情况,并不断探索更有效的新方法。

参考资料来源:百度百科—架构师

架构师的工作职能

架构师的工作职能

确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节、扫清主要难点的技术人员.主要着眼于系统的“技术实现”.因此他/她应该是特定的开发平台、语言、工具的大师,对常见应用场景能马上给出最恰当的解决方案,同时要对所属的开发团队有足够的了解,能够评估自己的团队实现特定的功能需求需要的代价. 系统架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单等.架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作.他必须对开发技术非常了解,并且需要有良好的组织管理能力.可以这样说,一个工作的好坏决定了整个开发项目的成败.

什么是软件构架师?

什么是软件构架师?

软件构架师是技术主管

首先,软件构架师是技术主管,这意味着除了他要有技术上的技能外,还要有很好的领导才能。构架师的领导能力在团队中和项目质量控制中起着十分重要的作用。

在团队中,构架师是项目的技术总管,他需要有丰富的知识背景,以便作出技术上的决定。相对于构架师来说,项目经理是来管理项目的资源,时间进度和花费的。使用电影制作来做类比的话,项目经理就是制片人(他要确定工作被完成了),而构架师是导演(他需要确定工作被正确的完成)。由于他们在项目中所处的位置,构架师和项目经理是公众人物,在一个团队中,他们是整个项目所涉及的所有人员的联系枢纽。构架师应该为建立软件构架争取投资,并且要明确建立软件构架能给组织带来的价值。

构架师还要把团队组织在构架周围,并且要积极地投入到计划活动上,因为要把构架转化成为完成任务的先后顺序,这样才能及时地确定在什么位置需要什么技术。有一点需要注意,由于构架师能否成功与团队的整体水平有很大关系,所以构架师应该参与团队新成员录用的面试。

根据构架师所拥有的能力,他可以同时参与其他团队的工作。构架师需要根据具体的实例情况来做领导决定,并且在决定过程中要展现出足够的自信。一个成功的构架师是以人为导向的,并且像一个教练一样给他的团队安排工作时间。这对于小组的成员来说是有好处的,他们可以及时得到帮助。这是整个团队的一个巨大财富。

构架师还要把精力放在切实工作的交付上,他是技术方面的推进力量。构架师需要做决定(经常需要在压力下做决定),并且要保证这些决定是经过成员之间的交流的,并且确保它能够执行。

架构师可能是有一个小组来完成的

下面介绍一个人和一个角色的区别。一个人可以扮演很多角色(例如,Mary是一个开发人员,同时也是一个测试人员),同时,一个角色可以有很多的人扮演(例如,Mary和John都是测试人员)。构架师的角色需要非常广泛的技术,这就为什么构架师的角色经常是很多人同时担当。这样可以使技术知识在小组中传播开来,每一个人都把他的或者她的经验带到工作中。特别是当某种技术同时被商业部门和技术小组理解的时候,这项技术就会最大程度的传播开来。小组所作的结果,需要被”平衡。” 贯穿整个文章的术语”构架师”,是指的一个人或者整个小组的成员。

[一个小组]是一些拥有各种技术的人的集合,他们之间有共同需要完成的目标,并且之间相互负责任。 2

如果一个小组来担当构架师的角色,那么就需要有一个人作为这些构架师的领导,他要拥有整体的前景,并且需要调节构架师小组之间的问题。如果没有这种调节,构架师小组成员之间就会存在危险,他们可能不会建立出一个紧密地构架或者决策不会被成功的完成。

现在有一个新的概念在构架师小组中被提出:为了使成员之间达到共同的目的和目标,团队为构架师小组建立并发布了一个章程。 3

好的构架师知道自己的强项和弱点在哪里。无论构架师的角色被一个人还是一个小组担当,他们背后都有”值得信赖的顾问”的支持。他们可以通过和其他构架师协同工作来弥补自身在某些技术方面的不足。最好的构架通常是被一个构架师小组建立的,而不是一个人。原因很简单,一个小组的力量总要比一个人的知识丰富的多。

构架师小组的概念有一个缺陷,他们有时被团队中的其他人认为是在”象牙塔”里工作,因为他们的产品经常是很有智慧的但却没有使用价值。这种误解可以从开始就把它减到最小:1)确保所有的涉众都能积极地协商,2)不断的交流构架和它的价值,3)在执行过程中要有组织策略的意识。

构架师应该理解软件开发过程

构架师应该对软件开发过程有正确的估计,因为这个过程确保小组中的所有成员使用同等的方式工作。一个好的过程需要定义各个角色的工作承担责任, 产品的建立,不同角色之间的协同工作等等。由于构架师每天的工作都需要和很多小组成员打交道,所以对于他们来说了解工作的职责是非常重要的。在每天的工作中,开发小组经常要找到构架师,了解该做什么工作以及怎么去做。这就是软件构架师和项目经理之间的细微差别。

软件构架师需要有商业领域的知识

尽管拥有了丰富的软件开发经验,但是我们还期望(或者是要求)构架师拥有一定商业领域的知识。

[一个领域]是在一个范围内工作的从业人员使用一系列特定的概念和术语来表达这个领域内的知识。 4

这种知识将会使构架师更好的理解系统的需求,并把精力投身于其中,确保系统的需求是合适的——例如,从构架师领域的角度出发,需求是要被准确捕获的。经常会出现这样的情况,一个特定系列的构架样式可以被应用到与它相联系的一个特定的领域中。如果构架师知道这种映射关系,那么对他的工作将是很大的帮助。

因此,一个好的构架师将会在软件开发和商业领域的知识上面做出权衡。如果一个构架师具有很好的软件开发经验但是不了解商业领域,那么他的解决方案可能不会解决实际的问题,而仅仅只能反映出构架师是多么精通他的专业。

另外一个构架师需要精通商业领域知识的原因是,构架师要能够预见软件构架随时可能出现的变化。由于软件构架受它被配置的环境的影响非常大,所以对商业领域有正确理解的构架师,可以从软件构架的角度,对不断变化的情况做出更有远见的决策。例如,如果构架师发觉哪种新的标准在未来很可能成为主流,那么他将会使自己的软件构架在可用寿命内符合这种标准。

软件构架师应该拥有技术知识

软件构架的一个特定方面需要有一定的专业知识,因此一个构架师必须具备这个水平的知识才能够胜任他的工作。可是构架师不必成为技术专家,这体现了这篇文章第一部分的思想——构架师宏观上的决策。因此,构架师只需要了解宏观上的问题,而不必关心细节化的事情。由于技术的变化过于频繁,所以构架师要随时与这些变化保持同步。

软件构架师应该拥有很好的设计技巧

虽然软件构架并不仅仅是设计,但是设计无疑是很重要的一个组成部分。构架师应该拥有很好的设计技巧,因为软件的构架包含整个软件的关键性设计决策。这种决定包括软件主要结构的设计决策,特定部分的选择以及指导的说明文档等等。为了确保系统构架的完整性,上面那些要素都要被特别的应用到设计中,这对整个系统的成功完成有很大的作用。因此这些要素需要有固定的拥有设计技巧的人来负责——这个人就是构架师。

软件构架师需要拥有很好的程序设计技巧

开发人员是整个项目开发过程中最重要的一个小组之一,构架师要随时和他们保持联系。毕竟他们要确保软件在最后交付使用的时候能够成功的执行。如果构架师认为开发人员的工作是十分有价值的,那么他们之间的交流将会很有效用。因此,软件构架师需要拥有一定的程序设计技术,即使不需要他们编写程序。

大多数成功的构架师,在一些场合中都是核心程序员,这些场合通常是他们的职业方向。即使是技术发展了,有新的程序语言出现,一个好的构架师可以把以前学过的设计语言的概念和新的语言联系起来,以达到对新语言更加深入的了解。没有这种知识,软件构架师就不能对需要执行的构架的重要元素做出完美的决策,例如执行的组织和程序标准的采用。这会使的软件构架师和开发人员之间产生沟通上的障碍。

构架师是一个很好的沟通员

和以上提到的几种技术比起来,构架师的沟通能力是最重要的。构架师需要精通所有的沟通手段,特别是需要有一定的语言能力,包括说,写和演讲能力。交流是双向的,所以构架师还需要是一个很好的聆听者与观察者。

小组成员之间有效的沟通是项目成功的基本条件。为了更好的理解投资人的需求,与他们的沟通显得尤为重要,同时还能够让所有的投资人在软件构架上达成共识。与项目小组的沟通同时也很重要,因为构架师的职责不单单是把信息传达给小组,同时还要激励他们工作。构架师还要负责把系统的构想传达给小组成员,使得它们让全组人员了解,而不仅仅是构架师自己理解。

构架师需要做出决策

构架师不能在自己不了解的环境中做出决策,然而项目的开发周期也没有给他提供充足的时间去探索所有的环境,所以在很大的压力下做的决策不太可能成功。这种环境是被期望的,成功的构架师非常满意这种环境,而不愿去改变它。因此构架师需要是厚脸皮的,因为他们很可能在项目开发过程中更正自己的决定,并且按原路返回查找问题。正如Philippe Kruchten所说的:“软件构架师的一生是一个漫长的,在黑暗中不断摸索并不断改进自己的决定的过程”。 5

一个糟糕的决策很可能毁掉一个项目。项目小组中的其他成员会对构架师失去信心,这时项目经理就要参与进来,因为等待构架的完善不会让项目有所进展。最危险的情况是:如果构架师没有把自己的决策文档化,那么小组的其它成员可能会自己制定决策,而这种决定很可能是错误的。

软件构架师需要觉察组织的政策

一个成功的构架师不会只关心技术问题,他们还会关心组织的权力动向,时刻了解团队的决定权在哪里。这可以保证他们正在和正确的人讨论项目的决策问题。忽略团队的权力是天真的想法。现实往往是这样的:团队经常会强迫项目小组在规定时间交付系统,这需要构架师正确的评估到这个时间。

软件构架师是一个谈判代表

为了了解软件构架的很多尺度问题,构架师需要随时和投资人沟通。这种沟通常常需要谈判技巧。例如,构架师需要特别注意的一件事是:最小化项目中可能出现的风险,因为这直接关系到系统构架的稳定性。由于风险是和需求紧密相连的,所以可以通过移除或者减小这方面的需求来降低风险。因此把这种需求取消,需要构架师和投资人达成共识的。这就需要构架师是一个有效的谈判人员,来权衡这些问题。

程序员 软件设计师 网络工程师 网络管理员 还有 架构师 系统分析师 主要是做什么的 区别是什么

程序员:做编程的底层开发工作,写代码,不停的写代码

软件设计师:其实这个概念不太清楚,跟架构师类似,就是要分析设计这个软件的整体概念,就像盖房子要先画图纸,然后分给不同部门的人去建造,其实在现在,一般叫项目经理,或叫开发经理

网络工程师:设计整体的网络的人,跟软件设计师差不多,不过做的是网络工程。

网络管理员:与程序员类似,重复性的技术工种。

系统分析师:这个也是个比较模糊的,系统分析类似医生的,可以通过自己的经验和从业经验,对某各软件或某项工程进行分析,优化,从而帮助架构师或项目经理用最短的时间做出最满意的东西来。

其实你分的这几个,都是计算机里的职位,你重新分一下类好了

软件开发里面分为:程序员,软件工程师,软件架构师和系统分析师

网络工程里面分为:网络管理员,网络工程师,网络架构师和系统分析师

如果是工资高,级别高的,就是架构和分析了,但是。。。。强调一下,这两个职位不是有技术就可以的,需要大量的经验,一般都是从程序员开始做起的,才有资格。

楼主如果想进这个行业,建议先从头开始吧,冰冻三尺非一日之寒,可以把这个作为目标,一点一点努力才行哦

关于这些还有不明白的,可以加群85134514

NET架构师是做什么的

构架师是做客户需求分析,并据此对软件的功能需求,软件结构和技术手段进行规划.

软件架构师和系统架构师的区别和联系,是这样的

希赛解答:系统架构师主要是对信息系统的设计与开发,软件架构师可能更偏向于软件设计开发.

软件分析师和系统架构师的作用

理论上,系统分析师是计算机软件设计(或者也包含硬件设计)的顶层人员,他们应该具有如下待遇:

1、在单位从事系统分析工作,而不是软件设计、软件维护、软件测试等具体工作,即使系统分析师亲历亲为,设计一段艺术性极高、时间负责度极低,空间复杂度极低,但是实现的功能极其复杂(….以上省去500)的一段代码,那也是说明此系统分析师热爱编程,是工程界不同与学院界的重要特征。

2、在单位从事领导职务。系统分析师为副高职称,在单位具有此职称的一般都是大领导,而这个年轻人就具有此职称,所以此年轻人就应该是领导。

现实是残酷的!以上情况在实践中存在的可能性并不大,虽然有,但是或者这个系统分析师自己是老板,或者这个系统分析师本来就在单位占据要职(不过这类型的系统分析师更能仍然会认为他应该升更高的职务),而绝大多数,尤其是水平考试改革以来的绝大多数系统分析师在单位只处于“员工骨干”甚至更差的级别,单位不会因为你升任系统分析师就为你提值,几乎是没有的是,想升值?想加薪,好啊,拿出你的“技术本事”和“交际本事”(国有单位还要加上“资历”)来,满足了就可以升!

1、不同利益集团的阻挠。表现在

(1) 上位者的不信任或阻挠

在水平考试改革后,通过系分的一般都是35岁以下的年轻人,老一辈IT人老了,通过的话比较困难。但是单位的掌权人(尤其是国有单位)大多是老一辈的无产阶级革命家,或者35岁以上的中年人,他们辛辛苦苦掌握的权力不可能因为一个所谓的系统分析师就拱手让出。

(2)前辈的不信任和阻挠

(3)同辈的嫉妒和无声的抗议。

2、系统分析师的自我修养不够。

以上是客观条件,多用于国有企业,而这里的是主管条件,适用于任何地方。

(1)“系统分析师”的能力欠缺。

虽然通过了系统分析师,但是系统分析师的能力就真的超过了其它人吗?系统分析师必须聪明(这点是肯定的)、知识点牢靠(上午试题)、有一定的能说回道(下午试题),但是这些东西大学生都具备!这样的人一抓一大把,仅仅是这些条件是不能在单位站住脚的!单位里都有自己的业务,都有自己特色的软件,系统分析师要在单位站住脚,就必须沉下心来,学习并熟练掌握单位的业务!否则,系统分析师也会是一个不合格的员工。

(2)“系统分析师”的经验欠缺。

前面讲过,大多数系统分析师职位不是有“系统分析师”来担任的,而大多数“系统分析师”,也并没有从事系统分析职位,而是高级程序员、网络管理员、软件测试员甚至软件维护员的职位,有的系统分析师甚至都没有真正担任多于3个人的项目组长,这样缺少在真实的(不是平时玩的个人的设计)生产系统下的系统分析经验,缺少系统分析前的项目组长经验,怎么能够真正的胜任系统分析职位。

(3)“系统分析师”的沟通能力欠缺。

软件编程人员有一个通病,就是与人交往能力太差,表现在:或者不会甚至害怕与人说话;或者不懂得表达自己的意思;或者表现在认为自己水平很高,不屑于乃至看不起别人,尤其是看不起非编程而又当上领导的人员。第一种情况能做个编程人员就不错了。第二种情况怎么与客户、上司乃至下属沟通,不能沟通有怎么能够做项目。至于第三种情况,基本上是老鼠过街人人喊打,就连李白那样的高人都不能太任才驰狂了,你又能怎么样?况且,别人能够做到领导的职位,肯定有其过人的地方。

不是这样的,系分是对你过往成绩的一次认证,同时也是你继续出发的一个起到。如果你仅仅以系分这个证书为目标,那么系分就是鸡叻!如果你仅仅把系分看成是一个里程碑,那么恭喜你,总有一天,你会是所有系分的骄傲。

当你成为了系分,你会发现系分的种种无奈,但是不要着急,道路是曲折的,前途的光明的,因为:

1、系分真正逐渐的被社会所重视。

现在系分的地位比以前已经越来越高了,至少,国家人事部门已经正式认定系分为高级职称,至于何时被单位所认可,这自然需要一个过程。在某些单位中,本来就有不重视职称的传统,系分发挥的作用,自然有待加强。

现在系分已经越来越多了,人越多,受到的重视就越多,在我的博文《让系分来的更猛烈些吧》中曾经讲过,系分不是越少越好,而是越多越好。当一个证书的获得者铁定可以掌握权力时,这个证书自然是越少越好,比如院士,比如教授。但是当一个证书的获得者没有任何法定权力时,这个证书就是越多越好,这也叫做”走群众路线“,呐喊声越多,传到到上面的机会的越大,呐喊者的职位越高,作用的越大。那些害怕系分一多就不值钱,系分一多,通过的人水平就越低的人,本身就是不自信的表现,甚至就是自己所认为的水平的而又通过了系分的人。现在有很多项目经理和项目组长,他们都没有通过系分,难道他们的水平就低吗?把别人排斥在外,只希望几个人拿到证书,那是关起门来孤芳自赏,就如同只有一个国家参加的奥*运*会,没有任何意义。

2、在系分的基础上继续学习,学无止境!

3、充分的利用系分证书。

好不容易通过系分了,千万不要把系分证书束之高阁,等待发媒发臭,一定要充分的利用!我有两个同事,一个和我同时过系分,一个比我早半年过系分,可是他们的证书出了在单位里评了一个高工资格外,就没有发挥任何作用,而这个高工资格也没有为他带来任何收入,因为一来单位没有聘任,二来单位很不重视职称,聘了也没有明显的好处。当然他们还算是好的,比较在单位获得了一个高工资格,很多系分的证书可能连半点作用的没有发挥。

系统架构师(System Architecture)系统架构师是负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单等等。

http://b aike.ba idu.com/ view/ 9051 54.h tm?fr =ala0 _1_1

架构师跟程序员有什么区别呢

架构师这个职业不需要写代码咯……当然他想写的话就另说了……

系统架构师是做什么工作的?

系统架构师应能够根据系统需求规格格说明书,结合应用领域和技术发展的实际情况,考虑有关约束条件,设计正确、合理的软件架构,确保系统架构具有良好的特性;能够对项目脾系统架构进行描述、分析、设计与评估;能够按照相关标准编写相应的设计文档;能够与系统分析师.项目管理师相互协作、配合工作;具有高级工程师的实际工作能力和业务水平.你可以去考下系统架构设计师考试,来了解它.希赛的系统架构师辅导做得不错,你可以去看看.

UNIX系统架构师主要是做什么工作?

作为一名高级服务器软件开发人员,将负责设计、执行、维护我们高性能,关键业务的交易软件,并将成为加强我们业务的核心成员之一。职责:作为紧密配合的高端交易软件团队成员之一和QA,Release,和product团队一起合作完成快速开发周期长期协调好伴随战略改变的开发过程整合新的要求和技术,促进我们的业务发展职位资格:至少5年的Unix系统设计、开发经验,Sun Solaris经验尤佳至少3年的高级软件开发员经验有UML经验丰富的C++服务器研发经验最好有Java、J2EE经验丰富的网络和内部通信处理知识有SQL,ODBC,JDBC经验尤佳很强的分析问题和解决问题的能力优秀的英语书面表达和口述交流的能力有在英语国家工作经验的人将优先考虑

——————————————————————————————————

以上是我的解答,您还满意?如果不满意可以补充说明。我会为你解决到底!