1、何为软件架构?
软件架构,指从宏观角度阐明一套软件系统的组成和个性。架构设计与需要剖析,概要设计,具体设计最大的区别在于“宏观”二字。要去架构师必须具备大局观,从全局角度思考问题。
2、软件架构蕴含哪些内容?
逻辑架构:软件要为哪些用户提供什么样的性能,架构设计中的所有决策来源于需要。架构设计不能搞经验主义。
数据架构:软件逻辑中的数据结构。功能性需要的外围是数据,所有业务流程都是围绕数据进行的。
开发架构:就是软件代码的档次骨架。
运行架构:软件在运行过程中的所体现进去的非性能需要。包含高性能,高可用,可扩大,平安等。
物理架构:软件的物理部署以及网络拓扑。
3、架构师的职责
3.1 架构师介于需要与研发两头的人企业对架构师的要求:纪要技术好,也要懂业务一名合格的架构师就须要多思考,多学习,有丰盛的我的项目教训。
3.2 架构师是统领全局的将军
3.3 架构师要作为技术大牛攻克技术难题
架构师要有一种“不吃不喝也要解决问题”的狠劲,一种见山开山,遇河架桥的精力去攻克技术难题。
然而人的精力是无限的,攻克问题不能架构师一个人单打独斗,团队中架构师往往起到指引方向的作用。比方指定明确的技术方向,落实次要的设计思路等。
3.4 架构师作为策略规划师去布局将来策略领有弱小的战略眼光,能帮忙企业进行技术布局,指定将来的技术倒退方向。依据侧重点,架构师能够分为以下几种类型:
解决方案架构师: 偏重沟通客户,了解业务,为客户指定技术解决方案。
零碎架构师:能力更加平衡,负责从我的项目的需要剖析到技术落地的全流程
平台架构师:更侧重于技术,将技术难题封装成开发平台,撑持业务零碎
企业架构师:从具体我的项目中独立进去,更侧重于布局将来的技术策略
4、架构师的思维模式
宏观思维
抽象思维
实例化需要
5、如何成为顶级架构师?
5.1 可能将业务转换成技术
作为顶级架构师,必须具备超强的落地能力,可能将用户的业务需要落地到技术计划,帮忙研发团队开发出用户违心应用的产品和性能。通过对业务的了解,梳理业务流程,挖掘用户痛点,而后落地到技术上,有针对性的指定技术计划。
5.2 能正当利用技术撑持业务
5.3 具备前瞻思维和战略思维
6、“5 视图法”架构设计
怎么做高质量的架构设计呢?咱们须要依照肯定的章法,一步一步的进行,以防止脱漏要害内容。当面对简单问题时,最无效的解决思路是“分而治之”,将简单问题划分为多个绝对独立的问题,别离进行考量,解决。在架构设计上同样的能够采纳这种思路,即“5 视图法”,将要设计的简单零碎从 5 个不同 的维度视图进行剖析思考。
逻辑架构
数据架构
开发架构
运行架构
物理架构