前言
每次分享技术的时候,或者面试一些初中级的应聘者的职业规划的时候,70%左右都说在技术上有一个提升,打算在未来五年内成长为一个架构师;接着我就问了一下,架构师的职责都有哪些?99%的人比较浅层次的回答为“就是负责公司系统架构搭建,框架搭建等”,这里想给广大网友们一个自己对架构师的认识吧!
什么是系统架构师?
系统架构师是对一个最终确认的、评估系统需求并给出开发方案、搭建系统架构、并澄清技术细节,或者技术培训、已经未来系统瓶颈解决方案(或者说攻克技术难点)等等的技术人员。主要专注于系统架构层次,在特定的业务场景,对于常见的场景能够立刻给出解决方案、同时对于团队技术人员有足够的了解,能够评估需求项目周期和成本等等
系统架构师在考虑整体系统架构时,从需求到设计的每个细节都应该考虑到,把握整个项目,使项目的扩展性、可移植性、可开发性等等都尽可能提高
工作内容(职责)都有哪些?
在描述什么时系统架构师的时候简单介绍一下他的工作内容,这里详细介绍一下:
1,需求整理分析
项目前期主要指的是项目业务需求调研、包括配合用户制定项目建设方案、技术规范书、配合市场人员进行售前技术交流等环节,此阶段应该组织由售前工程师、需求分析师(业务专家)以及系统构架师等组成一个临时小组,负责跟踪项目。这个小组根据项目的大小和客户的要求确定小组成员,一般由3—5名成员组成。根据客户的要求,既可以是全职的,也可以是兼职的。
项目前期小组的工作是项目的开始,这个小组工作成绩的优劣、工作质量的高低,将直接影响项目的成败。因此,从管理层的角度,一定要重视这个环节。
项目前期小组需要完成的工作包括以下方面:
A)客户的各种项目前期要求,如:方案介绍、业务需求编写等
B)提交项目可行性分析报告,包括成本/效益分析
C)提交项目建议方案
D)提交业务需求说明书或需求分析说明书
2,设计开发方案:
系统设计是决定项目或软件系统“怎样做”的过程,这个过程回答了系统应该如何实现的问题。从软件工程的角度,设计阶段大约是整个项目开发成本的25%,所以,设计团队以及该团队的工作成绩对于整个系统来说至关重要。
设计团队一般由3—8名设计人员组成,从这个阶段起,项目需要一名项目经理,行使项目组的各种管理职能。设计团队的成员具体包括:
1名项目经理
包括1—2名项目前期成员
1名系统构架师
2—4名设计人员
1名数据库设计人员
1名用户界面设计人员组成
设计团队需要完成的工作包括:
A)项目开发计划
B)确定系统软硬件配置最佳方案
C)确定系统开发平台以及开发工具
D)确定系统软件结构
E)确定系统功能模块以及各个模块之间的关系
F)确定系统测试方案
G)提交系统数据库设计方案
H)提交系统概要设计文档
由于应用软件需求经常变化,因此设计需要考虑系统可扩展性,并需要在设计过程中对于重要的环节和用户进行及时沟通。
3,搭建系统架构:在需求分析阶段根据需求选择适合框架,一般要求架构师对技术的掌握程度
4,澄清技术细节:
A)搭建框架的说明文档,需要介绍一下使用的技术特点,目录说明,数据库表设计(如果没有DBA)
B)如果使用技术公司大部分都不是很熟悉,此时就需要架构师制作文档,组织培训,以达到快速开发的目的
C)项目开发过程中难点分析与难点培训解疑
5,系统瓶颈解决:
A)预测未来系统架构变更:由于业务的不断扩大,导致对系统的性能、安全、外观等等不断处理需求的变更导致架构的变更
B)业务对性能的不断要求与系统架构/技术达到阈值之后的处理方案
相对于产品经理职责有什么区别?
持续更新中。。。
相对于项目经理职责有什么区别?
持续更新中。。。