训练营第一章笔记
架构师职责及能力
架构师主要职责
编写架构设计文档
开发编程框架
重构软件代码
设计系统架构
技术选型,解决技术应用遇到的问题
优化系统性能
模块分解与微服务架构重构
保障系统安全与高可用
大数据应用
技术创新
沟通管理
架构师主要能力
编程能力
基础技术掌握能力
常用技术产品的理解与应用能力
性能优化与分析故障的能力 (如何测试;如何度量)
建模以及设计文档的方法和能力
业务理解与功能模块及非功能模块拆解能力
快速学习能力
沟通与领导能力 (跨部门沟通:关注各方诉求、利益和职责划分。遇到分歧不要急躁,从诉求方多思考,力求做到完整统一)
如何成为架构师
1.在日常工作中担负起架构师的实际职责。(任何规模的团队都可以有“架构师”,人人都可以做架构师)
2.获得架构师的title,进行架构师的日常工作
内部晋升成为架构师(可能会受主观影响)
跳槽应聘成为架构师(相对内部晋升,路径更清晰可实施)
面试考察内容
经验:过往项目,关注什么问题,如何解决的
具体的技术技能:...
代码能力:手写代码
拾遗
设计的好坏在于是否适应场景和需求,不在于技术是否NB。多关注场景合理运用技术解决实际问题。
架构师要负责系统的成体设计,和实施过程中的具体协调和安排。
两种可用来描述系统的图形表达
什么是软件架构
软件整体结构 与 组件 的抽象描述,知道大型软件系统各方面的设计。
第一、“4+1” 架构视图
一个架构视图是对于从某一视角或某一点上看到的系统所做的简化描述,描述中涵盖了系统的某一特定方面,而省略了于此方面无关的实体。
逻辑视图(Logical View),设计的对象模型(使用面向对象的设计方法时)。
过程视图(Process View),捕捉设计的并发和同步特征。
物理视图(Physical View),描述了软件到硬件的映射,反映了分布式特性。
开发视图(Development View),描述了在开发环境中软件的静态组织结构。
+场景
第二、UML建模语言
通过建模验证方案是否可行,减少后期实施过程可能遇到的风险。在交流讨论过程中选择合适的视图,确认重点问题。最终设计文档中保留重点内容,避免太多细节。
静态图,描述关系。
用例图(Use Case Diagrams) 尽量专注,不要包含太多内容,可用多张图表达更多内容
类图(Class Diagrams)
组件图(Component Diagrams) 粒度:一个组件对应一个开发者的工作量
对象图(Object Diagrams)
部署图(Deployment Diagrams) 架构师的第一张图
包图(Package Diagrams)
动态图,描述变化和执行过程。
活动图(Activity Diagrams)
状态图(State Diagrams)
时序图(Sequence Diagrams)
协作图(Collaboration Diagrams)
拾遗
画图时要关注图画给谁看,表达的内容要是他关心的,让他能明白,非核心细节可以不画。
评论