Atitit 架构师之道 attilax著 1.1. 认和评估系统需求, 2 1.2. 给出开发规范 2 1.3. ,搭建系统实现的核心构架, 2 1.4. 扫清主要难点的技术人员 2 1.5. 核

Atitit 架构师之道 attilax

1.1. 认和评估系统需求, 2

1.2. 给出开发规范 2

1.3. ,搭建系统实现的核心构架, 2

1.4. 扫清主要难点的技术人员 2

1.5. 核心代码 2

1.6. 类库实现 2

1.7. 对常见应用场景能马上给出最恰当的解决方案 2

1.8. ,同时要对所属的开发团队有足够的了解,能够评估自己的团队实现特定的功能需求需要的代价。  2

1.9. 系统架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目 2

1.10. 技术选型 2

1.11. 趋势把握 2

1.12. 架构师应时刻注意新软件设计和开发方面的发展情况,并不断探索更有效的新方法 2

2. 重要作用 2

3. 具体要求 3

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

3.2. 其次要具有领导能力与团队协作技能,技术经理 3

3.3. 第三是具有很强的沟通能力 3

4. 主义反模式 4

4.1. 架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作 4

5. 培养过程 4

5.1. 1、架构师胚胎(程序员) 4

5.2. 2、架构师萌芽(高级程序员) 4

5.3. 3、架构师幼苗(设计师) 4

5.4. 软件架构师的正式成型在于机遇、个人努力和天赋。 5

6. 具备能力 5

6.1. 一般来讲,系统架构师应该拥有以下几方面的能力: 5

6.2. 架构师的隐形职责 5

7. 主要分类 6

7.1.1. 软件架构师 6

7.1.2. 信息架构师 6

7.1.3. 网站架构师 6

1.1. 认和评估系统需求,

1.2. 给出开发规范

1.3. ,搭建系统实现的核心构架,

1.4. 扫清主要难点的技术人员

1.5. 核心代码 

1.6. 类库实现

1.7. 对常见应用场景能马上给出最恰当的解决方案

1.8. ,同时要对所属的开发团队有足够的了解,能够评估自己的团队实现特定的功能需求需要的代价。 

1.9. 系统架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目

1.10. 技术选型

1.11. 趋势把握

1.12. 架构师应时刻注意新软件设计和开发方面的发展情况,并不断探索更有效的新方法

2. 重要作用

编辑

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

3. 具体要求

编辑

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

3.2. 其次要具有领导能力与团队协作技能,技术经理

‘’软件架构师必须是一个得到承认的技术领导,能在关键时候对技术的选择作出及时、有效的决定。

3.3. 第三是具有很强的沟通能力

件架构师需要与各路人马经常打交道,客户、市场人员、开发人员、测试人员、项目经理网络管理员、数据库工程师等等,而

 

4. 主义反模式

4.1. 架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作

。他必须对开发技术非常了解,并且需要有良好的组织管理能力。可以这样说,一个架

 

 

5. 培养过程

编辑

架构师不是通过理论学习可以搞出来的,不过不学习相关知识那肯定是不行的。总结架构师自我培养过程大致如下,仅供参考。

5.1. 1、架构师胚胎(程序员)

学习的知识是语言基础、设计基础、通信基础等,应该在大学完成,内容包括javacc++umlRUPXMLsocket通信(通信协议)——学习搭建应用系统所必须的原材料。

5.2. 2、架构师萌芽(高级程序员)

学习分布式系统、组建等内容,可以在大学或第一年工作时间接触,包括分布式系统原理、ejbcorbacom/com+webservice(研究生可以研究网络计算机、高性能并发处理等内容)

5.3. 3、架构师幼苗(设计师)

应该在掌握上述基础之上,结合实际项目经验,透彻领会应用设计模式,内容包括设计模式(c++版本、java版本)ejb设计模式、J2EE构架、UDDI软件设计模式等。在此期间,最好能够了解软件工程在实际项目中的应用以及小组开发、团队管理。

5.4. 软件架构师的正式成型在于机遇、个人努力和天赋。

4、软件构架师其实是一种职位,但一个程序员在充分掌握软构架师所需的基本技能后,如何得到这样的机会、如何利用所掌握的技能进行应用的合理构架、如何不断的抽象和归纳自己的构架模式、如何深入行业成为能够胜任分析、构架为一体的精英人才这可不是每个人都能够遇上的馅饼……

6. 具备能力

编辑

6.1. 一般来讲,系统架构师应该拥有以下几方面的能力:

1:具备 8 年以上软件行业工作经验;

2:具备 4 年以上 C/S B/S 体系结构软件产品开发及架构和设计经验;

3:具备 3 年以上的代码编写工作经验;

4:具备丰富的大中型开发项目的总体规划、方案设计及技术队伍管理经验;

5:对相关的技术标准有深刻的认识,对软件工程标准规范有良好的把握;

6:具有面向对象分析、设计、开发能力(OOAOODOOP),精通 UML ROSE,熟练使用 Rational RosePowerDesigner 等工具进行设计开发;

7:精通大型数据库如 OracleSql Server 等的开发;

8:对计算机系统、网络和安全、应用系统架构等有全面的认识,熟悉项目管理理论,并有实践基础;

9:在应用系统开发平台和项目管理上有深厚的基础,有大中型应用系统开发和实施的成功案例;

10:良好的团队意识和协作精神,有较强的内外沟通能力。

6.2. 架构师的隐形职责

1、为技术部门提供技术支持

2、在最需要的时刻去攻克最艰巨的技术壁垒

3、幕后项目经理

4、业务部门与技术部门间的粘合剂

5、业务发展的催化剂

7. 主要分类

编辑

7.0.1. 软件架构师

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

7.0.2. 信息架构师

信息架构师即Information Architecture,是一个常常被误解的职称。他们是设计者?开发者?管理者?还是以上全部?我们在本文将探讨信息架构师是做什么,为什么它和可用性相关,以及在信息架构中需要用到的工具/软件。我们也会顺便分享一些对于信息架构的初学者来说有用的tweeterstwitter用户)、书籍和资源。即使您已经对这些内容非常熟悉了,您也可能从中发现一些可能错过的内容。[2] 

7.0.3. 网站架构师

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

 

原文地址:https://www.cnblogs.com/attilax/p/15197780.html