系统架构师,又称企业架构师或者系统设计师,是一个最终确认和评估系统需求、给出开发规范、搭建系统实现的核心构架,并澄清技术细节、扫清主要难点的技术人员。那么系统架构师有哪些职责呢?必须具备哪些必备能力呢?一起来了解了解!
系统构架师的职责
系统架构师的职责就是设计一个公司的基础架构,并提供关于怎样建立和维护系统的指
导方针。具体来讲,系统架构师的职责主要体现在以下几方面:
1负责公司系统的架构设计、研发工作;
2承担从业务向技术转换的桥梁作用;
3协助项目经理制定项目计划和控制项目进度;
4负责辅助并指导SA开展设计工作;
5负责组织技术研究和攻关工作;
6负责组织和管理公司内部的技术培训工作;
7负责组织及带领公司内部员工研究与项目相关的新技术。
8管理技术支撑团队并给项目、产品开发实施团队提供技术保障。
11理解系统的业务需求,制定系统的整体框架(包括:技术框架和业务框架)
12对系统框架相关技术和业务进行培训,指导开发人员开发。并解决系统开发、运行中出现的各种问题。系统架构师的目的:
13对系统的重用、扩展、安全、性能、伸缩性、简洁等做系统级的把握。
系统架构师的工作在于针对不同的情况筛选出最优的技术解决方案,不是沉在具体实现细节上。此外系统架构师是不可培养的,好的系统架构师也许不是一个优秀的程序员,但是不能不懂技术之间的差别,技术的发展趋势,采用该技术的当前成本和后继成本,该技术与具体应用的偶合程度,自己可以调配的资源状况,研发中可能会遇到的风险,如何回避风险。这些才是架构师需要考虑的主要内容。
架构的分类
第一种是基础架构的设计规划,例如:OS,硬件,网络,各种应用服务器等等。
第二种是软件开发设计的架构师,他们负责规划程序的运行模式,层次结构,调用关系,规划具体的实现技术类型,甚至配合整个团队做好软件开发中的项目管理。
系统架构师必须具备的能力
作为软件开发的设计架构师,那么必须拥有一定的编程技能,同时有高超的学习新的架构设计、程序设计技能。另外,我觉得作为软件架构师,还必须了解一定的硬件、网络、服务器的基本知识。要不然,你都不知道有些什么材料可以用,你怎么去根据实际情况去规划你的软件架构呢?忽视程序设计能力的持续跟新,是永远不能够成为一个成功的系统架构师。
一般来讲,系统架构师应该拥有以下几方面的能力:
1:具备8年以上软件行业工作经验;
2:具备4年以上C/S或B/S体系结构软件产品开发及架构和设计经验;
3:具备3年以上的代码编写工作经验;
4:具备丰富的大中型开发项目的总体规划、方案设计及技术队伍管理经验;
5:对相关的技术标准有深刻的认识,对软件工程标准规范有良好的把握;
6:对.Net/JAVA技术及整个解决方案有深刻的理解及熟练的应用,并且精通WebService/J2EE架构和设计模式,并在此基础上设计产品框架;
7:具有面向对象分析、设计、开发能力(OOA、OOD、OOP),精通UML和ROSE,熟练使用RationalRose、PowerDesigner等工具进行设计开发;
8:精通大型数据库如Oracle、SqlServer等的开发;
9:对计算机系统、网络和安全、应用系统架构等有全面的认识,熟悉项目管理理论,并有实践基础;
10:在应用系统开发平台和项目管理上有深厚的基础,有大中型应用系统开发和实施的成功案例;
11:良好的团队意识和协作精神,有较强的内外沟通能力。