架构师训练营第 1 期第 1 周学习总结
第1周 架构方法
· 架构师职责
o 编写架构文档
o 开发编程框架
o 重构代码
o 设计架构
o 技术选型与问题解决
o 性能优化
o 模块分解与架构重构
o 系统安全与高可用
o 大数据
o 技术创新
o 沟通管理
· 架构师能力
o 编程
o 基础技术
o 常用产品
o 性能优化与故障分析
o 常用架构模式与框架
o 建模与文档设计
o 业务理解与模块拆解
o 快速学习
o 沟通与领导
· 常用UML模型
o 用例图
需求分析阶段。包含执行者,用例,边界,用力可以自上而下逐层细化。
o 类图
既可在详细设计阶段,指导代码落地的详细类设计。也可在概要设计阶段设计的高阶类图。
o 状态图
需求分析、详细设计阶段,描述状态变迁
o 活动图
可在需求分析、概要设计、详细设计阶段广泛使用。描述处理流程,可替代流程图。泳道图可跨越多个领域描述活动图。
o 时序图
可在需求分析、概要设计、详细设计阶段广泛使用,可描述子系统、组件、对象等不同粒度的元素间交互。
o 组件图
概要设计阶段,即可表示编译目标的物理组件,也可表示模块级别的逻辑组件。
o 部署图
概要设计阶段,架构师设计的第一张图,描述组件在系统节点上的部署情况和交互关系。
· 架构的描述
o 每个系统都有一个架构
o 架构由架构元素和元素间关系来描述
o 架构文档由各种架构视图组成
o 架构文档体现了各个相关方的关注点
o 针对不同相关方可以有不同的架构文档,并包含不同层级的架构视图。
· 关于架构师的一些观点
· 1. 软件进步使得程序员不关注技术细节,当软件做大时,架构师需要把控这些技术细节和持续发展问题。
· 2. 架构师需要把关键技术原理和细节屏蔽起来,为程序员提供一个良好的工作环境,使其关注更少的事情,从而提高开发效率和质量。
· 3. 架构师是对系统架构负责的那个人,是一个角色,而不是一个职位。
· 4. 全栈工程师:一个人能够完成整个系统的代码,适合小系统开发,侧重能力的深度。架构师:能够让其他的工程师写好代码,让所有角色有效组织起来,侧重能力广度。
· 5. 架构师通过实践成长,架构工作要落地,参与了架构工作,自然就成为架构师,想成为架构师,做事情需要主动。
· 6. 先建立自己的深度,成为高手,再建立广度。当切换新的领域时,能够快速抓住关键点,驾轻就熟。
· 7. 架构方法、架构模式、关键知识点可以训练,但架构一定要实践,关注场景。
· 8. 通过例子,总结模式。通过模式,构建知识体系。
· 4+1视图
· 1. 单一视图无法完整表达架构和覆盖所有相关方关注点,因此需要完整视图集。
· 2. 开发一个系统是解决一个领域问题,解决过程就是从领域到系统的映射。模型是对系统的抽象,对领域问题的解决方案都蕴含在模型中。
· 3. 建造模型的目的:便于沟通;保存设计成果。
o 逻辑视图
描述系统的功能元素,及相关的接口,职责,交互。
o 过程视图
进程线程处理情况:针对性能优化和开发人员
o 物理视图
描述系统逻辑组件到物理节点的部署关系:物理节点、节点通信。
o 开发视图
描述系统如何开发:框架、包、类、接口
o 场景视图
概括架构最重要场景
· 架构设计文档
· 没有设计文档,就没有软件设计
·
评论