架构师的自我修养

1、何为软件架构?

软件架构,指从宏观角度说明一套软件系统的组成和特性。 架构设计与需求分析,概要设计,详细设计最大的区别在于“宏观”二字。要去架构师必须具有大局观,从全局角度思考问题。

2、软件架构包含哪些内容?

逻辑架构:软件要为哪些用户提供什么样的功能,架构设计中的所有决策来源于需求。架构设计不能搞经验主义。

数据架构:软件逻辑中的数据结构。功能性需求的核心是数据,所有业务流程都是围绕数据进行的。
开发架构:就是软件代码的层次骨架。

运行架构:软件在运行过程中的所体现出来的非功能需求。包括高性能,高可用,可扩展,安全等。
物理架构:软件的物理部署以及网络拓扑。

架构师的自我修养_第1张图片

3、架构师的职责

3.1 架构师介于需求与研发中间的人企业对架构师的要求:纪要技术好,也要懂业务一名合格的架构师就需要多思考,多学习,有丰富的项目经验。

3.2 架构师是统领全局的将军

3.3 架构师要作为技术大牛攻克技术难题

架构师要有一种“不吃不喝也要解决问题”的狠劲,一种见山开山,遇河架桥的精神去攻克技术难题。
但是人的精力是有限的,攻克问题不能架构师一个人单打独斗,团队中架构师往往起到指引方向的作用。比如指定明确的技术方向,落实主要的设计思路等。

3.4 架构师作为战略规划师去规划未来战略拥有强大的战略眼光,能帮助企业进行技术规划,指定未来的技术发展方向。根据侧重点,架构师可以分为以下几种类型:

解决方案架构师: 侧重沟通客户,理解业务,为客户指定技术解决方案。
系统架构师:能力更加均衡,负责从项目的需求分析到技术落地的全流程
平台架构师:更侧重于技术,将技术难题封装成开发平台,支撑业务系统
企业架构师:从具体项目中独立出来,更侧重于规划未来的技术战略

4、架构师的思维模式

宏观思维
抽象思维
实例化需求

5、如何成为顶级架构师?

5.1 能够将业务转换成技术

作为顶级架构师,必须具备超强的落地能力,能够将用户的业务需求落地到技术方案,帮助研发团队开发出用户愿意使用的产品和功能。通过对业务的理解,梳理业务流程,发掘用户痛点,然后落地到技术上,有针对性的指定技术方案。

5.2 能合理利用技术支撑业务

5.3 具备前瞻思维和战略思维

6、“5视图法”架构设计

怎样做高质量的架构设计呢?我们需要按照一定的章法,一步一步的进行,以避免遗漏关键内容。当面对复杂问题时,最有效的解决思路是“分而治之”,将复杂问题划分为多个相对独立的问题,分别进行考量,解决。在架构设计上同样的可以采用这种思路,即“5视图法”,将要设计的复杂系统从5个不同 的维度视图进行分析思考。

逻辑架构
数据架构
开发架构
运行架构
物理架构

你可能感兴趣的:(程序员)