写点什么

架构师训练营:第一周学习总结

用户头像
xs-geek
关注
发布于: 2020 年 09 月 20 日
架构师训练营:第一周学习总结

认知

架构师的主要职责

编写架构设计文档

开发编码框架

设计原则

重构软件代码

保持软件的简单,设计模式

设计系统架构

大型互联网系统案例

进行技术选型,解决技术应用中的问题

优化系统性能

如何判断系统性能?

如何进行优化?

模块分解与微服务架构重构

保障系统安全与高可用

大数据应用

技术创新

沟通管理

架构师的主要能力

编程能力

基础技术掌握能力

常用技术产品的理解与应用能力

性能优化与分析故障的能力

常用架构模式和框架的理解与应用能力

建模以及设计文档的方法和能力

业务理解与功能模块及非功能模块拆解能力

快速学习能力

沟通与领导能力

软件架构

有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。

关心的问题

架构师与全栈工程师的区别是什么?两者之间是否有联系?

架构师 -- 全才,注重广度,系统的方方面面,部署,沟通,安全,运维

全栈工程师 -- 高手,注重深度

架构师如何成长?哪些人适合做架构师?

  • 实践,面对各种问题,场景,抗事情

  • 有思路,做事情主动的人适合做架构师

技术广度和深度如何平衡?

先有深度,再建立广度,对某些东西有深度,再去了解其他的事情

面对陌生领域,或者复杂问题,如何突破自我,做到驾轻就熟?

找到适合自己的领域,先成为高手,再建立广度

好的方式沉淀领域知识,构建个人中台?

先有深度


落地

4+1 视图模型

软件架构 = {元素,形式,关系/约束}

单一视图无法完整表达架构,需要具备完整的视图集

逻辑视图 -- 开发组织划分,成本/进度评估

设计的对象模型

相关方:客户,用户,开发组织管理者

视角:系统的功能元素,以及他们接口,职责,交互

主要元素:系统,子系统,功能模块,子功能模块,接口


过程视图

捕捉设计的并发和同步特征

相关方:性能优化,开发相关人眼

视角:系统运行时线程,进程情况

主要元素:系统继承,线程以及处理队列

物理视图

描述软件到硬件的映射,反映了部署特性

相关者:系统继承商,系统运维人员

视角:系统逻辑组件到物理节点的物理部署和节点之间的物理网络配置

主要元素:物理节点以及节点的通信

开发视图 -- 指导开发组织设计和开发实现

开发环境中软件的静态组织结构

相关方:开发人员,测试人员

视角:系统如何开发实现

主要元素:描述系统的层,分区,包,框架,系统通用服务,业务通用服务,类和接口,系统平台和相关基础框架

场景视图

描述用例场景

相关者:用户,设计和开发人员

视角:概括了架构上最重要的场景及其非功能性需求,通过场景实现阐明架构的广度和众多架构元素运行的方式

软件建模语言

模型 -- 一个系统的完整抽象

领域问题

概念模型

系统需求

解决方案

建造软件模型目的

为了与他人沟通

为了保存软件设计的最终成果

前提:除非模型比代码更说明问题

发布于: 2020 年 09 月 20 日阅读数: 44
用户头像

xs-geek

关注

还未添加个人签名 2018.04.22 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营:第一周学习总结