背景:系统架构师是近几年来在国内外迅速成长并发展良好的一个职业,它对系统开发和信息化建设的重要性及给IT业所带来的影响是不言而喻的。在我国,虽然系统架构师的职业在工作内容、工作职责以及工作边界等方面还存在一定的模糊性和不确定性,但它确实是时代发展的需要,并正在实践中不断完善和成熟。

通常从组织上划分,架构师分为以下几大类:业务架构师(Business Architect)、主题领域架构师(Domain Architect)、技术架构师(Technology Architect)、项目架构师(J2EE架构师、.NET架构师等)以及系统架构师(System Architecture)。

系统架构师是系统或产品线的设计责任人,是一个负责理解和管理并最终确认和评估非功能性系统需求(如软件的可维护性、性能、复用性、可靠性、有效性和可测试性等),给出开发规范,搭建系统实现的核心架构,对整个软件架构、关键架构、接口进行总体设计并澄清关键技术细节的高级技术人员。

系统架构师主要着眼于系统的“技术实现”,同时还要考虑系统的“组织协调”。因此,系统架构师是特定的开发平台、语言、工具的大师,对常见应用场景能及时给出最恰当的解决方案,同时要对所属的开发团队有足够的了解,能够评估该开发团队实现特定的功能需求目标的资源代价。可以说,系统架构师是信息系统开发和演进的全方位技术与管理人才。

系统架构师通常负责公司系统的架构设计与持续改进,承担从业务向技术系统转换的桥梁作用;协助项目经理制定项目计划和控制项目进度;需要成都技术管理工作,如负责组织技术研究和攻关,负责组织和管理技术培训工作,管理技术支撑团队并给项目、产品开发实施团队提供技术保障。

因此一个好的系统架构师的技术素质十分重要,通常系统架构师需要具有系统思维的能力,还必须具备以下技术素质:

l 具备丰富的一线大中型开发项目的整体规划、方案设计及技术队伍管理经验。

l 具备软件行业工作经验,熟悉业务领域的技术应用和发展。

l 具有项目管理理论基础,并在应用系统开发平台和项目管理上有实践经验。

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

l 具备C/S或B/S体系结构或特定领域软件产品开发及架构和设计的经验。

l 具有面向对象分析(Object-Oriented Analysis, OOA)、设计(OOD)、开发(OOP)能力,精通UML和XML等,熟练使用Rational Rose、PowerDesigner等CASE工具进行设计开发。

l 对相关编程技术及整个解决方案有深刻的理解及熟练的应用,并且精通架构和设计模式,并在此基础上设计产品框架。

l 精通大型数据库如Oracle、Sql Server、MySQL等的开发。

l 对计算机系统、网络和安全、应用系统架构等有全面的认识。

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

整体来说,系统架构师就是能够根据用户需求,结合用户应用领域的实际情况,设计正确、合理的软件构架,维护系统构建及其接口,并确保系统架构具有良好的性能;能够对项目进行系统构架级的描述、分析、设计与评估;能够按照相关标准编写相应的设计文档;具有扎实的理论功底、广博的知识面,能够与系统分析师、项目管理师相互协作、配合工作。

软件系统架构师综合的知识能力结构包括以下几个方面:

n 战略规划能力。

n 业务流程建模能力。

n 信息数据架构能力

n 技术架构选择和实现能力

n 应用系统架构的解决和实现能力

n 基础IT知识及基础设施、资源调配的能力。

n 信息安全技术支持与管理保障能力。

n IT审计、治理与基本需求分析、获取能力。

n 面向软件系统可靠性与系统生命周期的质量保障服务能力。

做为系统架构师,必须成为所在开发团队的技术路线引导者;具有很强的系统思维的能力;需要从大量互相冲突的系统方法和工具中区分出哪些是有效的,哪些是无效的。架构师应当是一个成熟的、丰富的、有经验的、有良好教育的、学习快捷、善沟通和决策能力强的人。丰富是指他必须具有业务领域方面的工作知识,知识来源于经验或者教育。他必须广泛了解各种技术并精通一种特定技术,至少了解计算机通用技术以便确定哪种技术最优,或组织团队开展技术评估。优秀的架构师能考虑并评估所有可能用来解决问题的总体技术方案。需要良好的书面和口头沟通技巧,一般通过可视化模型和小组讨论来沟通指导团队确保开发人员按照架构建造系统。

因此,系统架构师知识维度可以总结为“多层次+多方面”。所谓多层次,意味着系统架构师必须在体系结构、计算机软硬件与网络基础知识、信息化基础知识、信息安全与可靠性基础知识等基本功的层面上受过良好的教育和快捷的学习能力;还须在系统架构设计方法、设计模式、设计流程以及各种模型等方面有丰富的经验,广泛了解各种构件产品和技术并精通一种特定领域的架构设计;进一步,还须在系统架构设计实践层面,有自己的认识和理解,同时具有很强的表述能力;所谓多方面,意味着系统架构师在每个知识层面上必须具有即使、管理、心理和艺术等多方面的知识和能力。这和系统架构师的多角色特点是相关的。

