`

西门子李伟:怎样才是真正的架构师

阅读更多

原文:http://www.searchsoa.com.cn/showcontent_36694.htm

正在加载数据...

  西门子中国中央研究院首席架构师、图书《架构之美——软件架构的艺术》作者李伟,从架构师的定义和内涵、能力和素质要求、成长途径等方面向您阐述成为一个真正的架构师需要经历的历程。

  记者: 您认为具备哪些能力,才算是真正的架构师?

  李伟:虽然业界有关什么是“软件架构”有着明确的定义及共识,但是确实没有软件架构师的定义。简单地讲,架构师是一个技术控制的角色。技术控制是从客户或市场开始,一直到交付或服务的整个链条。如果大家对一个应用研发机构或产品研制机构的主要活动熟悉的话,就知道该链条上存在很多需要架构师负责的控制点。以西门子为例,西门子的战略市场部门就会和业务部门的很多架构师进行协作。这主要是由于战略市场部门的职能之一就是对未来十到十五年的技术和创新进行预判。这样的技术预判,如果没有架构师作为技术控制,单凭MBA出身的市场人员,大家能相信这样的技术预判吗?所以架构师需要具备一定程度的技术及创新预判能力。

  从一个架构师的日常工作来看,他面对的基本上有七大问题:商业问题、系统问题、子系统问题、构件问题、技术问题、流程问题、项目管理问题。其中,前五项是一个架构师主要负责解决的。这里我尝试提几个问题,让大家检验一下自己是否具备解决这些问题的能力。

  如果进行企业应用开发,你知道经典的商业运营手段一般有哪些吗?例如:公司中一般有哪些典型的职能机构?最经典的公司财务部运作是什么样的?最经典的公司纯研究机构的运作是什么样的?或者,最经典的公司纯销售机构是怎样运作的?

  如果你负责一个实时系统的架构,经典的架构构建步骤有几步?一个医学CT机系统应该用什么架构风格来构建?军用舰艇上的3C系统又应该使用什么架构风格?除了我们都熟悉的MVC风格的架构,你还知道哪些架构风格?再具体一些,对于系统的并发问题,你知道业界流行的经典解决手段包括哪些?

  如果你负责子系统及构件设计,经典的设计步骤有几步?分别又有哪些活动?除了你熟悉的Gang of Four的23个设计模式,你还知道什么设计实践?再具体一些,设计中有关同步、事件、资源管理等,你知道哪些前人的最佳实践呢?

  实践工作中,我们遇到的现实是:盲目追随业界通用框架,即对框架或中间件的严重依赖。这些框架或中间件背后实际隐藏了很多技术、设计、应用场景,也就是说为设计开发人员隐藏了很多系统设计开发的复杂性。如果架构师把各项系统级架构质量的要求,想当然统统扔给这些框架或中间件去处理,将会带来灾难性的后果。业界有这样一句话:“框架或中间件是用来帮助你的,而不是代替你去思考和工作的。”所以我们必须根据现实的系统要求,自己动脑筋去构建适合现状的软件架构!

  简而言之,架构师需要具备的能力=熟知最佳实践+动脑灵活使用+技术及创新预判。

  记者: 在中国,一个程序员如何才能成长为一个职业架构师?

  李伟:曾经无意间读过一篇纪事报告《最后的大师》。此文作者是应钱学森先生的邀请,来记录自己的导师,清华大学物理系及清华大学创始人之一的叶企孙先生。叶先生早年在美国留学期间,在物理方面做出过杰出的贡献。虽然大多数后人并不知道叶先生,但是他的学生没有一个会忘记他,其中包括三钱、华罗庚、李政道、杨振宁等等。可以这样说,你所知道的中国大师,大多都是他的学生。阅读完此文,颇受启发:真可谓“大师培养大师”。我非常欣赏这句话。

  如果身边有大师,自然是从程序员成长为架构师的捷径了。我身边没有大师,便选择这样的道路:认真反思自己这些年来的学习和实践,并将其上升为智慧。毕竟,智慧既是指导我继续工作的原始动力,也将指导自己未来的创新工作。因此,我选择了阅读、学习和思考。

  记者: 您认为在中国的软件企业中,大家在普遍认识中对架构师这一职业有哪些误区?

  李伟:误区一,架构师与项目经理没有区别。大家经常在谈论架构师时,混淆了项目经理的职责和架构师的职能。项目经理要对人、流程、钱等内容负责。但是架构师主要是对技术负责。所以我个人不是很喜欢在谈论系统架构时,过多的谈论流程或管理。虽然我也是流程方面和管理方面的专家。

  误区二,技术好的人就能成为架构师。其实,职业架构师与职业编程人员有着同样重要的分量,只不过各自负责的工作内容及需要具备的能力各不相同。例如:架构师熟知如何将系统架构构建得适应系统后续国际化/本地化的工作;但是并不一定必须知道界面热键在.NET下调用什么来实现。

  误区三,架构师必须懂得业务领域的知识。从本质上来看,软件架构本身就是在模仿人类大脑的问题思考和解决习惯。自然,专业架构师所掌握的知识就是解决那些反复出现的相似问题的最佳手段。所以,业界都知道这样一个著名的故事:一个非航天专业的软件架构人员,可以被美国国家航天局请去做航天系统的架构评审。这一点儿都不奇怪,因为他知道解决系统并发问题时,当今最经典的那么几种手段,你能说航天系统的并发问题与企业应用并发问题本质上不一样吗?由于当前国内软件研发的各种局限,很多软件从业人员的认知还停留在“懂业务+技术好”就是架构师这样的层面上。其实,懂得经典的解决方法,并能从实践中抽象出理论或最佳实践的人,才是架构人员的专业水平。

  记者: 在《架构之美——软件架构的艺术》一书中,您认为最创新的理念有哪些?

  李伟:一个架构从创建、进化、老化到消亡的整个过程,是此书的核心。如同宇宙万物,架构也存在一个生命周期的概念。即“架构生命周期(Architecture Lifecycle)”。

  怎样才是一个真正意义上的软件架构师?

  当面临构建一个软件架构时,应该采用怎样的流程去工作呢?

  怎么做才能构建出满意的高品质架构及设计呢?

  当我们阶段性地完成了架构的构建,如何去评估结果呢?

  软件产品在演化,软件架构也会跟随演化,如何应对这种变化?

  十年前开发的产品,架构文档残缺不全,设计人员已经离职,怎么把产品的架构从纷繁复杂的头绪中清理出来呢?

  如果我们要研发十几个功能相似的产品,该如何高效地工作呢?

  上述这些理念,基本上是一个职业架构人员所需具备的专业素养。奉献给大家,以供参考。

分享到:
评论

相关推荐

    西门子SINUMERIK:关于CF卡说明.zip

    西门子SINUMERIK:关于CF卡说明zip,西门子SINUMERIK:关于CF卡说明,:问题:为什么西门子SINUMERIK只能使用自己的CF卡,不能使用第三方CF卡?若想使用其他CF卡,CF卡需要满足哪些要求?

    西门子CEMAT:水泥行业的过程控制系统.pdf

    西门子CEMAT:水泥行业的过程控制系统pdf,西门子CEMAT:水泥行业的过程控制系统:借助CEMAT,西门子可向客户提供一套极具创新性的分布式控制系统,该系统可通过优化生产效率、工厂利用率和能源效率帮助水泥行业不仅...

    西门子SINUMERIK:以太网通讯服务.zip

    西门子SINUMERIK:以太网通讯服务zip,西门子SINUMERIK:以太网通讯服务:SIMATIC,SINUMERIK 840D PL和SINUMERIK 840D SL的以太网通讯服务有何不同?

    西门子RFID:哪些3TK28可以与之配合使用.pdf

    西门子RFID:哪些3TK28可以与之配合使用pdf,西门子RFID(无线射频识别):哪些3TK28可以与之配合使用。本文介绍了3SE63安全开关- RFID(无线射频识别):哪些3TK28可以与之配合使用。

    西门子PLC:致力多层面创新.pdf

    西门子作为一家具有悠久历史的全球电子及电气产品供应商,在进入中国市场已有140余年的历史。其产品和解决方案在全球范围内享有很高的声誉,尤其在中国市场,西门子PLC产品一直保持着强劲的竞争力和市场领先优势。...

    西门子F系统:ET200M F-AI的接线和表决架构.pdf

    西门子F系统:ET200M F-AI的接线和表决架构pdf,西门子F系统:ET200M F-AI的接线和表决架构,解决方案:例如,表决可能发生在模拟量输入模块和/或CPU中。本功能实例阐述了各种故障安全信号的可能接线和表决方案。

    西门子 2022 财年 年报

    本报告为投资者、分析师和其他相关方提供了西门子公司的财务状况、业务发展、风险管理和企业治理等方面的信息,帮助他们更好地了解西门子公司的业务运营和发展战略。 知识点: 1. 财务报表分析:财务报表是公司...

    simens西门子plc:编程混料灌

    simens编程:混料灌混料灌混料灌混料灌混料灌混料灌混料灌混料灌混料灌混料灌混料灌混料灌混料灌混料灌混料灌混料灌混料灌混料灌混料灌

    WinCC典型架构指南

    ### WinCC典型架构指南 #### 一、WinCC概述与架构基础 WinCC(Windows Control Center)是由西门子公司开发的一款强大的工业自动化监控系统(SCADA),主要用于工厂自动化中的过程控制与监控。WinCC能够集成到不同...

    西门子DDC方案(详细方案)

    西门子DDC方案是一种基于楼宇自动化控制的解决方案,它为建筑环境的高效管理提供了全面的技术支持。DDC,即Direct Digital Control,直接数字控制,是楼宇自动化系统中常用的一种控制方式,通过微处理器实现对建筑物...

    西门子Sicar参考资料

    西门子Sicar参考资料是针对西门子在汽车制造领域推行的一种自动化标准,它旨在提升生产线的效率和灵活性,降低项目的调试与维护成本。Sicar标准在业界获得了广泛的认可,尤其在红旗、特斯拉、吉利等知名汽车制造商中...

    RWG1. M12D西门子控制器中文资料.pdf

    西门子楼宇科技是西门子集团在暖通空调、供热以及楼宇自控行业的重要分支,它的产品线非常广泛,主要包括以下几个方面: 1. 西门子调节阀:调节阀是用于控制流体流量、压力和流向的自动化阀门,广泛应用于工业控制...

    西门子111报文详解.pdf

    "西门子111报文详解" 西门子111报文是西门子公司的工业自动化控制系统中使用的一种报文协议。该报文协议用于在工业控制系统中传输数据,实现设备之间的通信和控制。下面是对西门子111报文的详细解释: 1. 报文结构...

    西门子PLC调试助手_snap7_snap_西门子调试助手_西门子plctcp

    西门子PLC调试助手是一款专门针对西门子PLC进行通信和调试的软件工具,其核心组件基于Snap7库,支持与采用Ethernet TCP/IP协议的西门子PLC进行高效的数据交换。Snap7是一个开源的库,允许程序员在Windows、Linux和...

    西门子利用QT搭载客户端与西门子通信_QT_西门子利用QT搭载客户端与西门子通信_

    西门子是一家全球知名的工业自动化和数字化解决方案提供商,其产品广泛应用于各种工业领域。QT则是一种流行的开源跨平台应用程序开发框架,由Qt公司(最初由Nokia开发)维护。利用QT,开发者可以创建用户界面,实现...

    西门子ET200SP:新一代分布式外围设备.pdf

    西门子ET200SP:新一代分布式外围设备pdf,西门子ET200SP:新一代分布式外围设备

    西门子模块(200 300 400)全部 CAD图纸.rar_300PLC 图纸_CAD PLC_西门子 CAD_西门子 s7-

    西门子模块是工业自动化领域的核心组件,广泛应用于各种控制系统中。S7系列PLC(可编程逻辑控制器)是西门子公司的旗舰产品,包括S7-200、S7-300和S7-400,分别对应不同规模和复杂性的应用需求。这些CAD(计算机辅助...

    西门子-数字化服务:助力企业数字化转型-2019.5-134页.pdf

    西门子公司的数字化服务是当前工业界非常关注的话题,特别是在全球制造业面临数字化转型的背景下。西门子提供的一系列数字化服务旨在帮助企业适应这一转型,增强竞争力,并实现可持续发展。以下是对西门子数字化服务...

    西门子楼宇系统架构

    1978年,西门子楼宇科技就推出了System 600楼宇自控 系统,1985年,开发了基于Windows操作平台的监控软件 Insight,而APOGEE系统则是在原System 600的基础上, 对控制器进行了全面的升级,并将Insight监控软件移植到...

    西门子产品手册:“当今制药厂如何迎接未来挑战”.pdf

    西门子产品手册:“当今制药厂如何迎接未来挑战”pdf,西门子产品手册:“当今制药厂如何迎接未来挑战”

Global site tag (gtag.js) - Google Analytics