系统架构师成长之路(一)相关推荐

  1. 系统架构师成长之路(三)

     在当前的互联网领域,大数据的应用已经十分广泛,尤其以企业为主,企业成为大数据应用的主体.大数据真能改变企业的运作方式吗?答案毋庸置疑是肯定的.随着企业开始利用大数据,我们每天都会看到大数据新的奇妙的 ...

  2. 系统架构师成长之路(二)

    本篇主要介绍操作系统基础知识. 操作系统(Operating System,OS)是计算机系统的核心系统软件,其他软件是建立在操作系统基础上,并在操作系统的统一管理和支持下运行. 计算机系统的硬件资源 ...

  3. Web架构师成长之路

    Web架构师成长之路 本人也是coding很多年,虽然很失败,但也总算有点失败的心得,不过我在中国,大多数程序员都是像我一样,在一直走着弯路.如果想成为一个架构师,就必须走正确的路,否则离目标越来越远 ...

  4. 如何成为一名架构师,架构师成长之路(转)

    转自http://blog.csdn.net/fei33423/article/details/61934514 如何成为一名架构师,架构师成长之路 原创 2017年03月13日 22:50:34 3 ...

  5. WEB架构师成长之路-摘录

    一 .学习面向对象的基础知识,那你的编程之路注定是在做原始初级的重复! 很多程序员都知道类.方法.抽象类.接口等概念,但是为什么要面向对象,好处在哪里,要解决什么问题 降低软件开发的复杂度 提高软件开 ...

  6. 开启运维自动化架构师成长之路

    技术的提升仅是量的积累,思想的提升才是质的飞跃! 这句话是我在网上看到认为最有道理的励志语录了,当然互联网IT行业的工作者相对理解的会更加深刻. 以这句话开头引出我将要写的这篇文章.首先,请允许我做一 ...

  7. 架构师成长之路(5)--如何获取知识(学习境界)(方法)

    原文地址为: 架构师成长之路(5)--如何获取知识(学习境界)(方法) 哲学家常思考的问题:" 我是谁?"" 我从哪里来?"" 要到哪里去?不只是哲学 ...

  8. 架构师成长之路:如何提升技术掌控力?

    架构师成长之路:如何提升技术掌控力? 简介: 在很多人眼里,架构师就犹如古代的将军一般,既能运筹帷幄决胜千里,又能独闯敌营取人首级,是所有士兵们崇拜的偶像...好了,其实我只是想说:能成为一名优秀的架 ...

  9. Java架构师成长之路

    目录导航 前言 一.源码分析专题 1.1 设计模式详解 1.2 Mybatis源码分析 1.3 Spring5源码分析 二.分布式架构专题 2.1 漫谈分布式架构 2.2 分布式架构的基础 2.3 分 ...

最新文章

  1. Mysql中分页查询两个方法比较
  2. 面向对象语言的new操作
  3. 知识点讲解七:Python中的异常处理机制
  4. php xml 格式化,PHP实现浏览器格式化显示XML的方法示例
  5. 让Vs2013 完美支持EF6.1 Code First with Oracle 2015年12月24日更新
  6. 易助工资总额管控上市说明
  7. Attachments to close incidents
  8. http/https 协议(概略)
  9. Cannot resolve table 't_daily'
  10. 恒生电子:O45好在哪儿(深度)| 国君计算机李沐华
  11. (整理自网络)怎么样休息
  12. 百度网盘文件转存到阿里云盘工具,爱死这个软件了
  13. 微信公众号开发者模式入门
  14. 梦想,因坚持而绽放——答大学生的兴趣与行动
  15. 解决IDEA启动失败 Improperly specified VM option...问题
  16. ubuntu 安装图片编辑工具pinta
  17. 孤单还是对你最好的惩罚
  18. 计算机windows无效映像,应用程序或dll 为无效的windows映像怎么办
  19. 中国有望成为世界第一个发射量子轨道卫星的国家
  20. Java IO BIO NIO

热门文章

  1. java char 8192_java.net.ProtocolException:预期229个字节,但收到8192
  2. html简单用户登录界面_简单实现 nginx 用户登录认证
  3. php 5.6.30 漏洞,PHP 5.6.30 正式发布,安全漏洞修复
  4. BST-V51开发板用c语言,小代码 向原文学习 BST 简单的C语言版本
  5. 计算机可以配置端口号吗,如何设置打印机端口,详细教您设置电脑打印机端口...
  6. 有jar包直接加密tcp请求报文_netty(十六)报文加密
  7. C++安全方向opensssl(三)3.1 什么是单项散列函数
  8. 算法专题(一)1.1 希尔排序,快速排序
  9. x86_x64 linux模式,一起学习x86/x64知识
  10. umts是移动还是联通_联通与电信合建5G:核心网各自建设 5G频率资源共享